Update ru-ru locale (#4401)

* Work on tl

* Small fix

---------

Co-authored-by: Yokayo <nonameutubecomm@gmail.com>
This commit is contained in:
Yokayo
2025-08-19 00:49:13 +07:00
committed by GitHub
parent fe1b5d0b06
commit d262d39ab2
3 changed files with 59 additions and 25 deletions
+2 -2
View File
@@ -3641,7 +3641,7 @@
</div>
<div id="aimlapi_form" data-source="aimlapi">
<h4>
<span>AI/ML API Key</span>
<span data-i18n="AI/ML API Key">AI/ML API Key</span>
</h4>
<div class="flex-container">
<input id="api_key_aimlapi" name="api_key_aimlapi" class="text_pole flex1" value="" type="text" autocomplete="off">
@@ -3650,7 +3650,7 @@
<div data-for="api_key_aimlapi" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you click 'Connect'.">
For privacy reasons, your API key will be hidden after you click 'Connect'.
</div>
<h4>AI/ML Model</h4>
<h4 data-i18n="AI/ML Model">AI/ML Model</h4>
<select id="model_aimlapi_select">
</select>
</div>
+46 -14
View File
@@ -21,12 +21,10 @@
"Maximum Temp": "Макс. температура",
"Exponent": "Экспонента",
"Mirostat Mode": "Режим",
"Mirostat Tau": "Tau",
"Mirostat Eta": "Eta",
"Variability parameter for Mirostat outputs": "Вариативность для выходных данных Mirostat.",
"Learning rate of Mirostat": "Скорость обучения Mirostat.",
"Mirostat_Tau_desc": "Целевая перплексия.",
"Mirostat_Eta_desc": "Скорость обучения Mirostat.",
"Temperature Last": "Температура последней",
"LLaMA / Mistral / Yi models only": "Только для моделей LLaMA / Mistral / Yi. Перед этим обязательно выберите подходящий токенизатор.\nПоследовательности, которых не должно быть на выходе.\nОдна на строку. Текст или [идентификаторы токенов].\nМногие токены имеют пробел впереди. Используйте счетчик токенов, если не уверены.",
"LLaMA / Mistral / Yi models only": "Только для моделей LLaMA / Mistral / Yi. Перед этим обязательно выберите подходящий токенизатор.\nПоследовательности, которых не должно быть на выходе.\nОдна на строку. Текст или [идентификаторы токенов].\nМногие токены имеют пробел впереди. Используйте счетчик токенов, если не уверены, что правильно их определяете.",
"Example: some text [42, 69, 1337]": "Пример:\nкакой-то текст\n[42, 69, 1337]",
"Classifier Free Guidance. More helpful tip coming soon": "Classifier Free Guidance. Чуть позже опишем более подробно",
"Scale": "Scale",
@@ -157,7 +155,7 @@
"Advanced Formatting": "Расширенное форматирование",
"Context Template": "Шаблон контекста",
"Replace Macro in Stop Strings": "Заменять макросы в пользовательских стоп-строках",
"Story String": "Строка истории",
"Story String": "Общий шаблон",
"Example Separator": "Разделитель примеров сообщений",
"Chat Start": "Начало чата",
"Activation Regex": "Рег. выражение для активации",
@@ -301,7 +299,7 @@
"Trim Incomplete Sentences": "Удалять неоконченные предложения",
"Include Newline": "Добавлять новую строку",
"Non-markdown strings": "Строки без разметки",
"Replace Macro in Sequences": "Заменить макросы в строках",
"Replace Macro in Sequences": "Заменять макросы в строках",
"Presets": "Пресеты",
"Start Reply With": "Начинать ответ с",
"Show reply prefix in chat": "Показывать префикс ответов в чате",
@@ -428,7 +426,7 @@
"Persona Description": "Описание персоны",
"Your Persona": "Ваша персона",
"Show notifications on switching personas": "Показывать уведомления при смене персоны",
"In Story String / Prompt Manager": "В строке истории / Менеджере промптов",
"In Story String / Prompt Manager": "В общем шаблоне / Менеджере промптов",
"Top of Author's Note": "Сверху от заметок автора",
"Bottom of Author's Note": "Снизу от заметок автора",
"How do I use this?": "Как пользоваться?",
@@ -610,7 +608,7 @@
"Select this as default persona for the new chats.": "Выбирать эту персону по умолчанию для всех новых чатов.",
"Change persona image": "Сменить аватар персоны",
"Delete persona": "Удалить персону",
"Reduced Motion": "Сокращение анимаций",
"Reduced Motion": "Урезать анимации",
"Auto-select": "Авто-выбор",
"Automatically select a background based on the chat context": "Автоматический выбор фона в зависимости от контекста чата",
"Filter": "Фильтр",
@@ -2272,7 +2270,17 @@
"characters": "перс.",
"character": "персонаж",
"in this group": "в группе",
"Chatting Since": "Первая беседа",
"Chatting Since": "Первый чат",
"Chat Time": "Общее время чата",
"Swipes": "Свайпов сделано",
"First Interaction": "Первое взаимодействие",
"User Messages": "Сообщений отправлено пользователем",
"Character Messages": "Сообщений отправлено персонажем",
"User Words": "Слов отправлено пользователем",
"Character Words": "Слов отправлено персонажем",
"stats_header_User": "пользователю",
"stats_header_Character": "персонажу",
"${0} Stats": "Статистика по ${0}",
"Context": "Контекст",
"Response": "Ответ",
"Connected": "Подключено",
@@ -2376,8 +2384,8 @@
"Delete Tag": "Удалить тег",
"Do you want to delete the tag": "Вы точно хотите удалить тег",
"If you want to merge all references to this tag into another tag, select it below:": "Если хотите заменить ссылки на этот тег на какой-то другой, то выберите из списка:",
"Open Folder (Show all characters even if not selected)": "Открытая папка (показать всех персонажей, включая невыбранных)",
"Closed Folder (Hide all characters unless selected)": "Закрытая папка (скрыть всех персонажей, кроме выбранных)",
"Open Folder (Show all characters even if not selected)": "Открытая папка (показывает всех персонажей, даже если не выбрана)",
"Closed Folder (Hide all characters unless selected)": "Закрытая папка (показывает персонажей только если выбрана)",
"No Folder": "Не папка",
"Show only favorites": "Показать только избранных персонажей",
"Show only groups": "Показать только группы",
@@ -2527,7 +2535,7 @@
"Avoid sending sensitive information. Provider's outputs may include ads.": "Не отправляйте чувствительную информацию. Тексты от провайдера могут содержать рекламу.",
"Pollinations Model": "Модель Pollinations",
"Character details are hidden.": "Информация о персонаже скрыта.",
"Allow / Forbid the use of global styles for this character.": "Разрешить/запретить использование персонажем глобальных стилей.",
"Allow / Forbid the use of global styles for this character.": "Разрешить/запретить применение глобальных стилей к этому персонажу.",
"Choose how to apply CSS style tags if they are defined in Creator's Notes of this character:": "Выберите, к чему применять CSS-теги, объявленные в Заметках создателя у этого персонажа:",
"CAUTION: Malformed styles may cause issues.": "ОСТОРОЖНО: некорректно размеченные стили могут приводить к неожиданному поведению.",
"Just to Creator's Notes": "Только к Заметкам создателя",
@@ -2551,5 +2559,29 @@
"If you want to do it later, select 'Regex' from the extensions menu.": "Если захотите включить их позже, выберите в меню расширений пункт \"Regex\".",
"Are you sure you want to delete the selected regex scripts?": "Вы точно хотите удалить выбранные скрипты?",
"Regex script \"${0}\" imported.": "Успешно импортирован скрипт ${0}",
"Invalid regex object.": "Некорректный объект рег. выражения."
"Invalid regex object.": "Некорректный объект рег. выражения.",
"Sequences as Stop Strings": "Строки из шаблона в качестве стоп-строк",
"Story String Sequences": "Строки для общего шаблона",
"Used in Default position only.": "Только для позиции \"По умолчанию\"",
"Story String Prefix": "Префикс для общего шаблона",
"Inserted before a Story String.": "Вставляется перед общим шаблоном",
"Story String Suffix": "Постфикс для общего шаблона",
"Inserted after a Story String.": "Вставляется после общего шаблона",
"Default (top of context)": "По умолчанию (наверху контекста)",
"Bind Model to Templates": "Связать модель с шаблоном",
"Persona Auto Selected": "Персона автоматически изменена",
"Auto-selected persona based on ${0} connection.<br />Your messages will now be sent as ${1}.": "Персона выбрана автоматически на основе следующего критерия: ${0}<br />Ваши сообщения будут отправляться от лица ${1}",
"Filter to specific generation types.": "Применять промпт только при определённых типах генерации.",
"Quiet": "Тихая",
"Swipe": "Свайп",
"Triggers": "Триггеры",
"All types (default)": "Всегда (по умолчанию)",
"Disabling is not recommended.": "Рекомендуем не отключать.",
"Toggle search bar": "Показать/скрыть поисковую строку",
"Fireworks AI API Key": "Ключ от API Fireworks AI",
"Fireworks AI Model": "Модель Fireworks AI",
"Moonshot AI API Key": "Ключ от API Moonshot AI",
"Moonshot AI Model": "Модель Moonshot AI",
"AI/ML API Key": "Ключ от API AI/ML",
"AI/ML Model": "Модель AI/ML"
}
+11 -9
View File
@@ -4,6 +4,7 @@ import { getRequestHeaders, characters, this_chid } from '../script.js';
import { humanizeGenTime } from './RossAscends-mods.js';
import { callGenericPopup, POPUP_TYPE } from './popup.js';
import { registerDebugFunction } from './power-user.js';
import { t, translate } from './i18n.js';
let charStats = {};
@@ -106,23 +107,24 @@ function createHtml(statsType, stats) {
.duration(stats.date_last_chat - stats.date_first_chat)
.humanize();
}
let statsTypeTranslated = translate(statsType, `stats_header_${statsType}`);
// Create popup HTML with stats
let html = `<h3>${statsType} Stats</h3>`;
let html = '<h3>' + t`${statsTypeTranslated} Stats` + '</h3>';
if (statsType === 'User') {
html += createStatBlock('Chatting Since', `${chatAge} ago`);
html += createStatBlock(t`Chatting Since`, `${chatAge} ago`);
} else {
html += createStatBlock('First Interaction', `${chatAge} ago`);
html += createStatBlock(t`First Interaction`, `${chatAge} ago`);
}
html += createStatBlock('Chat Time', timeStirng);
html += createStatBlock('User Messages', stats.user_msg_count);
html += createStatBlock(t`Chat Time`, timeStirng);
html += createStatBlock(t`User Messages`, stats.user_msg_count);
html += createStatBlock(
'Character Messages',
t`Character Messages`,
stats.non_user_msg_count - stats.total_swipe_count,
);
html += createStatBlock('User Words', stats.user_word_count);
html += createStatBlock('Character Words', stats.non_user_word_count);
html += createStatBlock('Swipes', stats.total_swipe_count);
html += createStatBlock(t`User Words`, stats.user_word_count);
html += createStatBlock(t`Character Words`, stats.non_user_word_count);
html += createStatBlock(t`Swipes`, stats.total_swipe_count);
return callGenericPopup(html, POPUP_TYPE.TEXT);
}