Update ru-ru locale (#4401) * Work on tl * Small fix --------- Co-authored-by: Yokayo <nonameutubecomm@gmail.com>

d262d39ab2ec6e7602854f99ab0372f72283b64b

Yokayo <52032299+Yokayo@users.noreply.github.com>

Signed
3 files changed, +59 -25Showing whitespace changes
public/index.html+2 -2
@@ -3641,7 +3641,7 @@
3641 </div>3641 </div>
3642 <div id="aimlapi_form" data-source="aimlapi">3642 <div id="aimlapi_form" data-source="aimlapi">
3643 <h4>3643 <h4>
3644 <span>AI/ML API Key</span>3644 <span data-i18n="AI/ML API Key">AI/ML API Key</span>
3645 </h4>3645 </h4>
3646 <div class="flex-container">3646 <div class="flex-container">
3647 <input id="api_key_aimlapi" name="api_key_aimlapi" class="text_pole flex1" value="" type="text" autocomplete="off">3647 <input id="api_key_aimlapi" name="api_key_aimlapi" class="text_pole flex1" value="" type="text" autocomplete="off">
@@ -3650,7 +3650,7 @@
3650 <div data-for="api_key_aimlapi" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you click 'Connect'.">3650 <div data-for="api_key_aimlapi" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you click 'Connect'.">
3651 For privacy reasons, your API key will be hidden after you click 'Connect'.3651 For privacy reasons, your API key will be hidden after you click 'Connect'.
3652 </div>3652 </div>
3653 <h4>AI/ML Model</h4>3653 <h4 data-i18n="AI/ML Model">AI/ML Model</h4>
3654 <select id="model_aimlapi_select">3654 <select id="model_aimlapi_select">
3655 </select>3655 </select>
3656 </div>3656 </div>
public/locales/ru-ru.json+46 -14
@@ -21,12 +21,10 @@
21 "Maximum Temp": "Макс. температура",21 "Maximum Temp": "Макс. температура",
22 "Exponent": "Экспонента",22 "Exponent": "Экспонента",
23 "Mirostat Mode": "Режим",23 "Mirostat Mode": "Режим",
24 "Mirostat Tau": "Tau",24 "Mirostat_Tau_desc": "Целевая перплексия.",
25 "Mirostat Eta": "Eta",25 "Mirostat_Eta_desc": "Скорость обучения Mirostat.",
26 "Variability parameter for Mirostat outputs": "Вариативность для выходных данных Mirostat.",
27 "Learning rate of Mirostat": "Скорость обучения Mirostat.",
28 "Temperature Last": "Температура последней",26 "Temperature Last": "Температура последней",
29 "LLaMA / Mistral / Yi models only": "Только для моделей LLaMA / Mistral / Yi. Перед этим обязательно выберите подходящий токенизатор.\nПоследовательности, которых не должно быть на выходе.\nОдна на строку. Текст или [идентификаторы токенов].\nМногие токены имеют пробел впереди. Используйте счетчик токенов, если не уверены.",27 "LLaMA / Mistral / Yi models only": "Только для моделей LLaMA / Mistral / Yi. Перед этим обязательно выберите подходящий токенизатор.\nПоследовательности, которых не должно быть на выходе.\nОдна на строку. Текст или [идентификаторы токенов].\nМногие токены имеют пробел впереди. Используйте счетчик токенов, если не уверены, что правильно их определяете.",
30 "Example: some text [42, 69, 1337]": "Пример:\nкакой-то текст\n[42, 69, 1337]",28 "Example: some text [42, 69, 1337]": "Пример:\nкакой-то текст\n[42, 69, 1337]",
31 "Classifier Free Guidance. More helpful tip coming soon": "Classifier Free Guidance. Чуть позже опишем более подробно",29 "Classifier Free Guidance. More helpful tip coming soon": "Classifier Free Guidance. Чуть позже опишем более подробно",
32 "Scale": "Scale",30 "Scale": "Scale",
@@ -157,7 +155,7 @@
157 "Advanced Formatting": "Расширенное форматирование",155 "Advanced Formatting": "Расширенное форматирование",
158 "Context Template": "Шаблон контекста",156 "Context Template": "Шаблон контекста",
159 "Replace Macro in Stop Strings": "Заменять макросы в пользовательских стоп-строках",157 "Replace Macro in Stop Strings": "Заменять макросы в пользовательских стоп-строках",
160 "Story String": "Строка истории",158 "Story String": "Общий шаблон",
161 "Example Separator": "Разделитель примеров сообщений",159 "Example Separator": "Разделитель примеров сообщений",
162 "Chat Start": "Начало чата",160 "Chat Start": "Начало чата",
163 "Activation Regex": "Рег. выражение для активации",161 "Activation Regex": "Рег. выражение для активации",
@@ -301,7 +299,7 @@
301 "Trim Incomplete Sentences": "Удалять неоконченные предложения",299 "Trim Incomplete Sentences": "Удалять неоконченные предложения",
302 "Include Newline": "Добавлять новую строку",300 "Include Newline": "Добавлять новую строку",
303 "Non-markdown strings": "Строки без разметки",301 "Non-markdown strings": "Строки без разметки",
304 "Replace Macro in Sequences": "Заменить макросы в строках",302 "Replace Macro in Sequences": "Заменять макросы в строках",
305 "Presets": "Пресеты",303 "Presets": "Пресеты",
306 "Start Reply With": "Начинать ответ с",304 "Start Reply With": "Начинать ответ с",
307 "Show reply prefix in chat": "Показывать префикс ответов в чате",305 "Show reply prefix in chat": "Показывать префикс ответов в чате",
@@ -428,7 +426,7 @@
428 "Persona Description": "Описание персоны",426 "Persona Description": "Описание персоны",
429 "Your Persona": "Ваша персона",427 "Your Persona": "Ваша персона",
430 "Show notifications on switching personas": "Показывать уведомления при смене персоны",428 "Show notifications on switching personas": "Показывать уведомления при смене персоны",
431 "In Story String / Prompt Manager": "В строке истории / Менеджере промптов",429 "In Story String / Prompt Manager": "В общем шаблоне / Менеджере промптов",
432 "Top of Author's Note": "Сверху от заметок автора",430 "Top of Author's Note": "Сверху от заметок автора",
433 "Bottom of Author's Note": "Снизу от заметок автора",431 "Bottom of Author's Note": "Снизу от заметок автора",
434 "How do I use this?": "Как пользоваться?",432 "How do I use this?": "Как пользоваться?",
@@ -610,7 +608,7 @@
610 "Select this as default persona for the new chats.": "Выбирать эту персону по умолчанию для всех новых чатов.",608 "Select this as default persona for the new chats.": "Выбирать эту персону по умолчанию для всех новых чатов.",
611 "Change persona image": "Сменить аватар персоны",609 "Change persona image": "Сменить аватар персоны",
612 "Delete persona": "Удалить персону",610 "Delete persona": "Удалить персону",
613 "Reduced Motion": "Сокращение анимаций",611 "Reduced Motion": "Урезать анимации",
614 "Auto-select": "Авто-выбор",612 "Auto-select": "Авто-выбор",
615 "Automatically select a background based on the chat context": "Автоматический выбор фона в зависимости от контекста чата",613 "Automatically select a background based on the chat context": "Автоматический выбор фона в зависимости от контекста чата",
616 "Filter": "Фильтр",614 "Filter": "Фильтр",
@@ -2272,7 +2270,17 @@
2272 "characters": "перс.",2270 "characters": "перс.",
2273 "character": "персонаж",2271 "character": "персонаж",
2274 "in this group": "в группе",2272 "in this group": "в группе",
2275 "Chatting Since": "Первая беседа",2273 "Chatting Since": "Первый чат",
2274 "Chat Time": "Общее время чата",
2275 "Swipes": "Свайпов сделано",
2276 "First Interaction": "Первое взаимодействие",
2277 "User Messages": "Сообщений отправлено пользователем",
2278 "Character Messages": "Сообщений отправлено персонажем",
2279 "User Words": "Слов отправлено пользователем",
2280 "Character Words": "Слов отправлено персонажем",
2281 "stats_header_User": "пользователю",
2282 "stats_header_Character": "персонажу",
2283 "${0} Stats": "Статистика по ${0}",
2276 "Context": "Контекст",2284 "Context": "Контекст",
2277 "Response": "Ответ",2285 "Response": "Ответ",
2278 "Connected": "Подключено",2286 "Connected": "Подключено",
@@ -2376,8 +2384,8 @@
2376 "Delete Tag": "Удалить тег",2384 "Delete Tag": "Удалить тег",
2377 "Do you want to delete the tag": "Вы точно хотите удалить тег",2385 "Do you want to delete the tag": "Вы точно хотите удалить тег",
2378 "If you want to merge all references to this tag into another tag, select it below:": "Если хотите заменить ссылки на этот тег на какой-то другой, то выберите из списка:",2386 "If you want to merge all references to this tag into another tag, select it below:": "Если хотите заменить ссылки на этот тег на какой-то другой, то выберите из списка:",
2379 "Open Folder (Show all characters even if not selected)": "Открытая папка (показать всех персонажей, включая невыбранных)",2387 "Open Folder (Show all characters even if not selected)": "Открытая папка (показывает всех персонажей, даже если не выбрана)",
2380 "Closed Folder (Hide all characters unless selected)": "Закрытая папка (скрыть всех персонажей, кроме выбранных)",2388 "Closed Folder (Hide all characters unless selected)": "Закрытая папка (показывает персонажей только если выбрана)",
2381 "No Folder": "Не папка",2389 "No Folder": "Не папка",
2382 "Show only favorites": "Показать только избранных персонажей",2390 "Show only favorites": "Показать только избранных персонажей",
2383 "Show only groups": "Показать только группы",2391 "Show only groups": "Показать только группы",
@@ -2527,7 +2535,7 @@
2527 "Avoid sending sensitive information. Provider's outputs may include ads.": "Не отправляйте чувствительную информацию. Тексты от провайдера могут содержать рекламу.",2535 "Avoid sending sensitive information. Provider's outputs may include ads.": "Не отправляйте чувствительную информацию. Тексты от провайдера могут содержать рекламу.",
2528 "Pollinations Model": "Модель Pollinations",2536 "Pollinations Model": "Модель Pollinations",
2529 "Character details are hidden.": "Информация о персонаже скрыта.",2537 "Character details are hidden.": "Информация о персонаже скрыта.",
2530 "Allow / Forbid the use of global styles for this character.": "Разрешить/запретить использование персонажем глобальных стилей.",2538 "Allow / Forbid the use of global styles for this character.": "Разрешить/запретить применение глобальных стилей к этому персонажу.",
2531 "Choose how to apply CSS style tags if they are defined in Creator's Notes of this character:": "Выберите, к чему применять CSS-теги, объявленные в Заметках создателя у этого персонажа:",2539 "Choose how to apply CSS style tags if they are defined in Creator's Notes of this character:": "Выберите, к чему применять CSS-теги, объявленные в Заметках создателя у этого персонажа:",
2532 "CAUTION: Malformed styles may cause issues.": "ОСТОРОЖНО: некорректно размеченные стили могут приводить к неожиданному поведению.",2540 "CAUTION: Malformed styles may cause issues.": "ОСТОРОЖНО: некорректно размеченные стили могут приводить к неожиданному поведению.",
2533 "Just to Creator's Notes": "Только к Заметкам создателя",2541 "Just to Creator's Notes": "Только к Заметкам создателя",
@@ -2551,5 +2559,29 @@
2551 "If you want to do it later, select 'Regex' from the extensions menu.": "Если захотите включить их позже, выберите в меню расширений пункт \"Regex\".",2559 "If you want to do it later, select 'Regex' from the extensions menu.": "Если захотите включить их позже, выберите в меню расширений пункт \"Regex\".",
2552 "Are you sure you want to delete the selected regex scripts?": "Вы точно хотите удалить выбранные скрипты?",2560 "Are you sure you want to delete the selected regex scripts?": "Вы точно хотите удалить выбранные скрипты?",
2553 "Regex script \"${0}\" imported.": "Успешно импортирован скрипт ${0}",2561 "Regex script \"${0}\" imported.": "Успешно импортирован скрипт ${0}",
2554 "Invalid regex object.": "Некорректный объект рег. выражения."2562 "Invalid regex object.": "Некорректный объект рег. выражения.",
2563 "Sequences as Stop Strings": "Строки из шаблона в качестве стоп-строк",
2564 "Story String Sequences": "Строки для общего шаблона",
2565 "Used in Default position only.": "Только для позиции \"По умолчанию\"",
2566 "Story String Prefix": "Префикс для общего шаблона",
2567 "Inserted before a Story String.": "Вставляется перед общим шаблоном",
2568 "Story String Suffix": "Постфикс для общего шаблона",
2569 "Inserted after a Story String.": "Вставляется после общего шаблона",
2570 "Default (top of context)": "По умолчанию (наверху контекста)",
2571 "Bind Model to Templates": "Связать модель с шаблоном",
2572 "Persona Auto Selected": "Персона автоматически изменена",
2573 "Auto-selected persona based on ${0} connection.<br />Your messages will now be sent as ${1}.": "Персона выбрана автоматически на основе следующего критерия: ${0}<br />Ваши сообщения будут отправляться от лица ${1}",
2574 "Filter to specific generation types.": "Применять промпт только при определённых типах генерации.",
2575 "Quiet": "Тихая",
2576 "Swipe": "Свайп",
2577 "Triggers": "Триггеры",
2578 "All types (default)": "Всегда (по умолчанию)",
2579 "Disabling is not recommended.": "Рекомендуем не отключать.",
2580 "Toggle search bar": "Показать/скрыть поисковую строку",
2581 "Fireworks AI API Key": "Ключ от API Fireworks AI",
2582 "Fireworks AI Model": "Модель Fireworks AI",
2583 "Moonshot AI API Key": "Ключ от API Moonshot AI",
2584 "Moonshot AI Model": "Модель Moonshot AI",
2585 "AI/ML API Key": "Ключ от API AI/ML",
2586 "AI/ML Model": "Модель AI/ML"
2555}2587}
public/scripts/stats.js+11 -9
@@ -4,6 +4,7 @@ import { getRequestHeaders, characters, this_chid } from '../script.js';
4import { humanizeGenTime } from './RossAscends-mods.js';4import { humanizeGenTime } from './RossAscends-mods.js';
5import { callGenericPopup, POPUP_TYPE } from './popup.js';5import { callGenericPopup, POPUP_TYPE } from './popup.js';
6import { registerDebugFunction } from './power-user.js';6import { registerDebugFunction } from './power-user.js';
7import { t, translate } from './i18n.js';
78
8let charStats = {};9let charStats = {};
910
@@ -106,23 +107,24 @@ function createHtml(statsType, stats) {
106 .duration(stats.date_last_chat - stats.date_first_chat)107 .duration(stats.date_last_chat - stats.date_first_chat)
107 .humanize();108 .humanize();
108 }109 }
110 let statsTypeTranslated = translate(statsType, `stats_header_${statsType}`);
109111
110 // Create popup HTML with stats112 // Create popup HTML with stats
111 let html = `<h3>${statsType} Stats</h3>`;113 let html = '<h3>' + t`${statsTypeTranslated} Stats` + '</h3>';
112 if (statsType === 'User') {114 if (statsType === 'User') {
113 html += createStatBlock('Chatting Since', `${chatAge} ago`);115 html += createStatBlock(t`Chatting Since`, `${chatAge} ago`);
114 } else {116 } else {
115 html += createStatBlock('First Interaction', `${chatAge} ago`);117 html += createStatBlock(t`First Interaction`, `${chatAge} ago`);
116 }118 }
117 html += createStatBlock('Chat Time', timeStirng);119 html += createStatBlock(t`Chat Time`, timeStirng);
118 html += createStatBlock('User Messages', stats.user_msg_count);120 html += createStatBlock(t`User Messages`, stats.user_msg_count);
119 html += createStatBlock(121 html += createStatBlock(
120 'Character Messages',122 t`Character Messages`,
121 stats.non_user_msg_count - stats.total_swipe_count,123 stats.non_user_msg_count - stats.total_swipe_count,
122 );124 );
123 html += createStatBlock('User Words', stats.user_word_count);125 html += createStatBlock(t`User Words`, stats.user_word_count);
124 html += createStatBlock('Character Words', stats.non_user_word_count);126 html += createStatBlock(t`Character Words`, stats.non_user_word_count);
125 html += createStatBlock('Swipes', stats.total_swipe_count);127 html += createStatBlock(t`Swipes`, stats.total_swipe_count);
126128
127 return callGenericPopup(html, POPUP_TYPE.TEXT);129 return callGenericPopup(html, POPUP_TYPE.TEXT);
128}130}