mirror of
https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
synced 2025-10-18 07:53:43 +08:00
Merge remote-tracking branch 'upstream/main'
This commit is contained in:
@@ -67,7 +67,7 @@ const cn = {
|
||||
ConfirmClearAll: "确认清除所有数据?",
|
||||
},
|
||||
Lang: {
|
||||
Name: "Language",
|
||||
Name: "Language", // ATTENTION: if you wanna add a new translation, please do not translate this value, leave it as `Language`
|
||||
All: "所有语言",
|
||||
Options: {
|
||||
cn: "简体中文",
|
||||
@@ -78,7 +78,9 @@ const cn = {
|
||||
tr: "Türkçe",
|
||||
jp: "日本語",
|
||||
de: "Deutsch",
|
||||
vi: "Vietnamese",
|
||||
vi: "Tiếng Việt",
|
||||
ru: "Русский",
|
||||
cs: "Čeština",
|
||||
},
|
||||
},
|
||||
Avatar: "头像",
|
||||
|
244
app/locales/cs.ts
Normal file
244
app/locales/cs.ts
Normal file
@@ -0,0 +1,244 @@
|
||||
import { SubmitKey } from "../store/config";
|
||||
import type { LocaleType } from "./index";
|
||||
|
||||
const cs: LocaleType = {
|
||||
WIP: "V přípravě...",
|
||||
Error: {
|
||||
Unauthorized:
|
||||
"Neoprávněný přístup, zadejte přístupový kód na stránce nastavení.",
|
||||
},
|
||||
ChatItem: {
|
||||
ChatItemCount: (count: number) => `${count} zpráv`,
|
||||
},
|
||||
Chat: {
|
||||
SubTitle: (count: number) => `${count} zpráv s ChatGPT`,
|
||||
Actions: {
|
||||
ChatList: "Přejít na seznam chatů",
|
||||
CompressedHistory: "Pokyn z komprimované paměti historie",
|
||||
Export: "Exportovat všechny zprávy jako Markdown",
|
||||
Copy: "Kopírovat",
|
||||
Stop: "Zastavit",
|
||||
Retry: "Zopakovat",
|
||||
Delete: "Smazat",
|
||||
},
|
||||
Rename: "Přejmenovat chat",
|
||||
Typing: "Píše...",
|
||||
Input: (submitKey: string) => {
|
||||
var inputHints = `${submitKey} pro odeslání`;
|
||||
if (submitKey === String(SubmitKey.Enter)) {
|
||||
inputHints += ", Shift + Enter pro řádkování";
|
||||
}
|
||||
return inputHints + ", / pro vyhledávání pokynů";
|
||||
},
|
||||
Send: "Odeslat",
|
||||
Config: {
|
||||
Reset: "Obnovit výchozí",
|
||||
SaveAs: "Uložit jako Masku",
|
||||
},
|
||||
},
|
||||
Export: {
|
||||
Title: "Všechny zprávy",
|
||||
Copy: "Kopírovat vše",
|
||||
Download: "Stáhnout",
|
||||
MessageFromYou: "Zpráva od vás",
|
||||
MessageFromChatGPT: "Zpráva z ChatGPT",
|
||||
},
|
||||
Memory: {
|
||||
Title: "Pokyn z paměti",
|
||||
EmptyContent: "Zatím nic.",
|
||||
Send: "Odeslat paměť",
|
||||
Copy: "Kopírovat paměť",
|
||||
Reset: "Obnovit relaci",
|
||||
ResetConfirm:
|
||||
"Resetováním se vymaže historie aktuálních konverzací i paměť historie pokynů. Opravdu chcete provést obnovu?",
|
||||
},
|
||||
Home: {
|
||||
NewChat: "Nový chat",
|
||||
DeleteChat: "Potvrzujete smazání vybrané konverzace?",
|
||||
DeleteToast: "Chat smazán",
|
||||
Revert: "Zvrátit",
|
||||
},
|
||||
Settings: {
|
||||
Title: "Nastavení",
|
||||
SubTitle: "Všechna nastavení",
|
||||
Actions: {
|
||||
ClearAll: "Vymazat všechna data",
|
||||
ResetAll: "Obnovit veškeré nastavení",
|
||||
Close: "Zavřít",
|
||||
ConfirmResetAll: "Jste si jisti, že chcete obnovit všechna nastavení?",
|
||||
ConfirmClearAll: "Jste si jisti, že chcete smazat všechna data?",
|
||||
},
|
||||
Lang: {
|
||||
Name: "Language", // ATTENTION: if you wanna add a new translation, please do not translate this value, leave it as `Language`
|
||||
All: "Všechny jazyky",
|
||||
Options: {
|
||||
cn: "简体中文",
|
||||
en: "English",
|
||||
tw: "繁體中文",
|
||||
es: "Español",
|
||||
it: "Italiano",
|
||||
tr: "Türkçe",
|
||||
jp: "日本語",
|
||||
de: "Deutsch",
|
||||
vi: "Tiếng Việt",
|
||||
ru: "Русский",
|
||||
cs: "Čeština",
|
||||
},
|
||||
},
|
||||
Avatar: "Avatar",
|
||||
FontSize: {
|
||||
Title: "Velikost písma",
|
||||
SubTitle: "Nastavení velikosti písma obsahu chatu",
|
||||
},
|
||||
Update: {
|
||||
Version: (x: string) => `Verze: ${x}`,
|
||||
IsLatest: "Aktuální verze",
|
||||
CheckUpdate: "Zkontrolovat aktualizace",
|
||||
IsChecking: "Kontrola aktualizace...",
|
||||
FoundUpdate: (x: string) => `Nalezena nová verze: ${x}`,
|
||||
GoToUpdate: "Aktualizovat",
|
||||
},
|
||||
SendKey: "Odeslat klíč",
|
||||
Theme: "Téma",
|
||||
TightBorder: "Těsné ohraničení",
|
||||
SendPreviewBubble: {
|
||||
Title: "Odesílat chatovací bublinu s náhledem",
|
||||
SubTitle: "Zobrazit v náhledu bubliny",
|
||||
},
|
||||
Mask: {
|
||||
Title: "Úvodní obrazovka Masek",
|
||||
SubTitle: "Před zahájením nového chatu zobrazte úvodní obrazovku Masek",
|
||||
},
|
||||
Prompt: {
|
||||
Disable: {
|
||||
Title: "Deaktivovat automatické dokončování",
|
||||
SubTitle: "Zadejte / pro spuštění automatického dokončování",
|
||||
},
|
||||
List: "Seznam pokynů",
|
||||
ListCount: (builtin: number, custom: number) =>
|
||||
`${builtin} vestavěných, ${custom} uživatelských`,
|
||||
Edit: "Upravit",
|
||||
Modal: {
|
||||
Title: "Seznam pokynů",
|
||||
Add: "Přidat pokyn",
|
||||
Search: "Hledat pokyny",
|
||||
},
|
||||
EditModal: {
|
||||
Title: "Editovat pokyn",
|
||||
},
|
||||
},
|
||||
HistoryCount: {
|
||||
Title: "Počet připojených zpráv",
|
||||
SubTitle: "Počet odeslaných připojených zpráv na žádost",
|
||||
},
|
||||
CompressThreshold: {
|
||||
Title: "Práh pro kompresi historie",
|
||||
SubTitle:
|
||||
"Komprese proběhne, pokud délka nekomprimovaných zpráv přesáhne tuto hodnotu",
|
||||
},
|
||||
Token: {
|
||||
Title: "API klíč",
|
||||
SubTitle: "Použitím klíče ignorujete omezení přístupového kódu",
|
||||
Placeholder: "Klíč API OpenAI",
|
||||
},
|
||||
Usage: {
|
||||
Title: "Stav účtu",
|
||||
SubTitle(used: any, total: any) {
|
||||
return `Použito tento měsíc $${used}, předplaceno $${total}`;
|
||||
},
|
||||
IsChecking: "Kontroluji...",
|
||||
Check: "Zkontrolovat",
|
||||
NoAccess: "Pro kontrolu zůstatku zadejte klíč API",
|
||||
},
|
||||
AccessCode: {
|
||||
Title: "Přístupový kód",
|
||||
SubTitle: "Kontrola přístupu povolena",
|
||||
Placeholder: "Potřebujete přístupový kód",
|
||||
},
|
||||
Model: "Model",
|
||||
Temperature: {
|
||||
Title: "Teplota",
|
||||
SubTitle: "Větší hodnota činí výstup náhodnějším",
|
||||
},
|
||||
MaxTokens: {
|
||||
Title: "Max. počet tokenů",
|
||||
SubTitle: "Maximální délka vstupního tokenu a generovaných tokenů",
|
||||
},
|
||||
PresencePenlty: {
|
||||
Title: "Přítomnostní korekce",
|
||||
SubTitle: "Větší hodnota zvyšuje pravděpodobnost nových témat.",
|
||||
},
|
||||
},
|
||||
Store: {
|
||||
DefaultTopic: "Nová konverzace",
|
||||
BotHello: "Ahoj! Jak mohu dnes pomoci?",
|
||||
Error: "Něco se pokazilo, zkuste to prosím později.",
|
||||
Prompt: {
|
||||
History: (content: string) =>
|
||||
"Toto je shrnutí historie chatu mezi umělou inteligencí a uživatelem v podobě rekapitulace: " +
|
||||
content,
|
||||
Topic:
|
||||
"Vytvořte prosím název o čtyřech až pěti slovech vystihující průběh našeho rozhovoru bez jakýchkoli úvodních slov, interpunkčních znamének, uvozovek, teček, symbolů nebo dalšího textu. Odstraňte uvozovky.",
|
||||
Summarize:
|
||||
"Krátce shrň naši diskusi v rozsahu do 200 slov a použij ji jako podnět pro budoucí kontext.",
|
||||
},
|
||||
},
|
||||
Copy: {
|
||||
Success: "Zkopírováno do schránky",
|
||||
Failed: "Kopírování selhalo, prosím, povolte přístup ke schránce",
|
||||
},
|
||||
Context: {
|
||||
Toast: (x: any) => `Použití ${x} kontextových pokynů`,
|
||||
Edit: "Kontextové a paměťové pokyny",
|
||||
Add: "Přidat pokyn",
|
||||
},
|
||||
Plugin: {
|
||||
Name: "Plugin",
|
||||
},
|
||||
Mask: {
|
||||
Name: "Maska",
|
||||
Page: {
|
||||
Title: "Šablona pokynu",
|
||||
SubTitle: (count: number) => `${count} šablon pokynů`,
|
||||
Search: "Hledat v šablonách",
|
||||
Create: "Vytvořit",
|
||||
},
|
||||
Item: {
|
||||
Info: (count: number) => `${count} pokynů`,
|
||||
Chat: "Chat",
|
||||
View: "Zobrazit",
|
||||
Edit: "Upravit",
|
||||
Delete: "Smazat",
|
||||
DeleteConfirm: "Potvrdit smazání?",
|
||||
},
|
||||
EditModal: {
|
||||
Title: (readonly: boolean) =>
|
||||
`Editovat šablonu pokynu ${readonly ? "(pouze ke čtení)" : ""}`,
|
||||
Download: "Stáhnout",
|
||||
Clone: "Duplikovat",
|
||||
},
|
||||
Config: {
|
||||
Avatar: "Avatar Bota",
|
||||
Name: "Jméno Bota",
|
||||
},
|
||||
},
|
||||
NewChat: {
|
||||
Return: "Zpět",
|
||||
Skip: "Přeskočit",
|
||||
Title: "Vyberte Masku",
|
||||
SubTitle: "Chatovat s duší za Maskou",
|
||||
More: "Najít více",
|
||||
NotShow: "Nezobrazovat znovu",
|
||||
ConfirmNoShow: "Potvrdit zakázání?Můžete jej povolit později v nastavení.",
|
||||
},
|
||||
|
||||
UI: {
|
||||
Confirm: "Potvrdit",
|
||||
Cancel: "Zrušit",
|
||||
Close: "Zavřít",
|
||||
Create: "Vytvořit",
|
||||
Edit: "Upravit",
|
||||
},
|
||||
};
|
||||
|
||||
export default cs;
|
@@ -71,7 +71,7 @@ const de: LocaleType = {
|
||||
},
|
||||
Lang: {
|
||||
Name: "Language", // ATTENTION: if you wanna add a new translation, please do not translate this value, leave it as `Language`
|
||||
All: "All Languages",
|
||||
All: "Alle Sprachen",
|
||||
Options: {
|
||||
cn: "简体中文",
|
||||
en: "English",
|
||||
@@ -81,7 +81,9 @@ const de: LocaleType = {
|
||||
tr: "Türkçe",
|
||||
jp: "日本語",
|
||||
de: "Deutsch",
|
||||
vi: "Vietnamese",
|
||||
vi: "Tiếng Việt",
|
||||
ru: "Русский",
|
||||
cs: "Čeština",
|
||||
},
|
||||
},
|
||||
Avatar: "Avatar",
|
||||
|
@@ -80,7 +80,9 @@ const en: LocaleType = {
|
||||
tr: "Türkçe",
|
||||
jp: "日本語",
|
||||
de: "Deutsch",
|
||||
vi: "Vietnamese",
|
||||
vi: "Tiếng Việt",
|
||||
ru: "Русский",
|
||||
cs: "Čeština",
|
||||
},
|
||||
},
|
||||
Avatar: "Avatar",
|
||||
|
@@ -69,18 +69,20 @@ const es: LocaleType = {
|
||||
ConfirmClearAll: "Are you sure you want to reset all chat?",
|
||||
},
|
||||
Lang: {
|
||||
Name: "Language",
|
||||
All: "All Languages",
|
||||
Name: "Language", // ATTENTION: if you wanna add a new translation, please do not translate this value, leave it as `Language`
|
||||
All: "Todos los idiomas",
|
||||
Options: {
|
||||
cn: "简体中文",
|
||||
en: "Inglés",
|
||||
en: "English",
|
||||
tw: "繁體中文",
|
||||
es: "Español",
|
||||
it: "Italiano",
|
||||
tr: "Türkçe",
|
||||
jp: "日本語",
|
||||
de: "Deutsch",
|
||||
vi: "Vietnamese",
|
||||
vi: "Tiếng Việt",
|
||||
ru: "Русский",
|
||||
cs: "Čeština",
|
||||
},
|
||||
},
|
||||
Avatar: "Avatar",
|
||||
|
@@ -7,6 +7,8 @@ import TR from "./tr";
|
||||
import JP from "./jp";
|
||||
import DE from "./de";
|
||||
import VI from "./vi";
|
||||
import RU from "./ru";
|
||||
import CS from "./cs";
|
||||
|
||||
export type { LocaleType } from "./cn";
|
||||
|
||||
@@ -20,6 +22,8 @@ export const AllLangs = [
|
||||
"jp",
|
||||
"de",
|
||||
"vi",
|
||||
"ru",
|
||||
"cs",
|
||||
] as const;
|
||||
export type Lang = (typeof AllLangs)[number];
|
||||
|
||||
@@ -82,4 +86,6 @@ export default {
|
||||
jp: JP,
|
||||
de: DE,
|
||||
vi: VI,
|
||||
ru: RU,
|
||||
cs: CS,
|
||||
}[getLang()] as typeof CN;
|
||||
|
@@ -69,8 +69,8 @@ const it: LocaleType = {
|
||||
ConfirmClearAll: "Sei sicuro vuoi cancellare tutte le chat?",
|
||||
},
|
||||
Lang: {
|
||||
Name: "Lingue",
|
||||
All: "All Languages",
|
||||
Name: "Language", // ATTENTION: if you wanna add a new translation, please do not translate this value, leave it as `Language`
|
||||
All: "Tutte le lingue",
|
||||
Options: {
|
||||
cn: "简体中文",
|
||||
en: "English",
|
||||
@@ -80,7 +80,9 @@ const it: LocaleType = {
|
||||
tr: "Türkçe",
|
||||
jp: "日本語",
|
||||
de: "Deutsch",
|
||||
vi: "Vietnamese",
|
||||
vi: "Tiếng Việt",
|
||||
ru: "Русский",
|
||||
cs: "Čeština",
|
||||
},
|
||||
},
|
||||
Avatar: "Avatar",
|
||||
|
@@ -69,7 +69,7 @@ const jp: LocaleType = {
|
||||
ConfirmClearAll: "すべてのチャットをリセットしてもよろしいですか?",
|
||||
},
|
||||
Lang: {
|
||||
Name: "Language",
|
||||
Name: "Language", // ATTENTION: if you wanna add a new translation, please do not translate this value, leave it as `Language`
|
||||
All: "所有语言",
|
||||
Options: {
|
||||
cn: "简体中文",
|
||||
@@ -80,7 +80,9 @@ const jp: LocaleType = {
|
||||
tr: "Türkçe",
|
||||
jp: "日本語",
|
||||
de: "Deutsch",
|
||||
vi: "Vietnamese",
|
||||
vi: "Tiếng Việt",
|
||||
ru: "Русский",
|
||||
cs: "Čeština",
|
||||
},
|
||||
},
|
||||
Avatar: "アバター",
|
||||
|
250
app/locales/ru.ts
Normal file
250
app/locales/ru.ts
Normal file
@@ -0,0 +1,250 @@
|
||||
import { SubmitKey } from "../store/config";
|
||||
import type { LocaleType } from "./index";
|
||||
|
||||
const ru: LocaleType = {
|
||||
WIP: "Скоро...",
|
||||
Error: {
|
||||
Unauthorized:
|
||||
"Несанкционированный доступ. Пожалуйста, введите код доступа на странице настроек.",
|
||||
},
|
||||
ChatItem: {
|
||||
ChatItemCount: (count: number) => `${count} сообщений`,
|
||||
},
|
||||
Chat: {
|
||||
SubTitle: (count: number) => `${count} сообщений с ChatGPT`,
|
||||
Actions: {
|
||||
ChatList: "Перейти к списку чатов",
|
||||
CompressedHistory: "Сжатая история памяти",
|
||||
Export: "Экспортировать все сообщения в формате Markdown",
|
||||
Copy: "Копировать",
|
||||
Stop: "Остановить",
|
||||
Retry: "Повторить",
|
||||
Delete: "Удалить",
|
||||
},
|
||||
Rename: "Переименовать чат",
|
||||
Typing: "Печатает…",
|
||||
Input: (submitKey: string) => {
|
||||
var inputHints = `${submitKey} для отправки сообщения`;
|
||||
if (submitKey === String(SubmitKey.Enter)) {
|
||||
inputHints += ", Shift + Enter для переноса строки";
|
||||
}
|
||||
return inputHints + ", / для поиска подсказок";
|
||||
},
|
||||
Send: "Отправить",
|
||||
Config: {
|
||||
Reset: "Сбросить настройки",
|
||||
SaveAs: "Сохранить как маску",
|
||||
},
|
||||
},
|
||||
Export: {
|
||||
Title: "Все сообщения",
|
||||
Copy: "Копировать все",
|
||||
Download: "Скачать",
|
||||
MessageFromYou: "Сообщение от вас",
|
||||
MessageFromChatGPT: "Сообщение от ChatGPT",
|
||||
},
|
||||
Memory: {
|
||||
Title: "Память",
|
||||
EmptyContent: "Пусто.",
|
||||
Send: "Отправить память",
|
||||
Copy: "Копировать память",
|
||||
Reset: "Сбросить сессию",
|
||||
ResetConfirm:
|
||||
"При сбросе текущая история переписки и историческая память будут удалены. Вы уверены, что хотите сбросить?",
|
||||
},
|
||||
Home: {
|
||||
NewChat: "Новый чат",
|
||||
DeleteChat: "Вы действительно хотите удалить выбранный разговор?",
|
||||
DeleteToast: "Чат удален",
|
||||
Revert: "Отмена",
|
||||
},
|
||||
Settings: {
|
||||
Title: "Настройки",
|
||||
SubTitle: "Все настройки",
|
||||
Actions: {
|
||||
ClearAll: "Очистить все данные",
|
||||
ResetAll: "Сбросить все настройки",
|
||||
Close: "Закрыть",
|
||||
ConfirmResetAll: "Вы уверены, что хотите сбросить все настройки?",
|
||||
ConfirmClearAll: "Вы уверены, что хотите очистить все данные?",
|
||||
},
|
||||
Lang: {
|
||||
Name: "Language", // ATTENTION: if you wanna add a new translation, please do not translate this value, leave it as `Language`
|
||||
All: "Все языки",
|
||||
Options: {
|
||||
cn: "简体中文",
|
||||
en: "English",
|
||||
tw: "繁體中文",
|
||||
es: "Español",
|
||||
it: "Italiano",
|
||||
tr: "Türkçe",
|
||||
jp: "日本語",
|
||||
de: "Deutsch",
|
||||
vi: "Tiếng Việt",
|
||||
ru: "Русский",
|
||||
cs: "Čeština",
|
||||
},
|
||||
},
|
||||
Avatar: "Аватар",
|
||||
FontSize: {
|
||||
Title: "Размер шрифта",
|
||||
SubTitle: "Настроить размер шрифта контента чата",
|
||||
},
|
||||
Update: {
|
||||
Version: (x: string) => `Версия: ${x}`,
|
||||
IsLatest: "Последняя версия",
|
||||
CheckUpdate: "Проверить обновление",
|
||||
IsChecking: "Проверка обновления...",
|
||||
FoundUpdate: (x: string) => `Найдена новая версия: ${x}`,
|
||||
GoToUpdate: "Обновить",
|
||||
},
|
||||
SendKey: "Клавиша отправки",
|
||||
Theme: "Тема",
|
||||
TightBorder: "Узкая граница",
|
||||
SendPreviewBubble: {
|
||||
Title: "Отправить предпросмотр",
|
||||
SubTitle: "Предварительный просмотр markdown в пузыре",
|
||||
},
|
||||
Mask: {
|
||||
Title: "Экран заставки маски",
|
||||
SubTitle: "Показывать экран заставки маски перед началом нового чата",
|
||||
},
|
||||
Prompt: {
|
||||
Disable: {
|
||||
Title: "Отключить автозаполнение",
|
||||
SubTitle: "Ввод / для запуска автозаполнения",
|
||||
},
|
||||
List: "Список подсказок",
|
||||
ListCount: (builtin: number, custom: number) =>
|
||||
`${builtin} встроенных, ${custom} пользовательских`,
|
||||
Edit: "Редактировать",
|
||||
Modal: {
|
||||
Title: "Список подсказок",
|
||||
Add: "Добавить",
|
||||
Search: "Поиск подсказок",
|
||||
},
|
||||
EditModal: {
|
||||
Title: "Редактировать подсказку",
|
||||
},
|
||||
},
|
||||
HistoryCount: {
|
||||
Title: "Количество прикрепляемых сообщений",
|
||||
SubTitle:
|
||||
"Количество отправляемых сообщений, прикрепляемых к каждому запросу",
|
||||
},
|
||||
CompressThreshold: {
|
||||
Title: "Порог сжатия истории",
|
||||
SubTitle:
|
||||
"Будет сжимать, если длина несжатых сообщений превышает указанное значение",
|
||||
},
|
||||
Token: {
|
||||
Title: "API ключ",
|
||||
SubTitle: "Используйте свой ключ, чтобы игнорировать лимит доступа",
|
||||
Placeholder: "API ключ OpenAI",
|
||||
},
|
||||
Usage: {
|
||||
Title: "Баланс аккаунта",
|
||||
SubTitle(used: any, total: any) {
|
||||
return `Использовано в этом месяце $${used}, подписка $${total}`;
|
||||
},
|
||||
IsChecking: "Проверка...",
|
||||
Check: "Проверить",
|
||||
NoAccess: "Введите API ключ, чтобы проверить баланс",
|
||||
},
|
||||
AccessCode: {
|
||||
Title: "Код доступа",
|
||||
SubTitle: "Контроль доступа включен",
|
||||
Placeholder: "Требуется код доступа",
|
||||
},
|
||||
Model: "Модель",
|
||||
Temperature: {
|
||||
Title: "Температура",
|
||||
SubTitle: "Чем выше значение, тем более случайный вывод",
|
||||
},
|
||||
MaxTokens: {
|
||||
Title: "Максимальное количество токенов",
|
||||
SubTitle: "Максимальная длина вводных и генерируемых токенов",
|
||||
},
|
||||
PresencePenlty: {
|
||||
Title: "Штраф за повторения",
|
||||
SubTitle:
|
||||
"Чем выше значение, тем больше вероятность общения на новые темы",
|
||||
},
|
||||
},
|
||||
Store: {
|
||||
DefaultTopic: "Новый разговор",
|
||||
BotHello: "Здравствуйте! Как я могу вам помочь сегодня?",
|
||||
Error: "Что-то пошло не так. Пожалуйста, попробуйте еще раз позже.",
|
||||
Prompt: {
|
||||
History: (content: string) =>
|
||||
"Это краткое содержание истории чата между ИИ и пользователем: " +
|
||||
content,
|
||||
Topic:
|
||||
"Пожалуйста, создайте заголовок из четырех или пяти слов, который кратко описывает нашу беседу, без введения, знаков пунктуации, кавычек, точек, символов или дополнительного текста. Удалите кавычки.",
|
||||
Summarize:
|
||||
"Кратко изложите нашу дискуссию в 200 словах или менее для использования в будущем контексте.",
|
||||
},
|
||||
},
|
||||
Copy: {
|
||||
Success: "Скопировано в буфер обмена",
|
||||
Failed:
|
||||
"Не удалось скопировать, пожалуйста, предоставьте разрешение на доступ к буферу обмена",
|
||||
},
|
||||
Context: {
|
||||
Toast: (x: any) => `С ${x} контекстными подсказками`,
|
||||
Edit: "Контекстные и памятные подсказки",
|
||||
Add: "Добавить подсказку",
|
||||
},
|
||||
Plugin: {
|
||||
Name: "Плагин",
|
||||
},
|
||||
Mask: {
|
||||
Name: "Маска",
|
||||
Page: {
|
||||
Title: "Шаблон подсказки",
|
||||
SubTitle: (count: number) => `${count} шаблонов подсказок`,
|
||||
Search: "Поиск шаблонов",
|
||||
Create: "Создать",
|
||||
},
|
||||
Item: {
|
||||
Info: (count: number) => `${count} подсказок`,
|
||||
Chat: "Чат",
|
||||
View: "Просмотр",
|
||||
Edit: "Редактировать",
|
||||
Delete: "Удалить",
|
||||
DeleteConfirm: "Подтвердить удаление?",
|
||||
},
|
||||
EditModal: {
|
||||
Title: (readonly: boolean) =>
|
||||
`Редактирование шаблона подсказки ${
|
||||
readonly ? "(только для чтения)" : ""
|
||||
}`,
|
||||
Download: "Скачать",
|
||||
Clone: "Клонировать",
|
||||
},
|
||||
Config: {
|
||||
Avatar: "Аватар бота",
|
||||
Name: "Имя бота",
|
||||
},
|
||||
},
|
||||
NewChat: {
|
||||
Return: "Вернуться",
|
||||
Skip: "Пропустить",
|
||||
Title: "Выберите маску",
|
||||
SubTitle: "Общайтесь с душой за маской",
|
||||
More: "Найти еще",
|
||||
NotShow: "Не показывать снова",
|
||||
ConfirmNoShow:
|
||||
"Подтвердите отключение? Вы можете включить это позже в настройках.",
|
||||
},
|
||||
|
||||
UI: {
|
||||
Confirm: "Подтвердить",
|
||||
Cancel: "Отмена",
|
||||
Close: "Закрыть",
|
||||
Create: "Создать",
|
||||
Edit: "Редактировать",
|
||||
},
|
||||
};
|
||||
|
||||
export default ru;
|
@@ -70,7 +70,7 @@ const tr: LocaleType = {
|
||||
},
|
||||
Lang: {
|
||||
Name: "Language", // ATTENTION: if you wanna add a new translation, please do not translate this value, leave it as `Language`
|
||||
All: "All Languages",
|
||||
All: "Tüm Diller",
|
||||
Options: {
|
||||
cn: "简体中文",
|
||||
en: "English",
|
||||
@@ -80,7 +80,9 @@ const tr: LocaleType = {
|
||||
tr: "Türkçe",
|
||||
jp: "日本語",
|
||||
de: "Deutsch",
|
||||
vi: "Vietnamese",
|
||||
vi: "Tiếng Việt",
|
||||
ru: "Русский",
|
||||
cs: "Čeština",
|
||||
},
|
||||
},
|
||||
Avatar: "Avatar",
|
||||
|
@@ -67,7 +67,7 @@ const tw: LocaleType = {
|
||||
ConfirmClearAll: "您確定要清除所有数据嗎?",
|
||||
},
|
||||
Lang: {
|
||||
Name: "Language",
|
||||
Name: "Language", // ATTENTION: if you wanna add a new translation, please do not translate this value, leave it as `Language`
|
||||
All: "所有语言",
|
||||
Options: {
|
||||
cn: "简体中文",
|
||||
@@ -78,7 +78,9 @@ const tw: LocaleType = {
|
||||
tr: "Türkçe",
|
||||
jp: "日本語",
|
||||
de: "Deutsch",
|
||||
vi: "Vietnamese",
|
||||
vi: "Tiếng Việt",
|
||||
ru: "Русский",
|
||||
cs: "Čeština",
|
||||
},
|
||||
},
|
||||
Avatar: "大頭貼",
|
||||
|
@@ -2,7 +2,7 @@ import { SubmitKey } from "../store/config";
|
||||
import type { LocaleType } from "./index";
|
||||
|
||||
const vi: LocaleType = {
|
||||
WIP: "Coming Soon...",
|
||||
WIP: "Sắp ra mắt...",
|
||||
Error: {
|
||||
Unauthorized:
|
||||
"Truy cập chưa xác thực, vui lòng nhập mã truy cập trong trang cài đặt.",
|
||||
@@ -80,7 +80,9 @@ const vi: LocaleType = {
|
||||
tr: "Türkçe",
|
||||
jp: "日本語",
|
||||
de: "Deutsch",
|
||||
vi: "Vietnamese",
|
||||
vi: "Tiếng Việt",
|
||||
ru: "Русский",
|
||||
cs: "Čeština",
|
||||
},
|
||||
},
|
||||
Avatar: "Ảnh đại diện",
|
||||
|
Reference in New Issue
Block a user