From 887fec99ca97eb1e0f0d264b941dc8ad4f3e1c47 Mon Sep 17 00:00:00 2001
From: Marco Beretta <81851188+Berry-13@users.noreply.github.com>
Date: Fri, 25 Aug 2023 02:11:27 +0200
Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=90:=20Russian=20Translation=20(#830)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/Nav/SettingsTabs/General.tsx | 1 +
client/src/localization/Translation.tsx | 4 +
client/src/localization/languages/Eng.tsx | 1 +
client/src/localization/languages/Ru.tsx | 202 ++++++++++++++++++
4 files changed, 208 insertions(+)
create mode 100644 client/src/localization/languages/Ru.tsx
diff --git a/client/src/components/Nav/SettingsTabs/General.tsx b/client/src/components/Nav/SettingsTabs/General.tsx
index b2b8e0087..f0d514f7f 100644
--- a/client/src/components/Nav/SettingsTabs/General.tsx
+++ b/client/src/components/Nav/SettingsTabs/General.tsx
@@ -112,6 +112,7 @@ export const LangSelector = ({
+
);
diff --git a/client/src/localization/Translation.tsx b/client/src/localization/Translation.tsx
index 3cecd9277..15586ca67 100644
--- a/client/src/localization/Translation.tsx
+++ b/client/src/localization/Translation.tsx
@@ -5,6 +5,7 @@ import Italian from './languages/It';
import Portuguese from './languages/Br';
import Spanish from './languages/Es';
import French from './languages/Fr';
+import Russian from './languages/Ru';
// === import additional language files here === //
// New method on String allow using "{\d}" placeholder for
@@ -47,6 +48,9 @@ export const getTranslations = (langCode: string) => {
if (langCode === 'es') {
return Spanish;
}
+ if (langCode === 'ru') {
+ return Russian;
+ }
// === add conditionals here for additional languages here === //
return English; // default to English
diff --git a/client/src/localization/languages/Eng.tsx b/client/src/localization/languages/Eng.tsx
index 89886d9d6..6e90f6878 100644
--- a/client/src/localization/languages/Eng.tsx
+++ b/client/src/localization/languages/Eng.tsx
@@ -207,4 +207,5 @@ export default {
com_nav_lang_french: 'Français ',
com_nav_lang_italian: 'Italiano',
com_nav_lang_brazilian_portuguese: 'Português Brasileiro',
+ com_nav_lang_russian: 'Русский',
};
diff --git a/client/src/localization/languages/Ru.tsx b/client/src/localization/languages/Ru.tsx
new file mode 100644
index 000000000..cdc142252
--- /dev/null
+++ b/client/src/localization/languages/Ru.tsx
@@ -0,0 +1,202 @@
+// Russian phrases
+
+export default {
+ com_ui_examples: 'Примеры',
+ com_ui_new_chat: 'Новый чат',
+ com_ui_example_quantum_computing: 'Объясните квантовые вычисления простыми словами',
+ com_ui_example_10_year_old_b_day:
+ 'У вас есть креативные идеи для дня рождения 10-летнего ребенка?',
+ com_ui_example_http_in_js: 'Как сделать HTTP-запрос в JavaScript?',
+ com_ui_capabilities: 'Возможности',
+ com_ui_capability_remember: 'Запоминает, что пользователь говорил ранее в разговоре',
+ com_ui_capability_correction: 'Позволяет пользователю вносить корректировки после ответа',
+ com_ui_capability_decline_requests: 'Обучен отклонять неподходящие запросы',
+ com_ui_limitations: 'Ограничения',
+ com_ui_limitation_incorrect_info: 'Иногда может генерировать некорректную информацию',
+ com_ui_limitation_harmful_biased:
+ 'Иногда может создавать вредные инструкции или предвзятое содержимое',
+ com_ui_limitation_limited_2021: 'Ограниченные знания о мире и событиях после 2021 года',
+ com_ui_input: 'Ввод',
+ com_ui_close: 'Закрыть',
+ com_ui_model: 'Модель',
+ com_ui_select_model: 'Выберите модель',
+ com_ui_use_prompt: 'Использовать подсказку',
+ com_ui_prev: 'Предыдущий',
+ com_ui_next: 'Следующий',
+ com_ui_prompt_templates: 'Шаблоны подсказок',
+ com_ui_hide_prompt_templates: 'Скрыть шаблоны подсказок',
+ com_ui_showing: 'Показано',
+ com_ui_of: 'из',
+ com_ui_entries: 'записей',
+ com_ui_pay_per_call: 'Все AI-разговоры в одном месте. Оплачивайте за звонки, а не за месяц',
+ com_auth_error_login:
+ 'Не удалось войти с предоставленной информацией. Пожалуйста, проверьте ваши учетные данные и попробуйте снова.',
+ com_auth_no_account: 'Еще нет аккаунта?',
+ com_auth_sign_up: 'Зарегистрироваться',
+ com_auth_sign_in: 'Войти',
+ com_auth_google_login: 'Войти с помощью Google',
+ com_auth_github_login: 'Войти с помощью Github',
+ com_auth_discord_login: 'Войти с помощью Discord',
+ com_auth_email: 'Email',
+ com_auth_email_required: 'Email обязателен',
+ com_auth_email_min_length: 'Email должен содержать не менее 6 символов',
+ com_auth_email_max_length: 'Email не может быть длиннее 120 символов',
+ com_auth_email_pattern: 'Вы должны ввести действительный адрес электронной почты',
+ com_auth_email_address: 'Адрес электронной почты',
+ com_auth_password: 'Пароль',
+ com_auth_password_required: 'Пароль обязателен',
+ com_auth_password_min_length: 'Пароль должен содержать не менее 8 символов',
+ com_auth_password_max_length: 'Пароль должен быть не более 128 символов',
+ com_auth_password_forgot: 'Забыли пароль?',
+ com_auth_password_confirm: 'Подтвердите пароль',
+ com_auth_password_not_match: 'Пароли не совпадают',
+ com_auth_continue: 'Продолжить',
+ com_auth_create_account: 'Создать аккаунт',
+ com_auth_error_create:
+ 'Возникла ошибка при попытке зарегистрировать ваш аккаунт. Пожалуйста, попробуйте еще раз.',
+ com_auth_full_name: 'Полное имя',
+ com_auth_name_required: 'Имя обязательно',
+ com_auth_name_min_length: 'Имя должно содержать не менее 3 символов',
+ com_auth_name_max_length: 'Имя должно быть короче 80 символов',
+ com_auth_username: 'Имя пользователя',
+ com_auth_username_required: 'Имя пользователя обязательно',
+ com_auth_username_min_length: 'Имя пользователя должно содержать не менее 3 символов',
+ com_auth_username_max_length: 'Имя пользователя должно быть не более 20 символов',
+ com_auth_already_have_account: 'Уже есть аккаунт?',
+ com_auth_login: 'Войти',
+ com_auth_reset_password: 'Сбросить пароль',
+ com_auth_click: 'Нажмите',
+ com_auth_here: 'ЗДЕСЬ',
+ com_auth_to_reset: 'ваш пароль.',
+ com_auth_reset_password_link_sent: 'Письмо отправлено',
+ com_auth_reset_password_email_sent:
+ 'На вашу почту было отправлено письмо с дальнейшими инструкциями по сбросу пароля.',
+ com_auth_error_reset_password:
+ 'При сбросе пароля возникла проблема. Пользователь с указанным адресом электронной почты не найден. Пожалуйста, попробуйте еще раз.',
+ com_auth_reset_password_success: 'Сброс пароля успешно выполнен',
+ com_auth_login_with_new_password: 'Теперь вы можете войти с новым паролем.',
+ com_auth_error_invalid_reset_token: 'Этот токен сброса пароля больше не действителен.',
+ com_auth_click_here: 'Нажмите здесь',
+ com_auth_to_try_again: 'чтобы попробовать снова.',
+ com_auth_submit_registration: 'Отправить регистрацию',
+ com_auth_welcome_back: 'С возвращением',
+ com_endpoint_bing_enable_sydney: 'Включить Сидней',
+ com_endpoint_bing_to_enable_sydney: 'Чтобы включить Сидней',
+ com_endpoint_bing_jailbreak: 'Jailbreak',
+ com_endpoint_bing_context_placeholder:
+ 'Bing может использовать до 7 тысяч токенов для "контекста", на который он может ссылаться в разговоре. Точный предел неизвестен, но превышение 7 тысяч токенов может вызвать ошибки.',
+ com_endpoint_bing_system_message_placeholder:
+ 'ПРЕДУПРЕЖДЕНИЕ: Неправильное использование этой функции может привести к БАНу на использование Bing! Нажмите на "Системное сообщение" для получения полных инструкций и значения по умолчанию, которое является предустановкой "Сидней", считающейся безопасной.',
+ com_endpoint_system_message: 'Системное сообщение',
+ com_endpoint_default_blank: 'по умолчанию: пусто',
+ com_endpoint_default_false: 'по умолчанию: false',
+ com_endpoint_default_creative: 'по умолчанию: креативный',
+ com_endpoint_default_empty: 'по умолчанию: пусто',
+ com_endpoint_default_with_num: 'по умолчанию: {0}',
+ com_endpoint_context: 'Контекст',
+ com_endpoint_tone_style: 'Стиль тона',
+ com_endpoint_token_count: 'Количество токенов',
+ com_endpoint_output: 'Вывод',
+ com_endpoint_google_temp:
+ 'Более высокие значения = более случайные результаты, более низкие значения = более фокусированные и детерминированные результаты. Мы рекомендуем изменять это или Top P, но не оба значения одновременно.',
+ com_endpoint_google_topp:
+ 'Top P изменяет то, как модель выбирает токены для вывода. Токены выбираются из наиболее вероятных (см. параметр topK) до наименее вероятных, пока сумма их вероятностей не достигнет значения top-p.',
+ com_endpoint_google_topk:
+ 'Top K изменяет то, как модель выбирает токены для вывода. Top K равное 1 означает, что выбирается наиболее вероятный токен из всего словаря модели (так называемое жадное декодирование), а Top K равное 3 означает, что следующий токен выбирается из трех наиболее вероятных токенов (с использованием температуры).',
+ com_endpoint_google_maxoutputtokens:
+ 'Максимальное количество токенов, которые могут быть сгенерированы в ответе. Укажите меньшее значение для более коротких ответов и большее значение для более длинных ответов.',
+ com_endpoint_google_custom_name_placeholder: 'Установите пользовательское имя для PaLM2',
+ com_endpoint_google_prompt_prefix_placeholder:
+ 'Установите пользовательские инструкции или контекст. Игнорируется, если пусто.',
+ com_endpoint_custom_name: 'Пользовательское имя',
+ com_endpoint_prompt_prefix: 'Префикс подсказки',
+ com_endpoint_temperature: 'Температура',
+ com_endpoint_default: 'по умолчанию',
+ com_endpoint_top_p: 'Top P',
+ com_endpoint_top_k: 'Top K',
+ com_endpoint_max_output_tokens: 'Максимальное количество токенов в выводе',
+ com_endpoint_openai_temp:
+ 'Более высокие значения = более случайные результаты, более низкие значения = более фокусированные и детерминированные результаты. Мы рекомендуем изменять это или Top P, но не оба значения одновременно.',
+ com_endpoint_openai_max:
+ 'Максимальное количество генерируемых токенов. Общая длина входных токенов и сгенерированных токенов ограничена длиной контекста модели.',
+ com_endpoint_openai_topp:
+ 'Альтернатива выбору с использованием температуры, называемая выбором по ядру, при которой модель учитывает результаты токенов с наибольшей вероятностью top_p. Таким образом, значение 0,1 означает, что рассматриваются только токены, составляющие верхние 10% вероятностной массы. Мы рекомендуем изменять это или температуру, но не оба значения одновременно.',
+ com_endpoint_openai_freq:
+ 'Число от -2.0 до 2.0. Положительные значения штрафуют новые токены на основе их частоты в тексте до сих пор, уменьшая вероятность модели повторить ту же строку дословно.',
+ com_endpoint_openai_pres:
+ 'Число от -2.0 до 2.0. Положительные значения штрафуют новые токены на основе того, появляются ли они в тексте до сих пор, увеличивая вероятность модели говорить о новых темах.',
+ com_endpoint_openai_custom_name_placeholder: 'Установите пользовательское имя для ChatGPT',
+ com_endpoint_openai_prompt_prefix_placeholder:
+ 'Установите пользовательские инструкции для включения в системное сообщение. По умолчанию: нет',
+ com_endpoint_anthropic_temp:
+ 'Диапазон значений от 0 до 1. Используйте значение temp ближе к 0 для аналитических / множественного выбора и ближе к 1 для креативных и генеративных задач. Мы рекомендуем изменять это или Top P, но не оба значения одновременно.',
+ com_endpoint_anthropic_topp:
+ 'Top P изменяет то, как модель выбирает токены для вывода. Токены выбираются из наиболее вероятных (см. параметр topK) до наименее вероятных, пока сумма их вероятностей не достигнет значения top-p.',
+ com_endpoint_anthropic_topk:
+ 'Top K изменяет то, как модель выбирает токены для вывода. Top K равное 1 означает, что выбирается наиболее вероятный токен из всего словаря модели (так называемое жадное декодирование), а Top K равное 3 означает, что следующий токен выбирается из трех наиболее вероятных токенов (с использованием температуры).',
+ com_endpoint_anthropic_maxoutputtokens:
+ 'Максимальное количество токенов, которые могут быть сгенерированы в ответе. Укажите меньшее значение для более коротких ответов и большее значение для более длинных ответов.',
+ com_endpoint_frequency_penalty: 'Штраф за частоту',
+ com_endpoint_presence_penalty: 'Штраф за присутствие',
+ com_endpoint_plug_use_functions: 'Использовать функции',
+ com_endpoint_plug_skip_completion: 'Пропустить завершение',
+ com_endpoint_disabled_with_tools: 'отключено с инструментами',
+ com_endpoint_disabled_with_tools_placeholder: 'Отключено с выбранными инструментами',
+ com_endpoint_plug_set_custom_instructions_for_gpt_placeholder:
+ 'Установите пользовательские инструкции для включения в системное сообщение. По умолчанию: нет',
+ com_endpoint_set_custom_name: 'Установите пользовательское имя, чтобы найти эту предустановку',
+ com_endpoint_preset_name: 'Имя предустановки',
+ com_endpoint_new_topic: 'Новая тема',
+ com_endpoint: 'Конечная точка',
+ com_endpoint_hide: 'Скрыть',
+ com_endpoint_show: 'Показать',
+ com_endpoint_examples: 'Примеры',
+ com_endpoint_completion: 'Завершение',
+ com_endpoint_agent: 'Агент',
+ com_endpoint_show_what_settings: 'Показать настройки {0}',
+ com_endpoint_save: 'Сохранить',
+ com_endpoint_export: 'Экспорт',
+ com_endpoint_save_as_preset: 'Сохранить как предустановку',
+ com_endpoint_not_implemented: 'Не реализовано',
+ com_endpoint_edit_preset: 'Редактировать предустановку',
+ com_endpoint_no_presets: 'Пока нет предустановок',
+ com_endpoint_not_available: 'Нет доступных конечных точек',
+ com_endpoint_clear_all: 'Очистить все',
+ com_endpoint_view_options: 'Просмотреть параметры',
+ com_endpoint_save_convo_as_preset: 'Сохранить разговор как предустановку',
+ com_endpoint_my_preset: 'Моя предустановка',
+ com_endpoint_agent_model: 'Модель агента (Рекомендуется: GPT-3.5)',
+ com_endpoint_completion_model: 'Модель завершения (Рекомендуется: GPT-4)',
+ com_endpoint_func_hover: 'Включить использование плагинов в качестве функций OpenAI',
+ com_endpoint_skip_hover:
+ 'Пропустить этап завершения, который проверяет окончательный ответ и сгенерированные шаги',
+ com_endpoint_config_token: 'Токен конфигурации',
+ com_nav_export_filename: 'Имя файла',
+ com_nav_export_filename_placeholder: 'Установите имя файла',
+ com_nav_export_type: 'Тип',
+ com_nav_export_include_endpoint_options: 'Включить параметры конечной точки',
+ com_nav_enabled: 'Включено',
+ com_nav_not_supported: 'Не поддерживается',
+ com_nav_export_all_message_branches: 'Экспортировать все ветви сообщений',
+ com_nav_export_recursive_or_sequential: 'Рекурсивно или последовательно?',
+ com_nav_export_recursive: 'Рекурсивно',
+ com_nav_export_conversation: 'Экспортировать разговор',
+ com_nav_theme: 'Тема',
+ com_nav_theme_system: 'Системная',
+ com_nav_theme_dark: 'Темная',
+ com_nav_theme_light: 'Светлая',
+ com_nav_clear: 'Очистить',
+ com_nav_clear_all_chats: 'Очистить все чаты',
+ com_nav_confirm_clear: 'Подтвердить очистку',
+ com_nav_close_sidebar: 'Закрыть боковую панель',
+ com_nav_open_sidebar: 'Открыть боковую панель',
+ com_nav_log_out: 'Выйти',
+ com_nav_user: 'ПОЛЬЗОВАТЕЛЬ',
+ com_nav_clear_conversation: 'Очистить разговоры',
+ com_nav_clear_conversation_confirm_message:
+ 'Вы уверены, что хотите очистить все разговоры? Это действие нельзя отменить.',
+ com_nav_help_faq: 'Помощь и Часто задаваемые вопросы',
+ com_nav_settings: 'Настройки',
+ com_nav_search_placeholder: 'Поиск сообщений',
+ com_nav_setting_general: 'Общие',
+};