Skip to content

Commit

Permalink
feat: support Russian language
Browse files Browse the repository at this point in the history
  • Loading branch information
lisiur committed Apr 15, 2023
1 parent 105e7a9 commit 5df3526
Show file tree
Hide file tree
Showing 6 changed files with 246 additions and 96 deletions.
35 changes: 22 additions & 13 deletions web/src/i18n/enUS.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
export const messages = {
lang: "English",

"common.cancel": "Cancel",
"common.ok": "Ok",
"common.copy": "copy",
Expand Down Expand Up @@ -28,10 +30,10 @@ export const messages = {
"chat.explorer.hideArchived": "Hide Archived",
"chat.explorer.showArchived": "Show Archived",

"chat.message.resend": 'resend',
"chat.message.delete": 'delete',
"chat.message.delete.hint": 'Are you sure to delete this message?',
"chat.message.stopReply": 'Stop replying',
"chat.message.resend": "resend",
"chat.message.delete": "delete",
"chat.message.delete.hint": "Are you sure to delete this message?",
"chat.message.stopReply": "Stop replying",

"chat.prompt.changed": "Prompt changed to: {name}",

Expand All @@ -40,19 +42,26 @@ export const messages = {
"chat.config.maxBacktrack": "Max Backtrack",
"chat.config.maxBacktrack.hint": "Max backtrack count, 0 means no limit",
"chat.config.temperature": "Temperature",
"chat.config.temperature.hint": "What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.",
"chat.config.temperature.hint":
"What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.",
"chat.config.topP": "Top P",
"chat.config.topP.hint": "An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.",
"chat.config.topP.hint":
"An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.",
"chat.config.n": "N",
"chat.config.n.hint": "How many chat completion choices to generate for each input message.",
"chat.config.n.hint":
"How many chat completion choices to generate for each input message.",
"chat.config.stop": "Stop",
"chat.config.stop.hint": "Up to 4 sequences where the API will stop generating further tokens.",
"chat.config.stop.hint":
"Up to 4 sequences where the API will stop generating further tokens.",
"chat.config.maxTokens": "Max Tokens",
"chat.config.maxTokens.hint": "The maximum number of tokens to generate in the chat completion.",
"chat.config.maxTokens.hint":
"The maximum number of tokens to generate in the chat completion.",
"chat.config.presencePenalty": "Presence Penalty",
"chat.config.presencePenalty.hint": "Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
"chat.config.presencePenalty.hint":
"Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.",
"chat.config.frequencyPenalty": "Frequency Penalty",
"chat.config.frequencyPenalty.hint": "Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",
"chat.config.frequencyPenalty.hint":
"Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.",

"chat.export": "Export",

Expand All @@ -79,7 +88,6 @@ export const messages = {
"setting.upgrade.download.success": "Download success",
"setting.upgrade.restart.hint": "Please restart the app to apply the update.",


"setting.locale": "Language",
"setting.apiKey": "Api Key",
"setting.proxy": "Proxy",
Expand All @@ -94,7 +102,8 @@ export const messages = {
"setting.enableWebServer": "Enable Web Server",
"setting.hideTaskbar": "Hide Taskbar",
"setting.hideMainWindow": "Hide Main Window",
"setting.needRestart.hint": "The following settings will take effect after restarting the app",
"setting.needRestart.hint":
"The following settings will take effect after restarting the app",
};

export default messages;
Expand Down
27 changes: 20 additions & 7 deletions web/src/i18n/index.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,24 @@
import enUS, { Messages } from "./enUS";
import zhCN from "./zhCN";
import ruRU from "./ruRU";

export type {
Messages
}
export type { Messages };

export default {
enUS,
zhCN,
};
export const languages = [
{
name: "enUS",
messages: enUS,
},
{
name: "zhCN",
messages: zhCN,
},
{
name: "ruRU",
messages: ruRU,
},
];

export default Object.fromEntries(
languages.map((item) => [item.name, item.messages])
);
147 changes: 79 additions & 68 deletions web/src/i18n/ruRU.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
export const messages = {
import { Messages } from "./enUS";

const messages: Messages = {
lang: "Русский",

"common.cancel": "Отмена",
"common.ok": "Ok",
"common.ok": "Хорошо",
"common.copy": "копировать",
"common.delete": "удалить",
"common.copy.success": "Скопировано в буфер обмена",
Expand All @@ -21,82 +25,89 @@ export const messages = {
"chat.stick": "Закрепить",
"chat.unstick": "Открепить",
"chat.archive": "Архив",
"chat.busy": "Please wait for the previous response to complete.",
"chat.busy": "Пожалуйста, дождитесь завершения предыдущего ответа.",

"chat.explorer.hidePinned": "Скрыть закрепленное",
"chat.explorer.showPinned": "Показать закрепленные",
"chat.explorer.hideArchived": "Скрыть архив",
"chat.explorer.showArchived": "Показать в архиве",
"chat.explorer.hidePinned": "Скрыть закрепленное",
"chat.explorer.showPinned": "Показать закрепленные",
"chat.explorer.hideArchived": "Скрыть архив",
"chat.explorer.showArchived": "Показать в архиве",

"chat.message.resend": 'повторить',
"chat.message.delete": 'удалить',
"chat.message.delete.hint": 'Вы уверены, что хотите удалить это сообщение?',
"chat.message.stopReply": 'Перестать отвечать',
"chat.message.resend": "повторить",
"chat.message.delete": "удалить",
"chat.message.delete.hint": "Вы уверены, что хотите удалить это сообщение?",
"chat.message.stopReply": "Перестать отвечать",

"chat.prompt.changed": "Подсказка изменена на: {name}",
"chat.prompt.changed": "Подсказка изменена на: {name}",

"chat.config.model": "Модель",
"chat.config.model.hint": "Идентификатор используемой модели.",
"chat.config.maxBacktrack": "Максимальный возврат",
"chat.config.maxBacktrack.hint": "Максимальное количество возвратов, 0 означает отсутствие ограничений",
"chat.config.temperature": "Температура",
"chat.config.temperature.hint": "Какую температуру выборки использовать, от 0 до 2. Более высокие значения, такие как 0,8, сделают вывод более случайным, а более низкие значения, такие как 0,2, сделают его более сфокусированным и детерминированным.",
"chat.config.topP": "Лучшее P",
"chat.config.topP.hint": "Альтернатива выборке с температурой, называемая выборкой ядра, где модель учитывает результаты токенов с вероятностной массой top_p. Таким образом, 0,1 означает, что только токены, составляющие 10% наиболее вероятной массы обдуманный.",
"chat.config.n": "Н",
"chat.config.n.hint": "Сколько вариантов завершения чата генерировать для каждого входного сообщения.",
"chat.config.stop": "Стоп",
"chat.config.stop.hint": "До 4 последовательностей, в которых API перестанет генерировать новые токены.",
"chat.config.maxTokens": "Макс. токены",
"chat.config.maxTokens.hint": "Максимальное количество токенов, генерируемых при завершении чата.",
"chat.config.presencePenalty": "Штраф за присутствие",
"chat.config.presencePenalty.hint": "Число от -2.0 до 2.0. Положительные значения штрафуют новые токены в зависимости от того, появляются ли они в тексте до сих пор, увеличивая вероятность того, что модель будет говорить о новых темах.",
"chat.config.frequencyPenalty": "Штраф за частоту",
"chat.config.frequencyPenalty.hint": "Число от -2.0 до 2.0. Положительные значения штрафуют новые токены в зависимости от их текущей частоты в тексте, уменьшая вероятность того, что модель дословно повторит одну и ту же строку.",
"chat.config.model": "Модель",
"chat.config.model.hint": "Идентификатор используемой модели.",
"chat.config.maxBacktrack": "Максимальный возврат",
"chat.config.maxBacktrack.hint":
"Максимальное количество возвратов, 0 означает отсутствие ограничений",
"chat.config.temperature": "Температура",
"chat.config.temperature.hint":
"Какую температуру выборки использовать, от 0 до 2. Более высокие значения, такие как 0,8, сделают вывод более случайным, а более низкие значения, такие как 0,2, сделают его более сфокусированным и детерминированным.",
"chat.config.topP": "Лучшее P",
"chat.config.topP.hint":
"Альтернатива выборке с температурой, называемая выборкой ядра, где модель учитывает результаты токенов с вероятностной массой top_p. Таким образом, 0,1 означает, что только токены, составляющие 10% наиболее вероятной массы обдуманный.",
"chat.config.n": "Н",
"chat.config.n.hint":
"Сколько вариантов завершения чата генерировать для каждого входного сообщения.",
"chat.config.stop": "Стоп",
"chat.config.stop.hint":
"До 4 последовательностей, в которых API перестанет генерировать новые токены.",
"chat.config.maxTokens": "Макс. токены",
"chat.config.maxTokens.hint":
"Максимальное количество токенов, генерируемых при завершении чата.",
"chat.config.presencePenalty": "Штраф за присутствие",
"chat.config.presencePenalty.hint":
"Число от -2.0 до 2.0. Положительные значения штрафуют новые токены в зависимости от того, появляются ли они в тексте до сих пор, увеличивая вероятность того, что модель будет говорить о новых темах.",
"chat.config.frequencyPenalty": "Штраф за частоту",
"chat.config.frequencyPenalty.hint":
"Число от -2.0 до 2.0. Положительные значения штрафуют новые токены в зависимости от их текущей частоты в тексте, уменьшая вероятность того, что модель дословно повторит одну и ту же строку.",

"chat.export": "Экспорт",
"chat.export": "Экспорт",

"prompt.new": "Новая подсказка",
"prompt.prompts": "Подсказки",
"prompt.inputNameHint": "Введите название подсказки",
"prompt.newChat": "Новый чат",
"prompt.rename": "Переименовать",
"prompt.update.success": "Приглашение успешно обновлено",
"prompt.new": "Новая подсказка",
"prompt.prompts": "Подсказки",
"prompt.inputNameHint": "Введите название подсказки",
"prompt.newChat": "Новый чат",
"prompt.rename": "Переименовать",
"prompt.update.success": "Приглашение успешно обновлено",

"prompt.market.prompts": "Рынок подсказок",
"prompt.market.actions.install": "Установить",
"prompt.market.actions.newChat": "Новый чат",
"prompt.market.install.success": "Запрос успешно установлен",
"prompt.market.prompts": "Рынок подсказок",
"prompt.market.actions.install": "Установить",
"prompt.market.actions.newChat": "Новый чат",
"prompt.market.install.success": "Запрос успешно установлен",

"config.setting": "Настройка",
"config.setting": "Настройка",

"setting.upgrade.newVersion": "Доступна новая версия",
"setting.upgrade.cancel": "Позже",
"setting.upgrade.upgrade": "Обновить",
"setting.upgrade.downloading": "Загрузка...",
"setting.upgrade.relaunch": "Перезапустить",
"setting.upgrade.later": "Позже",
"setting.upgrade.download.success": "Загрузка выполнена успешно",
"setting.upgrade.restart.hint": "Пожалуйста, перезапустите приложение, чтобы применить обновление.",
"setting.upgrade.newVersion": "Доступна новая версия",
"setting.upgrade.cancel": "Позже",
"setting.upgrade.upgrade": "Обновить",
"setting.upgrade.downloading": "Загрузка...",
"setting.upgrade.relaunch": "Перезапустить",
"setting.upgrade.later": "Позже",
"setting.upgrade.download.success": "Загрузка выполнена успешно",
"setting.upgrade.restart.hint":
"Пожалуйста, перезапустите приложение, чтобы применить обновление.",


"setting.locale": "Язык",
"setting.apiKey": "Ключ API",
"setting.proxy": "Прокси",
"setting.theme": "Тема",
"setting.theme.system": "Система",
"setting.theme.dark": "Темный",
"setting.theme.light": "Светлый",
"setting.forwardUrl": "URL-адрес пересылки",
"setting.forwardApiKey": "Переадресовать ключ API",
"setting.port": "Порт",
"setting.webPage": "Веб-страница",
"setting.enableWebServer": "Включить веб-сервер",
"setting.hideTaskbar": "Скрыть панель задач",
"setting.hideMainWindow": "Скрыть главное окно",
"setting.needRestart.hint": "Следующие настройки вступят в силу после перезапуска приложения",
"setting.locale": "Язык",
"setting.apiKey": "Ключ API",
"setting.proxy": "Прокси",
"setting.theme": "Тема",
"setting.theme.system": "Система",
"setting.theme.dark": "Темный",
"setting.theme.light": "Светлый",
"setting.forwardUrl": "URL-адрес пересылки",
"setting.forwardApiKey": "Переадресовать ключ API",
"setting.port": "Порт",
"setting.webPage": "Веб-страница",
"setting.enableWebServer": "Включить веб-сервер",
"setting.hideTaskbar": "Скрыть панель задач",
"setting.hideMainWindow": "Скрыть главное окно",
"setting.needRestart.hint":
"Следующие настройки вступят в силу после перезапуска приложения",
};

export default messages;

export type Messages = typeof messages;
Loading

0 comments on commit 5df3526

Please sign in to comment.