Browse Source
Using CLDR script from @mlocati Closes #487 Added russian locale from Transifexmaster
Igor Zhukov
10 years ago
6 changed files with 805 additions and 83 deletions
@ -0,0 +1,556 @@
@@ -0,0 +1,556 @@
|
||||
{ |
||||
"modal_search": "Найти", |
||||
"modal_cancel": "Отменить", |
||||
"modal_next": "Далее", |
||||
"modal_ok": "OK", |
||||
"modal_done": "Готово", |
||||
"group_modal_info": "Информация о группе", |
||||
"group_modal_pluralize_participants": "{'0': 'Нет участников', 'один': '1 участник', 'остальные': '{} участников'}", |
||||
"group_modal_add_member": "Добавить участника", |
||||
"group_modal_return": "Вернуться в группу", |
||||
"group_modal_update_photo": "Обновить фото", |
||||
"group_modal_update_active": "Обновление", |
||||
"group_modal_menu_more": "Ещё", |
||||
"group_modal_menu_delete_photo": "Удалить фото", |
||||
"group_modal_menu_edit_group": "Редактировать группу", |
||||
"group_modal_menu_leave_group": "Покинуть группу", |
||||
"group_modal_menu_delete_chat": "Удалить чат", |
||||
"group_modal_settings": "Настройки", |
||||
"group_modal_notifications": "Уведомления", |
||||
"group_modal_members": "Участники", |
||||
"group_modal_members_kick": "Исключить", |
||||
"group_modal_members_unavailable": "Список участников группы недоступен.", |
||||
"country_select_modal_title": "Страна", |
||||
"settings_modal_title": "Настройки", |
||||
"settings_modal_menu_more": "Ещё", |
||||
"settings_modal_delete_photo": "Удалить фото профиля", |
||||
"settings_modal_set_photo": "Установить фото профиля", |
||||
"settings_modal_photo_updating": "Обновление", |
||||
"settings_modal_edit_profile": "Редактировать профиль", |
||||
"settings_modal_terminate_sessions": "Завершить все другие сеансы", |
||||
"settings_modal_settings": "Настройки", |
||||
"settings_modal_notification_alert": "Сигналы уведомлений", |
||||
"settings_modal_vibrate": "Вибросигнал", |
||||
"settings_modal_sounds": "Звук", |
||||
"settings_modal_language": "Язык", |
||||
"settings_modal_notifications": "Уведомления на рабочем столе", |
||||
"settings_modal_sound": "Звуковые уведомления", |
||||
"settings_modal_enter_send_description_md": "**Enter** — отправить, **Shift + Enter** — перенос строки", |
||||
"settings_modal_ctrl_enter_send_description_md": "**Ctrl + Enter** — отправить, **Enter** — перенос строки", |
||||
"settings_modal_send_on_enter": "Отправлять по нажатию Enter", |
||||
"settings_modal_phone": "Телефон", |
||||
"settings_modal_about": "О программе", |
||||
"settings_modal_source_code_github": "Исходный код на GitHub", |
||||
"settings_modal_follow_us_twitter": "Подписаться на нас в Twitter!", |
||||
"settings_modal_recent_updates": "Последние обновления (ver. {version})", |
||||
"profile_edit_modal_title": "Редактировать профиль", |
||||
"profile_edit_first_name": "Имя", |
||||
"profile_edit_last_name": "Фамилия", |
||||
"profile_edit_submit": "Сохранить", |
||||
"profile_edit_submit_active": "Сохранение...", |
||||
"user_modal_menu_more": "Ещё", |
||||
"user_modal_send_message": "Отправить сообщение", |
||||
"user_modal_edit_contact": "Редактировать контакт", |
||||
"user_modal_delete_contact": "Удалить контакт", |
||||
"user_modal_add_contact": "Добавить в контакты", |
||||
"user_modal_share_contact": "Поделиться контактом", |
||||
"user_modal_delete_chat": "Удалить чат", |
||||
"user_modal_phone": "Телефон", |
||||
"user_modal_settings": "Настройки", |
||||
"user_modal_notifications": "Уведомления", |
||||
"user_modal_contact_info": "Информация о контакте", |
||||
"media_modal_forward": "Переслать", |
||||
"media_modal_download": "Загрузить", |
||||
"media_modal_delete": "Удалить", |
||||
"error_browser_no_local_file_system_image_md": "Ваш браузер не поддерживает технологию {moz-link: https://developer.mozilla.org/en-US/docs/Web/API/LocalFileSystem | File System API}, которая необходима для отображения этого изображения.\nПожалуйста, установите {chrome-link: http://google.com/chrome | Google Chrome} или воспользуйтесь {telegram-link: https://telegram.org/ | мобильным приложением}.", |
||||
"error_image_download_failed": "Сбой загрузки", |
||||
"error_browser_no_local_file_system_video_md": "Ваш браузер не поддерживает технологию {moz-link: https://developer.mozilla.org/en-US/docs/Web/API/LocalFileSystem | File System API}, которая необходима для воспроизведения этого видео.\nПожалуйста, установите {chrome-link: http://google.com/chrome | Google Chrome} или воспользуйтесь {telegram-link: https://telegram.org/ | мобильным приложением}.", |
||||
"error_video_download_failed": "Сбой загрузки видео", |
||||
"user_name_deleted": "УДАЛЕНО", |
||||
"user_first_name_deleted": "УДАЛЕНО", |
||||
"user_status_offline": "не в сети", |
||||
"user_status_online": "в сети", |
||||
"user_status_last_seen": "был(а) в сети {0}", |
||||
"chat_title_deleted": "УДАЛЕНО", |
||||
"format_size_progress_mulitple": "{done} из {total} {parts}", |
||||
"format_size_progress": "{done} из {total}", |
||||
"relative_time_one_minute": "{minutes} минуту назад", |
||||
"relative_time_many_minutes": "{minutes} минут(ы) назад", |
||||
"relative_time_one_hour": "{hours} час назад", |
||||
"relative_time_many_hours": "{hours} часа(-ов) назад", |
||||
"relative_time_just_now": "только что", |
||||
"changelog_modal_header_recent_updates_md": "Последние обновления в **Telegram Web**", |
||||
"changelog_modal_header_new_updates_md": "**Telegram Web** обновился!", |
||||
"changelog_modal_title_current_version": "текущая версия", |
||||
"group_create_contacts_modal_title": "Новая группа", |
||||
"group_create_modal_title": "Создать группу", |
||||
"group_create_name": "Название группы", |
||||
"group_create_submit": "Создать группу", |
||||
"group_create_submit_active": "Создание...", |
||||
"group_edit_modal_title": "Редактировать группу", |
||||
"group_edit_name": "Название группы", |
||||
"group_edit_submit": "Сохранить", |
||||
"group_edit_submit_active": "Сохранение...", |
||||
"confirm_modal_logout": "Вы действительно хотите выйти?", |
||||
"confirm_modal_update_reload": "Загружена новая версия Webogram. Запустить?", |
||||
"confirm_modal_history_flush": "Вы уверены? Это действие не может быть отменено!", |
||||
"confirm_modal_terminate_sessions": "Вы уверены, что хотите завершить все сеансы, кроме этого?", |
||||
"confirm_modal_mixed_content_fail_http_redirect_md": "Ваш браузер {moz-link: не поддерживает} смешанный контент, поэтому MTProto не сможет работать через https. {issue-link: Подробнее}\n\nИспользовать http-версию?", |
||||
"confirm_modal_clipboard_file_send": "Отправить файл(ы) из буфера обмена?", |
||||
"confirm_modal_clipboard_X_files_send": "{'one': 'Отправить файл из буфера обмена?', 'other': 'Отправить {} файлов из буфера обмена?'}", |
||||
"confirm_modal_message_delete": "Удалить это сообщение?", |
||||
"confirm_modal_contacts_import": "Теперь Telegram синхронизирует ваши контакты, чтобы найти ваших друзей.", |
||||
"confirm_modal_login_phone_correct": "Проверьте ещё раз ваш номер:", |
||||
"confirm_modal_forward_to_peer": "Переслать пользователю {peer}?", |
||||
"confirm_modal_send_to_peer": "Отправить пользователю {peer}?", |
||||
"confirm_modal_share_file_peer": "Поделиться с {peer}?", |
||||
"confirm_modal_apply_lang_with_reload_md": "Языковые настройки сохранены.\nПерезагрузить приложение сейчас?", |
||||
"confirm_modal_are_u_sure": "Вы уверены?", |
||||
"confirm_modal_logout_submit": "Выйти", |
||||
"confirm_modal_history_flush_submit": "Удалить чат", |
||||
"confirm_modal_clipboard_files_send_submit": "Отправить", |
||||
"confirm_modal_clipboard_file_send_submit": "Отправить", |
||||
"confirm_modal_message_delete_submit": "Удалить", |
||||
"confirm_modal_forward_message_submit": "Переслать сообщение", |
||||
"confirm_modal_share_photo_submit": "Переслать фотографию", |
||||
"confirm_modal_share_video_submit": "Переслать видео", |
||||
"confirm_modal_share_contact_submit": "Отправить контакт", |
||||
"confirm_modal_share_file_submit": "Поделиться файлом", |
||||
"contacts_modal_edit_list": "Редактировать", |
||||
"contacts_modal_edit_cancel": "Отмена", |
||||
"contacts_modal_edit_delete": "Удалить", |
||||
"contacts_modal_pluralize_new_group_members": "{'one': '1 участник', 'other': '{} участников'}", |
||||
"contacts_modal_title": "Контакты", |
||||
"contacts_modal_new_contact": "Новый контакт", |
||||
"contacts_modal_empty_list": "У вас нет ни одного контакта. Вы можете {import-link: добавить новый контакт} по номеру телефона.", |
||||
"contact_edit_modal_first_name": "Имя", |
||||
"contact_edit_modal_last_name": "Фамилия", |
||||
"contact_edit_modal_title": "Изменить контакт", |
||||
"contact_edit_modal_submit": "Сохранить", |
||||
"contact_edit_modal_submit_active": "Сохранение...", |
||||
"contact_import_modal_title": "Добавить новый контакт", |
||||
"contact_import_modal_phone": "Номер телефона", |
||||
"contact_import_modal_phonebook": "Телефонная книга", |
||||
"contact_import_modal_submit": "Сохранить", |
||||
"contact_import_modal_submit_active": "Импорт...", |
||||
"conversation_message_deleted": "удалённое сообщение", |
||||
"conversation_you": "Вы", |
||||
"conversation_media_photo": "Фотография", |
||||
"conversation_media_video": "Видео", |
||||
"conversation_media_document": "Документ", |
||||
"conversation_media_audio": "Аудио", |
||||
"conversation_media_location": "Местоположение", |
||||
"conversation_media_contact": "Контакт", |
||||
"conversation_media_attachment": "Прикрепление", |
||||
"conversation_group_created": "создал(а) группу", |
||||
"conversation_group_renamed": "изменил(а) название группы", |
||||
"conversation_group_photo_updated": "изменил(а) фото группы", |
||||
"conversation_group_photo_removed": "удалил(а) фото группы", |
||||
"conversation_returned_to_group": "вернулся(-лась) в группу", |
||||
"conversation_invited_user": "пригласил(а) {user}", |
||||
"conversation_left_group": "покинул(а) группу", |
||||
"conversation_kicked_user": "исключил(а) {user}", |
||||
"conversation_invited_user_message": "приглашённый пользователь", |
||||
"conversation_kicked_user_message": "исключённый пользователь", |
||||
"conversation_unknown_user": "Кто-то", |
||||
"conversation_unknown_chat": "Неизвестный чат", |
||||
"message_service_created_group": "создал(а) группу {group_name}", |
||||
"message_service_changed_group_name": "изменил(а) название группы на {group_name}", |
||||
"message_service_changed_group_photo": "изменил(а) фото группы", |
||||
"message_service_removed_group_photo": "удалил(а) фото группы", |
||||
"message_service_invited_user": "пригласил(а) {user}", |
||||
"message_service_returned_to_group": "вернулся(-лась) в группу", |
||||
"message_service_kicked_user": "исключил(а) {user}", |
||||
"message_service_left_group": "покинул(а) группу", |
||||
"message_service_unsupported_action": "Неподдерживаемое действие: {action}", |
||||
"error_modal_bad_request_title": "Ошибка", |
||||
"error_modal_unauthorized_title": "Необходима авторизация", |
||||
"error_modal_forbidden_title": "Доступ запрещён", |
||||
"error_modal_not_found_title": "Не найдено", |
||||
"error_modal_network_title": "Ошибка сети", |
||||
"error_modal_flood_title": "Слишком быстро", |
||||
"error_modal_internal_title": "Ошибка сервера", |
||||
"error_modal_alert": "Уведомление", |
||||
"error_modal_network_description": "Пожалуйста, проверьте своё подключение к интернету.", |
||||
"error_modal_firstname_invali_description": "Введено некорректное имя.", |
||||
"error_modal_lastname_invalid_description": "Введена некорректная фамилия.", |
||||
"error_modal_phone_invalid_description": "Введен некорректный номер.", |
||||
"error_modal_users_too_much_description": "Вы выбрали слишком много пользователей.", |
||||
"error_modal_photo_dimensions_invalid_description": "Пропорции фото некорректы, пожалуйста, выберите другое фото.", |
||||
"error_modal_video_file_invalid_description": "Этот формат видео некорректен или не поддерживается, пожалуйста, выберите другое видео.", |
||||
"error_modal_photo_too_small_description": "Выбранное фото слишком маленькое.", |
||||
"error_modal_no_phone_user_description_md": "К сожалению, к вашему телефону не привязан аккаунт **Telegram**.", |
||||
"error_modal_no_phone_users_description_md": "К сожалению, ни к одному из введённых номеров не привязан аккаунт **Telegram**.", |
||||
"error_modal_phonebook_required_description": "Telegram должен иметь доступ к вашей телефонной книге, чтобы импортировать контакты.", |
||||
"error_modal_bad_request_description": "Один из параметров отсутствует или некорректен.", |
||||
"error_modal_unauthorized_description": "Для этого действия необходима авторизация. Пожалуйста, {login-link: войдите}.", |
||||
"error_modal_forbidden_description": "Вам запрещено это действие.", |
||||
"error_modal_not_found_description": "Страница не найдена.", |
||||
"error_modal_flood_description": "Вы выполняете слишком много действий. Попробуйте повторить позже.", |
||||
"error_modal_internal_description": "Внутренняя ошибка сервера. Попробуйте повторить позже.", |
||||
"error_modal_tech_details": "Технические подробности:", |
||||
"head_new_group": "Новая группа", |
||||
"head_new_contact": "Новый контакт", |
||||
"head_contacts": "Контакты", |
||||
"head_contacts_title": "Контакты", |
||||
"head_settings": "Настройки", |
||||
"head_log_out": "Выйти", |
||||
"head_edit_messages": "Редактировать сообщения", |
||||
"head_media_photos": "Фото", |
||||
"head_media_video": "Видео", |
||||
"head_media_documents": "Документы", |
||||
"head_media_audio": "Голосовые сообщения", |
||||
"head_about": "О приложении", |
||||
"head_clear_all": "Очистить всё", |
||||
"head_edit": "Редактировать", |
||||
"head_typing": "печатает", |
||||
"head_pluralize_participants": "{'0': 'Никого нет', 'one': '1 участник', 'other': '{} участников'}", |
||||
"head_one_typing": "{name1} печатает{dots}", |
||||
"head_two_typing": "{name1}, {name2}{dots}", |
||||
"head_many_typing": "{name1}+{names}{dots}", |
||||
"head_waiting_for_network": "Ожидание сети", |
||||
"head_retry": "Ещё раз", |
||||
"head_connecting": "Подключение", |
||||
"im_new_group": "Новая группа", |
||||
"im_new_contact": "Новый контакт", |
||||
"im_contacts": "Контакты", |
||||
"im_contacts_title": "Контакты", |
||||
"im_settings": "Настройки", |
||||
"im_conversations": "Диалоги", |
||||
"im_messages": "Сообщения", |
||||
"im_no_contacts": "Нет контактов", |
||||
"im_get_started_long": "Добавьте контакт для общения", |
||||
"im_add_contact": "Добавить контакт", |
||||
"im_import_phonebook": "Импорт из телефонной книги", |
||||
"im_get_started": "Начало работы", |
||||
"im_welcome_text": "Добро пожаловать в Telegram Web. Вы можете поменять аватар и имя в настройках.", |
||||
"im_open_settings": "Открыть настройки", |
||||
"im_select_a_chat": "Выберите чат для начала общения", |
||||
"im_loading_history": "Загрузка истории", |
||||
"im_info": "Информация", |
||||
"im_edit": "Редактировать", |
||||
"im_media": "Медиа", |
||||
"im_media_photos": "Фото", |
||||
"im_media_video": "Видео", |
||||
"im_media_documents": "Документы", |
||||
"im_media_audio": "Голосовые сообщения", |
||||
"im_pluralize_participants": "{'0': 'Нет участников', 'one': '1 участник', 'other': '{} участников'}", |
||||
"im_show_recent_messages": "Показать последние сообщения", |
||||
"im_show_all_messages": "Показать все сообщения", |
||||
"im_no_messages": "Нет сообщений", |
||||
"im_one_typing": "{name1} печатает{dots}", |
||||
"im_two_typing": "{name1} и {name2} печатают{dots}", |
||||
"im_many_typing": "{name1}, {name2} и ещё {count} печатают{dots}", |
||||
"im_delete_chat": "Удалить чат", |
||||
"im_clear_history": "Очистить историю", |
||||
"im_delete": "Удалить {count}", |
||||
"im_forward": "Переслать {count}", |
||||
"im_photos_drop_text": "Перетащите фото сюда для отправки", |
||||
"im_message_field_placeholder": "Напишите сообщение...", |
||||
"im_media_attach_title": "Отправить медиа", |
||||
"im_attach_file_title": "Отправить файл", |
||||
"im_emoji_btn_title": "Вставить смайл", |
||||
"im_submit_message": "Отправить", |
||||
"login_sign_in": "Войти", |
||||
"login_enter_number_description": "Выберите вашу страну из списка и введите номер телефона:", |
||||
"login_incorrect_number": "Некорректный номер", |
||||
"login_tel_input_placeholder": "Введите ваш номер телефона", |
||||
"login_generating_key": "Генерация ключей", |
||||
"login_generating_keys_info": "Ключи генерируются всего один раз. Этот процесс может занять несколько минут, особенно на медленных устройствах, пожалуйста, потерпите.", |
||||
"login_edit_number": "Редактировать номер телефона", |
||||
"login_enter_code_label_md": "Введите код, который вы только что получили в другом приложении **Telegram**", |
||||
"login_code_not_received": "Не пришёл код?", |
||||
"login_enter_sms_code_label_md": "Мы отправили вам код по SMS.\nВведите его ниже.", |
||||
"login_call_remaining": "Telegram позвонит вам через {remaining}", |
||||
"login_calling": "Telegram звонит вам", |
||||
"login_number_dialed": "Telegram набрал ваш номер", |
||||
"login_incorrect_sms_code": "Неверный код", |
||||
"login_number_input_placeholder": "Введите ваш код", |
||||
"login_checking_code": "Проверка кода", |
||||
"login_your_info": "Информация о вас", |
||||
"login_fulll_name_label": "Введите свое имя для начала работы с Telegram.", |
||||
"login_incorrect_first_name": "Некорректное имя", |
||||
"login_first_name": "Имя", |
||||
"login_incorrect_last_name": "Некорректная фамилия", |
||||
"login_last_name": "Фамилия", |
||||
"login_signing_up": "Регистрация", |
||||
"login_sign_up": "Зарегистрироваться", |
||||
"login_controller_unknown_country": "Неизвестно", |
||||
"message_forwarded_message": "Пересланное сообщение", |
||||
"message_attach_audio_message": "Голосовое сообщение", |
||||
"message_attach_audio_play": "Воспроизвести", |
||||
"message_attach_document_open": "Открыть", |
||||
"message_attach_document_download": "Скачать", |
||||
"message_attach_video_video": "Видео", |
||||
"message_attach_video_download": "Скачать", |
||||
"message_attach_video_play": "Воспроизвести видео", |
||||
"conversation_select_modal_title": "Выбрать чат", |
||||
"conversation_select_modal_contacts": "Контакты", |
||||
"phonebook_modal_title": "Телефонная книга", |
||||
"phonebook_modal_deselect_all": "Отменить выбор", |
||||
"phonebook_modal_select_all": "Выбрать всё", |
||||
"phonebook_modal_empty": "Ваша телефонная книга пуста.", |
||||
"phonebook_modal_submit_active": "Импорт", |
||||
"phonebook_modal_submit": "Импортировать контакты", |
||||
"welcome_header_md": "**Telegram** Web", |
||||
"welcome_text_1_md": "Это — неофициальный веб-клиент **Telegram**.", |
||||
"welcome_text_2_md": "Он всё еще в разработке, поэтому не на 200 % надёжен", |
||||
"welcome_start_messaging": "Начать общение", |
||||
"welcome_fast_messaging_header": "Быстрый", |
||||
"welcome_fast_messaging_text": "Отправляйте сообщения с поддержкой смайлов прямо с вашего компьютера или ноутбука", |
||||
"welcome_easy_sharing_header": "Делитесь файлами", |
||||
"welcome_easy_sharing_text": "Отправляйте любые файлы без ограничений", |
||||
"welcome_powerful_tools_header": "Мощные инструменты", |
||||
"welcome_powerful_tools_text_md": "Превью фотографий и анимаций в окне чата, \nподдержка YouTube и многое другое", |
||||
"country_select_modal_country_ab": "Абхазия", |
||||
"country_select_modal_country_af": "Афганистан", |
||||
"country_select_modal_country_ax": "Аландские о-ва", |
||||
"country_select_modal_country_al": "Албания", |
||||
"country_select_modal_country_dz": "Алжир", |
||||
"country_select_modal_country_as": "Американское Самоа", |
||||
"country_select_modal_country_ad": "Андорра", |
||||
"country_select_modal_country_ao": "Ангола", |
||||
"country_select_modal_country_ai": "Ангилья", |
||||
"country_select_modal_country_ag": "Антигуа и Барбуда", |
||||
"country_select_modal_country_ar": "Аргентина", |
||||
"country_select_modal_country_am": "Армения", |
||||
"country_select_modal_country_aw": "Аруба", |
||||
"country_select_modal_country_sh_ac": "Остров Вознесения", |
||||
"country_select_modal_country_au": "Австралия", |
||||
"country_select_modal_country_au_et": "Австралийские Антарктические Территории", |
||||
"country_select_modal_country_at": "Австрия", |
||||
"country_select_modal_country_az": "Азербайджан", |
||||
"country_select_modal_country_bs": "Багамские о-ва", |
||||
"country_select_modal_country_bh": "Бахрейн", |
||||
"country_select_modal_country_bd": "Бангладеш", |
||||
"country_select_modal_country_bb": "Барбадос", |
||||
"country_select_modal_country_ag_bar": "Барбуда", |
||||
"country_select_modal_country_by": "Беларусь", |
||||
"country_select_modal_country_be": "Бельгия", |
||||
"country_select_modal_country_bz": "Белиз", |
||||
"country_select_modal_country_bj": "Бенин", |
||||
"country_select_modal_country_bm": "Бермудские о-ва", |
||||
"country_select_modal_country_bt": "Бутан", |
||||
"country_select_modal_country_bo": "Боливия", |
||||
"country_select_modal_country_bq": "Бонэйр, Синт-Эстатиус и Саба", |
||||
"country_select_modal_country_ba": "Босния и Герцеговина", |
||||
"country_select_modal_country_bw": "Ботсвана", |
||||
"country_select_modal_country_br": "Бразилия", |
||||
"country_select_modal_country_io": "Британская территория в Индийском океане", |
||||
"country_select_modal_country_vg": "Виргинские о-ва (Британские)", |
||||
"country_select_modal_country_bn": "Бруней-Даруссалам", |
||||
"country_select_modal_country_bg": "Болгария", |
||||
"country_select_modal_country_bf": "Буркина-Фасо", |
||||
"country_select_modal_country_mm": "Мьянма (Бирма)", |
||||
"country_select_modal_country_bi": "Бурунди", |
||||
"country_select_modal_country_kh": "Камбоджа", |
||||
"country_select_modal_country_cm": "Камерун", |
||||
"country_select_modal_country_ca": "Канада", |
||||
"country_select_modal_country_cv": "Кабо-Верде", |
||||
"country_select_modal_country_ky": "Каймановы о-ва", |
||||
"country_select_modal_country_cf": "ЦАР", |
||||
"country_select_modal_country_td": "Чад", |
||||
"country_select_modal_country_cl": "Чили", |
||||
"country_select_modal_country_cn": "Китай", |
||||
"country_select_modal_country_cx": "о-в Рождества", |
||||
"country_select_modal_country_cc": "Кокосовые о-ва", |
||||
"country_select_modal_country_co": "Колумбия", |
||||
"country_select_modal_country_km": "Коморские о-ва", |
||||
"country_select_modal_country_cg": "Конго - Браззавиль", |
||||
"country_select_modal_country_cd": "Конго - Киншаса", |
||||
"country_select_modal_country_ck": "о-ва Кука", |
||||
"country_select_modal_country_cr": "Коста-Рика", |
||||
"country_select_modal_country_ci": "Кот-д’Ивуар", |
||||
"country_select_modal_country_hr": "Хорватия", |
||||
"country_select_modal_country_cu": "Куба", |
||||
"country_select_modal_country_cw": "Кюрасао", |
||||
"country_select_modal_country_cy": "Кипр", |
||||
"country_select_modal_country_cz": "Чехия", |
||||
"country_select_modal_country_dk": "Дания", |
||||
"country_select_modal_country_dg": "Диего-Гарсия", |
||||
"country_select_modal_country_dj": "Джибути", |
||||
"country_select_modal_country_dm": "Доминика", |
||||
"country_select_modal_country_do": "Доминиканская Республика", |
||||
"country_select_modal_country_tl": "Восточный Тимор", |
||||
"country_select_modal_country_ec": "Эквадор", |
||||
"country_select_modal_country_eg": "Египет", |
||||
"country_select_modal_country_sv": "Сальвадор", |
||||
"country_select_modal_country_gq": "Экваториальная Гвинея", |
||||
"country_select_modal_country_er": "Эритрея", |
||||
"country_select_modal_country_ee": "Эстония", |
||||
"country_select_modal_country_et": "Эфиопия", |
||||
"country_select_modal_country_fk": "Фолклендские о-ва", |
||||
"country_select_modal_country_fo": "Фарерские о-ва", |
||||
"country_select_modal_country_fj": "Фиджи", |
||||
"country_select_modal_country_fi": "Финляндия", |
||||
"country_select_modal_country_fr": "Франция", |
||||
"country_select_modal_country_gf": "Французская Гвиана", |
||||
"country_select_modal_country_pf": "Французская Полинезия", |
||||
"country_select_modal_country_ga": "Габон", |
||||
"country_select_modal_country_gm": "Гамбия", |
||||
"country_select_modal_country_ge": "Грузия", |
||||
"country_select_modal_country_de": "Германия", |
||||
"country_select_modal_country_gh": "Гана", |
||||
"country_select_modal_country_gi": "Гибралтар", |
||||
"country_select_modal_country_gr": "Греция", |
||||
"country_select_modal_country_gl": "Гренландия", |
||||
"country_select_modal_country_gd": "Гренада", |
||||
"country_select_modal_country_gp": "Гваделупа", |
||||
"country_select_modal_country_gu": "Гуам", |
||||
"country_select_modal_country_gt": "Гватемала", |
||||
"country_select_modal_country_gg": "Гернси", |
||||
"country_select_modal_country_gn": "Гвинея", |
||||
"country_select_modal_country_gw": "Гвинея-Бисау", |
||||
"country_select_modal_country_gy": "Гайана", |
||||
"country_select_modal_country_ht": "Гаити", |
||||
"country_select_modal_country_hn": "Гондурас", |
||||
"country_select_modal_country_hk": "Гонконг (особый район)", |
||||
"country_select_modal_country_hu": "Венгрия", |
||||
"country_select_modal_country_is": "Исландия", |
||||
"country_select_modal_country_in": "Индия", |
||||
"country_select_modal_country_id": "Индонезия", |
||||
"country_select_modal_country_ir": "Иран", |
||||
"country_select_modal_country_iq": "Ирак", |
||||
"country_select_modal_country_ie": "Ирландия", |
||||
"country_select_modal_country_il": "Израиль", |
||||
"country_select_modal_country_it": "Италия", |
||||
"country_select_modal_country_jm": "Ямайка", |
||||
"country_select_modal_country_sj": "Шпицберген и Ян-Майен", |
||||
"country_select_modal_country_jp": "Япония", |
||||
"country_select_modal_country_je": "Джерси", |
||||
"country_select_modal_country_jo": "Иордания", |
||||
"country_select_modal_country_kz": "Казахстан", |
||||
"country_select_modal_country_ke": "Кения", |
||||
"country_select_modal_country_ki": "Кирибати", |
||||
"country_select_modal_country_kp": "КНДР", |
||||
"country_select_modal_country_kr": "Республика Корея", |
||||
"country_select_modal_country_kw": "Кувейт", |
||||
"country_select_modal_country_kg": "Киргизия", |
||||
"country_select_modal_country_la": "Лаос", |
||||
"country_select_modal_country_lv": "Латвия", |
||||
"country_select_modal_country_lb": "Ливан", |
||||
"country_select_modal_country_ls": "Лесото", |
||||
"country_select_modal_country_lr": "Либерия", |
||||
"country_select_modal_country_ly": "Ливия", |
||||
"country_select_modal_country_li": "Лихтенштейн", |
||||
"country_select_modal_country_lt": "Литва", |
||||
"country_select_modal_country_lu": "Люксембург", |
||||
"country_select_modal_country_mo": "Макао (особый район)", |
||||
"country_select_modal_country_mk": "Македония", |
||||
"country_select_modal_country_mg": "Мадагаскар", |
||||
"country_select_modal_country_mw": "Малави", |
||||
"country_select_modal_country_my": "Малайзия", |
||||
"country_select_modal_country_mv": "Мальдивские о-ва", |
||||
"country_select_modal_country_ml": "Мали", |
||||
"country_select_modal_country_mt": "Мальта", |
||||
"country_select_modal_country_mh": "Маршалловы о-ва", |
||||
"country_select_modal_country_mq": "Мартиника", |
||||
"country_select_modal_country_mr": "Мавритания", |
||||
"country_select_modal_country_mu": "Маврикий", |
||||
"country_select_modal_country_yt": "Майотта", |
||||
"country_select_modal_country_mx": "Мексика", |
||||
"country_select_modal_country_fm": "Федеративные Штаты Микронезии", |
||||
"country_select_modal_country_md": "Молдова", |
||||
"country_select_modal_country_mc": "Монако", |
||||
"country_select_modal_country_mn": "Монголия", |
||||
"country_select_modal_country_me": "Черногория", |
||||
"country_select_modal_country_ms": "Монтсеррат", |
||||
"country_select_modal_country_ma": "Марокко", |
||||
"country_select_modal_country_mz": "Мозамбик", |
||||
"country_select_modal_country_na": "Намибия", |
||||
"country_select_modal_country_nr": "Науру", |
||||
"country_select_modal_country_np": "Непал", |
||||
"country_select_modal_country_nl": "Нидерланды", |
||||
"country_select_modal_country_nc": "Новая Каледония", |
||||
"country_select_modal_country_nz": "Новая Зеландия", |
||||
"country_select_modal_country_ni": "Никарагуа", |
||||
"country_select_modal_country_ne": "Нигер", |
||||
"country_select_modal_country_ng": "Нигерия", |
||||
"country_select_modal_country_nu": "Ниуэ", |
||||
"country_select_modal_country_nf": "о-в Норфолк", |
||||
"country_select_modal_country_mp": "Северные Марианские о-ва", |
||||
"country_select_modal_country_no": "Норвегия", |
||||
"country_select_modal_country_om": "Оман", |
||||
"country_select_modal_country_pk": "Пакистан", |
||||
"country_select_modal_country_pw": "Палау", |
||||
"country_select_modal_country_ps": "Палестинские территории", |
||||
"country_select_modal_country_pa": "Панама", |
||||
"country_select_modal_country_pg": "Папуа – Новая Гвинея", |
||||
"country_select_modal_country_py": "Парагвай", |
||||
"country_select_modal_country_pe": "Перу", |
||||
"country_select_modal_country_ph": "Филиппины", |
||||
"country_select_modal_country_pn": "Питкэрн", |
||||
"country_select_modal_country_pl": "Польша", |
||||
"country_select_modal_country_pt": "Португалия", |
||||
"country_select_modal_country_pr": "Пуэрто-Рико", |
||||
"country_select_modal_country_qa": "Катар", |
||||
"country_select_modal_country_re": "Реюньон", |
||||
"country_select_modal_country_ro": "Румыния", |
||||
"country_select_modal_country_ru": "Россия", |
||||
"country_select_modal_country_rw": "Руанда", |
||||
"country_select_modal_country_bl": "Сен-Бартельми", |
||||
"country_select_modal_country_sh": "О-в Св. Елены", |
||||
"country_select_modal_country_kn": "Сент-Китс и Невис", |
||||
"country_select_modal_country_lc": "Сент-Люсия", |
||||
"country_select_modal_country_mf": "Сен-Мартен", |
||||
"country_select_modal_country_pm": "Сен-Пьер и Микелон", |
||||
"country_select_modal_country_vc": "Сент-Винсент и Гренадины", |
||||
"country_select_modal_country_ws": "Самоа", |
||||
"country_select_modal_country_sm": "Сан-Марино", |
||||
"country_select_modal_country_st": "Сан-Томе и Принсипи", |
||||
"country_select_modal_country_sa": "Саудовская Аравия", |
||||
"country_select_modal_country_sn": "Сенегал", |
||||
"country_select_modal_country_rs": "Сербия", |
||||
"country_select_modal_country_sc": "Сейшельские о-ва", |
||||
"country_select_modal_country_sl": "Сьерра-Леоне", |
||||
"country_select_modal_country_sg": "Сингапур", |
||||
"country_select_modal_country_nl_bq3": "Синт-Эстатиус", |
||||
"country_select_modal_country_sx": "Синт-Мартен", |
||||
"country_select_modal_country_sk": "Словакия", |
||||
"country_select_modal_country_si": "Словения", |
||||
"country_select_modal_country_sb": "Соломоновы о-ва", |
||||
"country_select_modal_country_so": "Сомали", |
||||
"country_select_modal_country_za": "ЮАР", |
||||
"country_select_modal_country_gs": "Южная Георгия и Южные Сандвичевы о-ва", |
||||
"country_select_modal_country_ge_so": "Южная Осетия", |
||||
"country_select_modal_country_ss": "Южный Судан", |
||||
"country_select_modal_country_es": "Испания", |
||||
"country_select_modal_country_lk": "Шри-Ланка", |
||||
"country_select_modal_country_sd": "Судан", |
||||
"country_select_modal_country_sr": "Суринам", |
||||
"country_select_modal_country_sj_no": "Шпицберген", |
||||
"country_select_modal_country_sz": "Свазиленд", |
||||
"country_select_modal_country_se": "Швеция", |
||||
"country_select_modal_country_ch": "Швейцария", |
||||
"country_select_modal_country_sy": "Сирия", |
||||
"country_select_modal_country_tw": "Тайвань", |
||||
"country_select_modal_country_tj": "Таджикистан", |
||||
"country_select_modal_country_tz": "Танзания", |
||||
"country_select_modal_country_th": "Таиланд", |
||||
"country_select_modal_country_tg": "Того", |
||||
"country_select_modal_country_tk": "Токелау", |
||||
"country_select_modal_country_to": "Тонга", |
||||
"country_select_modal_country_tt": "Тринидад и Тобаго", |
||||
"country_select_modal_country_tn": "Тунис", |
||||
"country_select_modal_country_tr": "Турция", |
||||
"country_select_modal_country_tm": "Туркменистан", |
||||
"country_select_modal_country_tc": "О-ва Тёркс и Кайкос", |
||||
"country_select_modal_country_tv": "Тувалу", |
||||
"country_select_modal_country_ug": "Уганда", |
||||
"country_select_modal_country_ua": "Украина", |
||||
"country_select_modal_country_ae": "ОАЭ", |
||||
"country_select_modal_country_uk": "Великобритания", |
||||
"country_select_modal_country_us": "Соединенные Штаты", |
||||
"country_select_modal_country_uy": "Уругвай", |
||||
"country_select_modal_country_vi": "Виргинские о-ва (США)", |
||||
"country_select_modal_country_uz": "Узбекистан", |
||||
"country_select_modal_country_vu": "Вануату", |
||||
"country_select_modal_country_ve": "Венесуэла", |
||||
"country_select_modal_country_va": "Ватикан", |
||||
"country_select_modal_country_vn": "Вьетнам", |
||||
"country_select_modal_country_wf": "Уоллис и Футуна", |
||||
"country_select_modal_country_ye": "Йемен", |
||||
"country_select_modal_country_zm": "Замбия", |
||||
"country_select_modal_country_tz_uk": "Занзибар", |
||||
"country_select_modal_country_zw": "Зимбабве" |
||||
} |
@ -0,0 +1,165 @@
@@ -0,0 +1,165 @@
|
||||
/* A little utility to translate Country names for Webogram. |
||||
* You need to install nodejs. |
||||
* Usage: node <thisfile> <languageCode> <inputFile> [outputFile] |
||||
* If outputFile is not specified, inputFile will be overwritten. |
||||
* |
||||
* @author: Michele Locati <mlocati@gmail.com> |
||||
* @licence: MIT |
||||
*/ |
||||
try { |
||||
var fs = require('fs'), path = require('path'); |
||||
|
||||
var cldrFolder = path.join(__dirname, 'cldr'); |
||||
if(!(isDir(cldrFolder) && isDir(path.join(cldrFolder, 'main')))) { |
||||
process.stderr.write('Please download the CLDR json data from http://cldr.unicode.org and extract it to the following directory:\n' + cldrFolder + '\n'); |
||||
process.exit(1); |
||||
} |
||||
|
||||
var locale, inputFile, outputFile = ''; |
||||
switch(process.argv.length) { |
||||
case 5: |
||||
outputFile = process.argv[4]; |
||||
/*-fallthrough*/ |
||||
case 4: |
||||
inputFile = process.argv[3]; |
||||
locale = process.argv[2]; |
||||
break; |
||||
default: |
||||
process.stderr.write('Syntax:\n' + process.argv[0] + ' ' + path.basename(process.argv[1]) + ' <languageCode> <inputFile> [outputFile]' + '\n'); |
||||
process.exit(1); |
||||
} |
||||
|
||||
var foundLocale = ''; |
||||
getLocaleAlternatives(locale).every(function(loc) { |
||||
if(isDir(path.join(cldrFolder, 'main', loc))) { |
||||
foundLocale = loc; |
||||
return false; |
||||
} |
||||
return true; |
||||
}); |
||||
if(foundLocale.length === 0) { |
||||
process.stderr.write('Unable to find data folder for the "' + locale + '" language.'); |
||||
process.exit(1); |
||||
} |
||||
process.stdout.write('Found locale: ' + foundLocale + '\n'); |
||||
var territoryData = readJsonFromFile(path.join(cldrFolder, 'main', foundLocale, 'territories.json')); |
||||
var displayNames = territoryData.main[foundLocale].localeDisplayNames.territories; |
||||
var theData = readJsonFromFile(inputFile); |
||||
var inputKey, match, territoryID; |
||||
for(inputKey in theData) { |
||||
if (theData.hasOwnProperty(inputKey)) { |
||||
match = /^country_select_modal_country_([a-z]+)$/.exec(inputKey); |
||||
if(match) { |
||||
territoryID = match[1].toUpperCase(); |
||||
process.stdout.write('Found territory: ' + territoryID + ' (' + theData[inputKey] + ')... '); |
||||
if(displayNames.hasOwnProperty(territoryID)) { |
||||
process.stdout.write('translated as "' + displayNames[territoryID] + '"\n'); |
||||
theData[inputKey] = displayNames[territoryID]; |
||||
} |
||||
else { |
||||
process.stdout.write('NOT FOUND IN CLDR!\n'); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
if(outputFile.length === 0) { |
||||
outputFile = inputFile; |
||||
} |
||||
writeJsonToFile(outputFile, theData); |
||||
process.stdout.write('File written: "' + outputFile + '"!\n'); |
||||
} |
||||
catch(e) { |
||||
process.stderr.write(e.message + '\n'); |
||||
process.exit(1); |
||||
} |
||||
|
||||
function isFile(path) { |
||||
var r = false; |
||||
if((typeof(path) === 'string') && (path.length > 0)) { |
||||
try { |
||||
if(fs.existsSync(path)) { |
||||
if(fs.lstatSync(path).isFile()) { |
||||
r = true; |
||||
} |
||||
} |
||||
} |
||||
catch(x) { |
||||
} |
||||
} |
||||
return r; |
||||
} |
||||
|
||||
function isDir(path) { |
||||
var r = false; |
||||
if((typeof(path) === 'string') && (path.length > 0)) { |
||||
try { |
||||
if(fs.existsSync(path)) { |
||||
if(fs.lstatSync(path).isDirectory()) { |
||||
r = true; |
||||
} |
||||
} |
||||
} |
||||
catch(x) { |
||||
} |
||||
} |
||||
return r; |
||||
} |
||||
|
||||
function getLocaleAlternatives(locale) { |
||||
var language = '', script = '', territory = ''; |
||||
locale.replace(/_/g, '-').split('-').forEach(function(chunk, index) { |
||||
if(index === 0) { |
||||
language = chunk.toLowerCase(); |
||||
} |
||||
else if(chunk.length === 4) { |
||||
if(script.length > 0) { |
||||
throw new Error('"' + locale + '" is not a valid locale identifier'); |
||||
} |
||||
script = chunk.charAt(0).toUpperCase() + chunk.substr(1).toLowerCase(); |
||||
} |
||||
else if(territory.length) { |
||||
throw new Error('"' + locale + '" is not a valid locale identifier'); |
||||
} |
||||
else { |
||||
if(/^[a-z]{2}$/i.test(chunk) || /^[0-9]{3}$/i.test(chunk)) { |
||||
territory = chunk.toUpperCase(); |
||||
} |
||||
else { |
||||
console.log(chunk); |
||||
throw new Error('"' + locale + '" is not a valid locale identifier'); |
||||
} |
||||
} |
||||
}); |
||||
if(language.length === 0) { |
||||
throw new Error('"' + locale + '" is not a valid locale identifier'); |
||||
} |
||||
var result = []; |
||||
if((script.length > 0) && (territory.length > 0)) { |
||||
result.push([language, script, territory].join('-')); |
||||
} |
||||
if(script.length > 0) { |
||||
result.push([language, script].join('-')); |
||||
} |
||||
if(territory.length > 0) { |
||||
result.push([language, territory].join('-')); |
||||
} |
||||
result.push(language); |
||||
return result; |
||||
} |
||||
|
||||
function readJsonFromFile(path) { |
||||
if(!isFile(path)) { |
||||
throw new Error('File not found: ' + path); |
||||
} |
||||
var fileContents = fs.readFileSync(path), data; |
||||
try { |
||||
data = JSON.parse(fileContents); |
||||
} |
||||
catch(e) { |
||||
throw new Error('Error reading JSON file ' + path + ':\n' + e.message); |
||||
} |
||||
return data; |
||||
} |
||||
function writeJsonToFile(path, data) { |
||||
fs.writeFileSync(path, JSON.stringify(data, null, 4)); |
||||
} |
Loading…
Reference in new issue