Add Bulgarian language (#1136)

Co-authored-by: Ron <ron@xron.net>
This commit is contained in:
Ron 2026-03-24 14:44:15 +02:00 committed by GitHub
parent ad75807a69
commit 714ce0c270
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 599 additions and 0 deletions

View file

@ -34,4 +34,5 @@ export const LANGUAGE_METADATA: Record<
tr: { name: "Turkish", nativeName: "Türkçe", priority: 16 },
ar: { name: "Arabic", nativeName: "العربية", priority: 17, direction: "rtl" },
sv: { name: "Swedish", nativeName: "Svenska", priority: 18 },
bg: { name: "Bulgarian", nativeName: "Български", priority: 19 },
};

View file

@ -0,0 +1,598 @@
{
"tray": {
"settings": "Настройки...",
"checkUpdates": "Проверка за актуализации...",
"copyLastTranscript": "Копиране на последния транскрипт",
"unloadModel": "Разтоварване на модела",
"model": "Модел",
"quit": "Изход",
"cancel": "Отказ"
},
"sidebar": {
"general": "Общи",
"models": "Модели",
"advanced": "Разширени",
"postProcessing": "Постобработка",
"history": "История",
"debug": "Отстраняване",
"about": "За приложението"
},
"onboarding": {
"subtitle": "За да започнете, изберете модел за транскрипция",
"recommended": "Препоръчан",
"download": "Изтегляне",
"downloading": "Изтегля се...",
"customModelDescription": "Не се поддържа официално",
"downloadFailed": "Изтеглянето не бе успешно. Опитайте отново.",
"modelCard": {
"accuracy": "точност",
"speed": "скорост"
},
"models": {
"small": {
"name": "Whisper Small",
"description": "Бърз и доста точен."
},
"medium": {
"name": "Whisper Medium",
"description": "Добра точност, средна скорост."
},
"turbo": {
"name": "Whisper Turbo",
"description": "Баланс между точност и скорост."
},
"large": {
"name": "Whisper Large",
"description": "Добра точност, но по-бавен."
},
"parakeet-tdt-0.6b-v2": {
"name": "Parakeet V2",
"description": "Само английски. Най-добрият модел за носители на английски."
},
"parakeet-tdt-0.6b-v3": {
"name": "Parakeet V3",
"description": "Бърз и точен."
},
"moonshine-base": {
"name": "Moonshine Base",
"description": "Много бърз, само английски. Добре обработва акценти."
},
"moonshine-tiny-streaming-en": {
"name": "Moonshine V2 Tiny",
"description": "Ултрабърз, само английски."
},
"moonshine-small-streaming-en": {
"name": "Moonshine V2 Small",
"description": "Бърз, само английски. Добър баланс между скорост и точност."
},
"moonshine-medium-streaming-en": {
"name": "Moonshine V2 Medium",
"description": "Само английски. Високо качество."
},
"breeze-asr": {
"name": "Breeze ASR",
"description": "Оптимизиран за тайвански мандарин. Поддръжка на смесване на езици."
},
"sense-voice-int8": {
"name": "SenseVoice",
"description": "Много бърз. Китайски, английски, японски, корейски, кантонски."
},
"gigaam-v3-e2e-ctc": {
"name": "GigaAM v3",
"description": "Разпознаване на руска реч. Бърз и точен."
},
"canary-180m-flash": {
"name": "Canary 180M Flash",
"description": "Много бърз. Английски, немски, испански, френски. Поддържа превод."
},
"canary-1b-v2": {
"name": "Canary 1B v2",
"description": "Точен многоезичен. 25 европейски езика. Поддържа превод."
}
},
"errors": {
"loadModels": "Неуспешно зареждане на наличните модели",
"downloadModel": "Неуспешно изтегляне на модела: {{error}}"
},
"permissions": {
"title": "Необходими разрешения",
"description": "Handy се нуждае от няколко разрешения, за да работи правилно.",
"microphone": {
"title": "Достъп до микрофон",
"description": "Необходим е, за да чуе гласа ви при транскрипция."
},
"accessibility": {
"title": "Достъп за достъпност",
"description": "Необходим е, за да въвежда транскрибирания текст във вашите приложения."
},
"grant": "Даване на разрешение",
"granted": "Разрешено",
"waiting": "Изчакване...",
"allGranted": "Готово!",
"errors": {
"checkFailed": "Проверката на разрешенията не бе успешна. Опитайте отново.",
"requestFailed": "Заявката за разрешение не бе успешна. Опитайте отново."
}
}
},
"modelSelector": {
"custom": "Персонализиран",
"active": "Активен",
"switching": "Превключване...",
"noModelsAvailable": "Няма налични модели",
"verifying": "Проверка на {{modelName}}...",
"verifyingGeneric": "Проверка...",
"extracting": "Разархивиране на {{modelName}}...",
"extractingMultiple": "Разархивиране на {{count}} модела...",
"extractingGeneric": "Разархивиране...",
"downloading": "Изтегляне {{percentage}}%",
"downloadingMultiple": "Изтегляне на {{count}} модела...",
"modelReady": "Моделът е готов",
"loading": "Зареждане на {{modelName}}...",
"loadingGeneric": "Зареждане...",
"modelError": "Грешка в модела",
"modelUnloaded": "Моделът е разтоварен",
"noModelDownloadRequired": "Няма модел необходимо е изтегляне",
"deleteModel": "Изтриване на {{modelName}}",
"downloadSpeed": "{{speed}} MB/s",
"cancel": "Отказ",
"cancelDownload": "Отказ на изтеглянето",
"capabilities": {
"languageSelection": "Поддържа няколко входни езика",
"singleLanguage": "Поддържа само този език",
"multiLanguage": "Многоезичен",
"languageOnly": "Само {{language}}",
"translation": "Може да превежда на английски",
"translate": "Превод на английски"
}
},
"settings": {
"modelSettings": {
"title": "Настройки на {{model}}",
"noSettingsNeeded": "Този модел работи автоматично без нужда от конфигурация."
},
"general": {
"title": "Общи",
"shortcut": {
"title": "Бързи клавиши на Handy",
"description": "Настройте клавишни комбинации за стартиране на запис за реч към текст",
"loading": "Зареждане на бързите клавиши...",
"none": "Няма настроени бързи клавиши",
"notFound": "Бързият клавиш не е намерен",
"pressKeys": "Натиснете клавишите...",
"bindings": {
"transcribe": {
"name": "Бърз клавиш за транскрипция",
"description": "Клавишната комбинация за запис и транскрибиране на гласа ви."
},
"cancel": {
"name": "Бърз клавиш за отказ",
"description": "Клавишната комбинация за отмяна на текущия запис."
},
"transcribe_with_post_process": {
"name": "Бърз клавиш за постобработка",
"description": "По избор: отделна комбинация, която винаги прилага ИИ постобработка върху транскрипцията."
}
},
"errors": {
"restore": "Неуспешно възстановяване на оригиналния бърз клавиш",
"set": "Неуспешно задаване на бързия клавиш: {{error}}",
"reset": "Неуспешно нулиране на бързия клавиш към първоначалната стойност"
}
},
"language": {
"title": "Език",
"description": "Изберете езика за разпознаване на реч. „Автоматично“ определя езика сам, а изборът на конкретен език може да подобри точността за него.",
"descriptionUnsupported": "Моделът Parakeet автоматично открива езика. Ръчен избор не е необходим.",
"searchPlaceholder": "Търсене на езици...",
"noResults": "Няма намерени езици",
"auto": "Автоматично"
},
"pushToTalk": {
"label": "Натискане за говорене",
"description": "Задръжте за запис, пуснете за спиране"
}
},
"models": {
"title": "Модели за транскрипция",
"description": "Изберете модел за транскрипция или изтеглете допълнителни. Различните модели предлагат различна точност и скорост.",
"yourModels": "Изтеглени модели",
"availableModels": "Налични за изтегляне",
"downloaded": "Изтеглен",
"available": "Наличен за изтегляне",
"deleteConfirm": "Сигурни ли сте, че искате да изтриете {{modelName}}? Ще трябва да го изтеглите отново, за да го използвате.",
"deleteActiveConfirm": "{{modelName}} е вашият активен модел. Изтриването му ще спре транскрипциите, докато не изберете нов модел. Сигурни ли сте?",
"deleteTitle": "Изтриване на модел",
"filters": {
"all": "Всички",
"multiLanguage": "Многоезични",
"translation": "Превод",
"allLanguages": "Всички езици"
},
"noModelsMatch": "Няма модели, отговарящи на този филтър."
},
"sound": {
"title": "Звук",
"microphone": {
"title": "Микрофон",
"description": "Изберете предпочитано микрофонно устройство",
"placeholder": "Изберете микрофон...",
"loading": "Зареждане..."
},
"audioFeedback": {
"label": "Звукова обратна връзка",
"description": "Възпроизвеждане на звук при старт и край на записа"
},
"outputDevice": {
"title": "Изходно устройство",
"description": "Изберете предпочитано изходно аудио устройство за звуци за обратна връзка",
"placeholder": "Изберете изходно устройство...",
"loading": "Зареждане..."
},
"volume": {
"title": "Сила на звука",
"description": "Регулирайте силата на звуците за обратна връзка"
}
},
"advanced": {
"title": "Разширени",
"groups": {
"app": "Приложение",
"output": "Изход",
"transcription": "Транскрипция",
"history": "История",
"experimental": "Експериментални"
},
"experimentalToggle": {
"label": "Експериментални функции",
"description": "Включване на експериментални функции, които са още в разработка."
},
"lazyStreamClose": {
"label": "Държане на микрофона отворен между транскрипции",
"description": "Държи потокът от микрофона отворен 30 секунди след спиране на записа, което намалява забавянето при поредни транскрипции. Може да влоши качеството на Bluetooth аудио, докато е активно."
},
"acceleration": {
"whisper": {
"title": "Ускорение за Whisper",
"description": "Хардуерно ускорение за моделите Whisper. „Автоматично“ използва GPU при наличност (Metal на macOS, Vulkan на Windows/Linux)."
},
"ort": {
"title": "Ускорение за ONNX",
"description": "Хардуерно ускорение за ONNX модели (Parakeet, Canary, Moonshine и др.). DirectML на Windows е експериментален. Моделите може да не транскрибират."
}
},
"startHidden": {
"label": "Стартиране скрито",
"description": "Стартиране в системната област без отваряне на прозореца."
},
"autostart": {
"label": "Стартиране със системата",
"description": "Автоматично стартиране на Handy при влизане в профила ви."
},
"showTrayIcon": {
"label": "Икона в системната област",
"description": "Показване на иконата на Handy в системната област."
},
"overlay": {
"title": "Позиция на наслагването",
"description": "Показване на визуална обратна връзка при запис и транскрипция. На Linux се препоръчва „Няма“.",
"options": {
"none": "Няма",
"bottom": "Долу",
"top": "Горе"
}
},
"pasteMethod": {
"title": "Начин на поставяне",
"description": "Изберете как се вмъква текстът. Директно: симулира писане чрез системния вход. Няма: пропуска поставянето, актуализира само историята/клипборда.",
"options": {
"clipboard": "Клипборд ({{modifier}}+V)",
"clipboardCtrlShiftV": "Клипборд (Ctrl+Shift+V)",
"clipboardShiftInsert": "Клипборд (Shift+Insert)",
"direct": "Директно",
"none": "Няма",
"externalScript": "Външен скрипт"
},
"externalScriptPlaceholder": "/път/към/вашия/script.sh"
},
"typingTool": {
"title": "Инструмент за писане",
"description": "Изберете кой Linux инструмент за писане да се използва при директно поставяне. „Автоматично“ открива и използва най-подходящия за вашата система.",
"options": {
"auto": "Автоматично (препоръчително)"
}
},
"clipboardHandling": {
"title": "Работа с клипборда",
"description": "„Без промяна на клипборда“ запазва съдържанието на клипборда след транскрипция. „Копиране в клипборда“ оставя резултата в клипборда след поставяне.",
"options": {
"dontModify": "Без промяна на клипборда",
"copyToClipboard": "Копиране в клипборда"
}
},
"autoSubmit": {
"title": "Автоматично изпращане",
"description": "Автоматично изпращане на избраната клавишна комбинация след вмъкване на текста. Cmd+Enter важи за macOS, а Windows/Linux използват Super+Enter.",
"options": {
"off": "Изкл.",
"enter": "Enter",
"cmdEnter": "Cmd+Enter",
"superEnter": "Super+Enter",
"ctrlEnter": "Ctrl+Enter"
}
},
"translateToEnglish": {
"label": "Превод на английски",
"description": "Автоматичен превод на реч от други езици на английски по време на транскрипция.",
"descriptionUnsupported": "Моделът {{model}} не поддържа превод."
},
"modelUnload": {
"title": "Разтоварване на модела",
"description": "Автоматично освобождаване на памет на GPU/CPU, ако моделът не е използван за зададеното време",
"options": {
"never": "Никога",
"immediately": "Веднага",
"min2": "След 2 минути",
"min5": "След 5 минути",
"min10": "След 10 минути",
"min15": "След 15 минути",
"hour1": "След 1 час",
"sec15": "След 15 секунди (отстраняване)"
}
},
"customWords": {
"title": "Персонализирани думи",
"description": "Добавете думи, които често се чуват или изписват грешно при транскрипция. Системата автоматично ще коригира близки по звучене думи според вашия списък.",
"placeholder": "Добавете дума",
"add": "Добавяне",
"remove": "Премахване на {{word}}",
"duplicate": "„{{word}}“ вече съществува"
}
},
"postProcessing": {
"title": "Постобработка",
"hotkey": {
"title": "Бърз клавиш"
},
"api": {
"title": "API (съвместим с OpenAI)",
"provider": {
"title": "Доставчик",
"description": "Изберете доставчик, съвместим с OpenAI."
},
"appleIntelligence": {
"title": "Apple Intelligence",
"description": "Работи изцяло на устройството. Не са нужни API ключ или мрежов достъп.",
"requirements": "Изисква Mac с Apple Silicon и macOS Tahoe (26.0) или по-нова. Apple Intelligence трябва да е включена в Системните настройки.",
"unavailable": "Apple Intelligence не е налична на това устройство. Необходим е Mac с Apple Silicon и macOS Tahoe (26.0) или по-нова с включена Apple Intelligence в Системните настройки."
},
"baseUrl": {
"title": "Базов URL",
"description": "Базов API URL за избрания доставчик. Редактируем е само при персонализиран доставчик.",
"placeholder": "https://api.openai.com/v1"
},
"apiKey": {
"title": "API ключ",
"description": "API ключ за избрания доставчик.",
"placeholder": "sk-..."
},
"model": {
"title": "Модел",
"descriptionApple": "Задайте по избор числен лимит на токени или запазете стандартната настройка на устройството.",
"descriptionCustom": "Въведете идентификатора на модела, очакван от вашия персонализиран краен адрес.",
"descriptionDefault": "Изберете модел, предлаган от избрания доставчик.",
"placeholderApple": "Apple Intelligence",
"placeholderWithOptions": "Търсене или избор на модел",
"placeholderNoOptions": "Въведете име на модел",
"refreshModels": "Опресняване на моделите"
}
},
"prompts": {
"title": "Подкана",
"selectedPrompt": {
"title": "Избрана подкана",
"description": "Изберете шаблон за подобряване на транскрипции или създайте нов. Използвайте ${output} в текста на подканата, за да препратите към уловения транскрипт."
},
"noPrompts": "Няма налични подкани",
"selectPrompt": "Изберете подкана",
"createNew": "Нова подкана",
"promptLabel": "Етикет на подканата",
"promptLabelPlaceholder": "Въведете име на подканата",
"promptInstructions": "Инструкции за подканата",
"promptInstructionsPlaceholder": "Напишете инструкциите за изпълнение след транскрипция. Пример: Подобрете граматиката и яснотата на следния текст: ${output}",
"promptTip": "Съвет: Използвайте <code>${output}</code>, за да вмъкнете транскрибирания текст в подканата.",
"updatePrompt": "Обновяване на подканата",
"deletePrompt": "Изтриване на подканата",
"createPrompt": "Създаване на подкана",
"cancel": "Отказ",
"selectToEdit": "Изберете подкана по-горе, за да видите и редактирате подробностите ѝ.",
"createFirst": "Натиснете „Нова подкана“ по-горе, за да създадете първата си подкана за постобработка."
}
},
"history": {
"title": "История",
"openFolder": "Отваряне на папката с записи",
"loading": "Зареждане на историята...",
"empty": "Все още няма транскрипции. Започнете запис, за да изградите история!",
"copyToClipboard": "Копиране на транскрипцията в клипборда",
"save": "Запазване на транскрипцията",
"unsave": "Премахване от запазените",
"delete": "Изтриване на записа",
"deleteError": "Изтриването на записа не бе успешно. Опитайте отново.",
"retranscribe": "Повторна транскрипция",
"retranscribeError": "Повторната транскрипция не бе успешна. Опитайте отново.",
"transcribing": "Транскрибиране...",
"transcriptionFailed": "Транскрипцията не бе успешна. Можете да опитате отново с иконата за повторен опит."
},
"debug": {
"title": "Отстраняване",
"logDirectory": {
"title": "Папка с логове",
"description": "Мястото, където се съхраняват лог файловете"
},
"logLevel": {
"title": "Ниво на логване",
"description": "Задаване на подробността на логовете"
},
"updateChecks": {
"label": "Проверка за актуализации",
"description": "Автоматична проверка за нови версии на Handy"
},
"soundTheme": {
"label": "Звукова тема",
"description": "Избор на звукова тема за сигнал при старт и край на записа"
},
"wordCorrectionThreshold": {
"title": "Праг за корекция на думи",
"description": "Чувствителност при корекция на персонализирани думи"
},
"historyLimit": {
"title": "Лимит на историята",
"description": "Максимален брой записи в историята за пазене",
"entries": "записа"
},
"recordingRetention": {
"title": "Автоматично изтриване на записи",
"description": "Автоматично изтриване на стари записи за пестене на място",
"never": "Никога",
"preserveLimit": "Запазване на последните {{count}}",
"days3": "След 3 дни",
"weeks2": "След 2 седмици",
"months3": "След 3 месеца",
"placeholder": "Изберете период на съхранение..."
},
"alwaysOnMicrophone": {
"label": "Постоянно активен микрофон",
"description": "Държане на микрофона активен за по-бърз отговор"
},
"clamshellMicrophone": {
"title": "Микрофон при затворен капак",
"description": "Микрофон за използване, когато капакът на лаптопа е затворен"
},
"postProcessingToggle": {
"label": "Постобработка",
"description": "Включване на подобряване на текста с ИИ след транскрипция"
},
"muteWhileRecording": {
"label": "Заглушаване при запис",
"description": "Заглушаване на системния звук по време на запис"
},
"appendTrailingSpace": {
"label": "Интервал в края",
"description": "Добавяне на интервал след поставената транскрипция"
},
"keyboardImplementation": {
"title": "Реализация на клавиатурата",
"description": "Избор на бекенд за глобалните бързи клавиши.",
"bindingsReset": "Бързите клавиши бяха несъвместими и са нулирани към подразбираните"
},
"paths": {
"appData": "Данни на приложението:",
"models": "Модели:",
"settings": "Настройки:"
},
"pasteDelay": {
"title": "Забавяне при поставяне",
"description": "Забавяне преди симулацията на поставяне (в милисекунди). Увеличете, ако се поставя грешен текст."
},
"recordingBuffer": {
"title": "Допълнителен буфер на записа",
"description": "Допълнително време (в милисекунди) за запис след пускане на клавиша, за да се улови краят на аудиото. 0 = без допълнителен буфер."
}
},
"about": {
"title": "За приложението",
"version": {
"title": "Версия",
"description": "Текуща версия на Handy"
},
"appDataDirectory": {
"title": "Папка с данни на приложението",
"description": "Мястото, където Handy съхранява данните си"
},
"sourceCode": {
"title": "Изходен код",
"description": "Преглед на изходния код и принос",
"button": "Вижте в GitHub"
},
"supportDevelopment": {
"title": "Подкрепете разработката",
"description": "Помогнете ни да продължим да развиваме Handy",
"button": "Дарение"
},
"acknowledgments": {
"title": "Благодарности",
"whisper": {
"title": "Whisper.cpp",
"description": "Високопроизводително изпълнение на автоматичния модел за разпознаване на реч Whisper на OpenAI",
"details": "Handy използва Whisper.cpp за бързо локално реч-към-текст. Благодарности на Georgi Gerganov и сътрудниците за отличната работа."
}
}
}
},
"footer": {
"downloadingModel": "Изтегляне на {{model}}...",
"checkingUpdates": "Проверка за актуализации...",
"updateAvailable": "Налична актуализация: {{version}}",
"updateAvailableShort": "Налична актуализация",
"upToDate": "Актуална версия",
"downloadUpdate": "Изтегляне на актуализацията",
"restart": "Рестартиране",
"updateCheckingDisabled": "Проверката за актуализации е изключена",
"downloading": "Изтегля се... {{progress}}%",
"installing": "Инсталиране...",
"preparing": "Подготовка...",
"checkForUpdates": "Проверка за актуализации"
},
"common": {
"loading": "Зареждане...",
"save": "Запазване",
"cancel": "Отказ",
"reset": "Нулиране",
"add": "Добавяне",
"remove": "Премахване",
"delete": "Изтриване",
"edit": "Редактиране",
"create": "Създаване",
"update": "Обновяване",
"close": "Затваряне",
"open": "Отваряне",
"default": "По подразбиране",
"enabled": "Включено",
"disabled": "Изключено",
"on": "Вкл.",
"off": "Изкл.",
"yes": "Да",
"no": "Не",
"noOptionsFound": "Няма намерени опции"
},
"accessibility": {
"permissionsRequired": "Необходими са разрешения за достъпност",
"permissionsDescription": "Handy се нуждае от разрешения за достъпност, за да въвежда транскрибирания текст.",
"openSettings": "Отваряне на системните настройки",
"dismiss": "Затваряне"
},
"errors": {
"loadDirectory": "Грешка при зареждане на папката: {{error}}",
"micPermissionDeniedTitle": "Достъпът до микрофона е отказан",
"micPermissionDenied": {
"generic": "Операционната система отказа достъп до микрофона. Моля, дайте разрешение за микрофон в системните настройки.",
"windows": "Включете достъп до микрофона в Настройки → Поверителност и сигурност → Микрофон (включително за настолни приложения).",
"macos": "Дайте достъп до микрофона в Системни настройки → Поверителност и сигурност → Микрофон.",
"linux": "Дайте достъп до микрофона в настройките за звук или поверителност на системата."
},
"noInputDeviceTitle": "Не е намерен микрофон",
"noInputDevice": "Не е открито аудио входно устройство. Свържете микрофон или слушалки и опитайте отново.",
"recordingFailed": "Стартирането на записа не бе успешно: {{error}}",
"modelLoadFailed": "Зареждането на модела не бе успешно: {{model}}",
"modelLoadFailedUnknown": "неизвестен модел"
},
"appLanguage": {
"title": "Език на приложението",
"description": "Промяна на езика на интерфейса на Handy"
},
"overlay": {
"transcribing": "Транскрибиране...",
"processing": "Обработка..."
}
}