diff --git a/frontend/src/components/settings/Languages.vue b/frontend/src/components/settings/Languages.vue index f4e4090e..72968511 100644 --- a/frontend/src/components/settings/Languages.vue +++ b/frontend/src/components/settings/Languages.vue @@ -15,10 +15,8 @@ export default { data() { const dataObj = {}; const locales = { - he: "עברית", - hr: "Hrvatski", - hu: "Magyar", ar: "العربية", + bg: "български език", ca: "Català", cs: "Čeština", de: "Deutsch", @@ -26,15 +24,18 @@ export default { en: "English", es: "Español", fr: "Français", + he: "עברית", + hr: "Hrvatski", + hu: "Magyar", is: "Icelandic", it: "Italiano", ja: "日本語", ko: "한국어", - "nl-be": "Dutch (Belgium)", no: "Norsk", + "nl-be": "Dutch (Belgium)", pl: "Polski", - "pt-br": "Português", - pt: "Português (Brasil)", + "pt-br": "Português (Brasil)", + pt: "Português (Portugal)", ro: "Romanian", ru: "Русский", sk: "Slovenčina", diff --git a/frontend/src/i18n/bg.json b/frontend/src/i18n/bg.json new file mode 100644 index 00000000..82fa6b1b --- /dev/null +++ b/frontend/src/i18n/bg.json @@ -0,0 +1,272 @@ +{ + "buttons": { + "cancel": "Отмени", + "clear": "Изчисти", + "close": "Затвори", + "continue": "Продължи", + "copy": "Копирай", + "copyFile": "Копирай файл", + "copyToClipboard": "Копирай в клипборда", + "copyDownloadLinkToClipboard": "Копирай линк за сваляне в клипборда", + "create": "Създай", + "delete": "Изтрий", + "download": "Свали", + "file": "Файл", + "folder": "Папка", + "fullScreen": "Превключване на цял екран", + "hideDotfiles": "Скрий файлове започващи с точка", + "info": "Информация", + "more": "Повече", + "move": "Премести", + "moveFile": "Премести файл", + "new": "Нов", + "next": "Следващ", + "ok": "Потвърди", + "permalink": "Вземи постоянен линк", + "previous": "Предишен", + "preview": "Преглед", + "publish": "Публикуване", + "rename": "Преименуване", + "replace": "Замяна", + "reportIssue": "Докладвай проблем", + "save": "Запис", + "schedule": "График", + "search": "Търсене", + "select": "Избери", + "selectMultiple": "Избери няколко", + "share": "Сподели", + "shell": "Превключване на терминала", + "submit": "Изпрати", + "switchView": "Смени изгледа", + "toggleSidebar": "Превключване на страничен панел", + "update": "Обнови", + "upload": "Качи", + "openFile": "Отвори файл", + "discardChanges": "Изчисти", + "saveChanges": "Запиши промените" + }, + "download": { + "downloadFile": "Свали файл", + "downloadFolder": "Свали папка", + "downloadSelected": "Свали избраното" + }, + "upload": { + "abortUpload": "Сигурни ли сте, че искате да прекратите?" + }, + "errors": { + "forbidden": "Нямате право на достъп.", + "internal": "Взникна грешка.", + "notFound": "Локацията не може да бъде достигната.", + "connection": "Сървъра не може да бъде достигнат." + }, + "files": { + "body": "Тяло", + "closePreview": "Затвори прегледа", + "files": "Файлове", + "folders": "Папки", + "home": "Начало", + "lastModified": "Последна промяна", + "loading": "Зареждане ...", + "lonely": "Тук е самотно ...", + "metadata": "Метаданни", + "multipleSelectionEnabled": "Множествения избор е разрешен", + "name": "Име", + "size": "Размер", + "sortByLastModified": "Подредба по последна промяна", + "sortByName": "Подредба по име", + "sortBySize": "Подредба по размер", + "noPreview": "За този файл не е наличен преглед." + }, + "help": { + "click": "избери файл или директория", + "ctrl": { + "click": "избери файлове или директории", + "f": "отваря търсене", + "s": "запиши файл или свари директория тук" + }, + "del": "изтрий избраните", + "doubleClick": "отвори файл или директория", + "esc": "изтрий избраното и/или затвори", + "f1": "тази информация", + "f2": "преименувай файл", + "help": "Помощ" + }, + "login": { + "createAnAccount": "Създай акаунт", + "loginInstead": "Вече имаш акаунт", + "password": "Парола", + "passwordConfirm": "Парола Потвърждение", + "passwordsDontMatch": "Паролите не съвпадат", + "signup": "Абониране", + "submit": "Вход", + "username": "Потребителско име", + "usernameTaken": "Потребителското име вече се използва", + "wrongCredentials": "Грешни потребителско име и/или парола", + "logout_reasons": { + "inactivity": "Бяхте разлогнати поради неактивност" + } + }, + "permanent": "Постоянен", + "prompts": { + "copy": "Копирай", + "copyMessage": "Избери къде да копираш файловете си:", + "currentlyNavigating": "В момента навигира към:", + "deleteMessageMultiple": "Сигурни ли сте, че искате да изтриете {count} файл(а)?", + "deleteMessageSingle": "Сигурни ли сте, че искате да изтриете този файл/папка?", + "deleteMessageShare": "Сигурни ли сте, че искате на изтриете това споделяне({path})?", + "deleteUser": "Сигурни ли сте, че искате да изтриете този потребител?", + "deleteTitle": "Изтрий файлове", + "displayName": "Име за показване:", + "download": "Свали файлове", + "downloadMessage": "Изберете формата, в който искате да свалите.", + "error": "Възникна грешка", + "fileInfo": "Информация за файла", + "filesSelected": "Избрани са {count} файла.", + "lastModified": "Последна промяна", + "move": "Премести", + "moveMessage": "Избери ново място за вашите файл(ове)/папк(а/и):", + "newArchetype": "Създай нова публикация базирана на шаблон. Вашия файл ще бъде създаден в папката за съдържание.", + "newDir": "Нова директория", + "newDirMessage": "Именувайте вашата нова директория.", + "newFile": "Нов файл", + "newFileMessage": "Именувайте вашия нов файл.", + "numberDirs": "Брой на директорийте", + "numberFiles": "Брой на файловете", + "rename": "Преименувай", + "renameMessage": "Вмъкни ново име за", + "replace": "Замени", + "replaceMessage": "Файл, които се опитвате да качите има конфликтно име. Искате ли да го пропуснете и да продължите качването или да замените съществуващия файл?\n", + "schedule": "График", + "scheduleMessage": "Изберете дата и час за публикуване на тази публикация.", + "show": "Покажи", + "size": "Размер", + "upload": "Качване", + "uploadFiles": "Качване на {files} файла...", + "uploadMessage": "Изберете опция за качване.", + "optionalPassword": "Опционална парола", + "resolution": "Резолюция", + "discardEditorChanges": "Сигурни ли сте, че искате да откажете направените промени?" + }, + "search": { + "images": "Изображения", + "music": "Музика", + "pdf": "PDF", + "pressToSearch": "За търсене, натиснете Enter ...", + "search": "Търсене ...", + "typeToSearch": "Пишете за търсене ...", + "types": "Типове", + "video": "Видео" + }, + "settings": { + "aceEditorTheme": "Тема на \"Ace редактор\"", + "admin": "Админ", + "administrator": "Администратор", + "allowCommands": "Изпълни команди", + "allowEdit": "Редактира, преименува и изтрива файлове и директории", + "allowNew": "Създава нови файлове и директорий", + "allowPublish": "Публикува нови публикации и страници", + "allowSignup": "Разреши потребителите да се абонират", + "hideLoginButton": "Скрий логин бутона от публичните страници", + "avoidChanges": "(остави празно за да избегнеш промени)", + "branding": "Брандиране", + "brandingDirectoryPath": "Брандиране - път до директория", + "brandingHelp": "Можете да настроите как изглежда вашия File Browser, като промените името и логото му, да добавите стилове и дори да забраните външни линкове към GitHub.\nЗа повече информация за бандиране се обърнете към {0}", + "changePassword": "Промени парола", + "commandRunner": "Изпълнение на команди", + "commandRunnerHelp": "Тук можете да зададете команди, които да се изпълнят при определени събития. Пишете по една команда на ред. Системните променливите {0} и {1} ще са на разположение, като {0} е релативна на {1}. За повече информация относно тази възможност и наличните системни променливи, моля прочетете {2}.", + "commandsUpdated": "Командите са запаметени!", + "createUserDir": "Създай автоматично собствена директория на потребителя, когато го добавяш.", + "minimumPasswordLength": "Минимална дължина на паролата", + "tusUploads": "Качване на части", + "tusUploadsHelp": "File Browser поддържа качване на части, което позволява съзадавнето на ефективно, надеждно, и възобновяемо качване на части дори и при ненадеждна мрежа.", + "tusUploadsChunkSize": "Максимален размер на заявката (за малки качвания ще бъдат използвано директо качване). Можете да въведете цяло число, което означава размера на данните в байтове, или пък текст от вида на 10MB, 1GB и т.н..", + "tusUploadsRetryCount": "Брой повторения, когато част от файл не се качи успешно.", + "userHomeBasePath": "Основен път до личните директории на потребителите", + "userScopeGenerationPlaceholder": "Обхватът ще бъде автоматично генериран", + "createUserHomeDirectory": "Създай лична директория на потребителя", + "customStylesheet": "Потребителски Стилове", + "defaultUserDescription": "Настройки по подразбиране за нови потребители.", + "disableExternalLinks": "Забрани външните връзки (с изключение на документацията)", + "disableUsedDiskPercentage": "Забрани графиката за използване на диска", + "documentation": "документация", + "examples": "Примери", + "executeOnShell": "Изпълни в шела", + "executeOnShellDescription": "По подразбиране, File Browser изпълнява командите директно. Ако искате да ги изпълните в сесия (като Bash или PowerShell), можете да я дефинирате тук заедно с необходимите аргументи и флагове. Ако това е зададено, командата която изпълните ще бъде добавена като аргумент. Това се отнася както за потребителски команди, така и за обработка на събития.", + "globalRules": "Това е общия списък от правила за разрешения или забрани. Те са приложими за всеки потребител. Можете да дефинирате специфични правила в настройките на всеки потребител, които ще имат приоритет над общите.", + "globalSettings": "Глобални Настройки", + "hideDotfiles": "Скрий фаловете започващи с точка", + "insertPath": "Вмъкни пътя", + "insertRegex": "Вмъкни регулярен израз", + "instanceName": "Име на инстанцията", + "language": "Език", + "lockPassword": "Забрани на потребителя да променя паролата", + "newPassword": "Вашата нова парола", + "newPasswordConfirm": "Потвърди вашата нова парола", + "newUser": "Нов потребител", + "password": "Парола", + "passwordUpdated": "Паролата е променена!", + "path": "Път", + "perm": { + "create": "Създаване на файлове и директорий", + "delete": "Изтриване на файлове и директорий", + "download": "Сваляне", + "execute": "Изпълни команди", + "modify": "Редактирай файлове", + "rename": "Преименувай или премести файлове и директорий", + "share": "Сподели файлове" + }, + "permissions": "Разрешения", + "permissionsHelp": "Можете да зададете потребител да бъде администратор или да изберете разрешения индивидуално. Ако изберете \"Администратор\" всички други опции ще бъдат автоматично отметнати. Управлението на потребителите е привилегия на администратор.\n", + "profileSettings": "Настройки на Профила", + "ruleExample1": "предотвратете достъпа до всеки файл започващ с точка (като .git, .gitignore) във всяка папка.\n", + "ruleExample2": "блокира достъпа до файл именуван Caddyfile поставен в началото за обхвата.", + "rules": "Правила", + "rulesHelp": "Тук можете да дефинирате списък от правила за разрешаване и забрана за точно този потребител. Блокираните файлове няма да се покажат в списъците и няма да са достъпни за потребителя. Поддържаме регулярни изрази и пътища релативни на обхвата.\n", + "scope": "Обхват", + "setDateFormat": "Задайте точен формат на дата", + "settingsUpdated": "Настройките са обновени!", + "shareDuration": "Продължителност на споделянето", + "shareManagement": "Управление на споделянето", + "shareDeleted": "Споделянето е премахнато!", + "singleClick": "Използвайте единичен клик за да отворите файлове или директорий", + "themes": { + "default": "Настройки по подразбиране", + "dark": "Тъмна", + "light": "Светла", + "title": "Тема" + }, + "user": "Потребител", + "userCommands": "Команди", + "userCommandsHelp": "Списък разделен с интервал от наличните команди за този потребител.\n", + "userCreated": "Потребителя е създаден!", + "userDefaults": "Настройки по подразбиране на потребителя", + "userDeleted": "Потребителя е изтрит!", + "userManagement": "Управление на потребители", + "userUpdated": "Потребителя е обновен!", + "username": "Потребителско име", + "users": "Потребители" + }, + "sidebar": { + "help": "Помощ", + "hugoNew": "Hugo New", + "login": "Вход", + "logout": "Изход", + "myFiles": "Моите файлове", + "newFile": "Нов файл", + "newFolder": "Нова папка", + "preview": "Преглед", + "settings": "Настройки", + "signup": "Абониране", + "siteSettings": "Настройки на сървъра" + }, + "success": { + "linkCopied": "Връзката е копирана!" + }, + "time": { + "days": "Дни", + "hours": "Часове", + "minutes": "Минути", + "seconds": "Секунди", + "unit": "Единица за време" + } +} diff --git a/frontend/src/i18n/index.ts b/frontend/src/i18n/index.ts index a276ee9d..d576d183 100644 --- a/frontend/src/i18n/index.ts +++ b/frontend/src/i18n/index.ts @@ -2,6 +2,8 @@ import dayjs from "dayjs"; import { createI18n } from "vue-i18n"; import("dayjs/locale/ar"); +import("dayjs/locale/bg"); +import("dayjs/locale/cs"); import("dayjs/locale/de"); import("dayjs/locale/el"); import("dayjs/locale/en"); @@ -14,6 +16,7 @@ import("dayjs/locale/is"); import("dayjs/locale/it"); import("dayjs/locale/ja"); import("dayjs/locale/ko"); +import("dayjs/locale/nb"); import("dayjs/locale/nl-be"); import("dayjs/locale/pl"); import("dayjs/locale/pt-br"); @@ -27,8 +30,6 @@ import("dayjs/locale/uk"); import("dayjs/locale/vi"); import("dayjs/locale/zh-cn"); import("dayjs/locale/zh-tw"); -import("dayjs/locale/cs"); -import("dayjs/locale/nb"); // All i18n resources specified in the plugin `include` option can be loaded // at once using the import syntax @@ -109,6 +110,7 @@ export function detectLocale() { case /^uk\b/.test(locale): locale = "uk"; break; + case /^vi\b/.test(locale): locale = "vi"; break; @@ -123,6 +125,9 @@ export function detectLocale() { case /^no\b/.test(locale): locale = "no"; break; + case /^bg\b/.test(locale): + locale = "bg"; + break; default: locale = "en"; }