feat(i18n): complete message parity across all 25 locales
The admin.studio.nitroCleanup section (102 keys) only existed in en and nl, so 23 locales fell back to English for the entire Nitro Cleanup panel. The referrals and dailyRewards keys were missing from the same 23 locales, and en itself was missing 6 keys that nl had. Add the missing keys to every locale with translations, so all 25 locales now carry the same 6063 keys.
This commit is contained in:
+193
-6
@@ -818,7 +818,7 @@
|
||||
"rateLimit": "Too many attempts. Please wait before trying again."
|
||||
},
|
||||
"title": "Свързани акаунти",
|
||||
"subtitle": "Свържете социален акаунт, за да можете да влезете с едно щракване",
|
||||
"subtitle": "Свържете социален акаунт, за да влезнете с едно кликване",
|
||||
"connected": "Свързан",
|
||||
"unavailable": "Недостъпен",
|
||||
"login": {
|
||||
@@ -882,7 +882,9 @@
|
||||
"hidePassword": "Hide",
|
||||
"accountDetails": "Account details",
|
||||
"credentials": "Credentials & security",
|
||||
"newestCitizens": "Newest citizens"
|
||||
"newestCitizens": "Newest citizens",
|
||||
"ageVerified": "Над 18 годишен съм и съгласен с изискването за възраст.",
|
||||
"invitedBy": "Поканен от {username}"
|
||||
},
|
||||
"forgot": {
|
||||
"title": "Нулирайте паролата",
|
||||
@@ -1048,7 +1050,9 @@
|
||||
"cmsErrors": "CMS errors",
|
||||
"themeBuilder": "Theme builder",
|
||||
"openSidebar": "Open menu",
|
||||
"closeSidebar": "Close menu"
|
||||
"closeSidebar": "Close menu",
|
||||
"referrals": "Препоръки",
|
||||
"dailyRewards": "Дневни награди"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Табло за управление",
|
||||
@@ -4336,7 +4340,9 @@
|
||||
"importAudit": "Audit",
|
||||
"themeBuilder": "Theme Builder",
|
||||
"studio": "Studio",
|
||||
"cmsErrors": "CMS errors"
|
||||
"cmsErrors": "CMS errors",
|
||||
"referrals": "Препоръки",
|
||||
"dailyRewards": "Дневни награди"
|
||||
},
|
||||
"events": "Events",
|
||||
"eventsSubtitle": "Hotel events and event types",
|
||||
@@ -5843,6 +5849,64 @@
|
||||
"NoscopescreatedyetAddonebelow": "No scopes created yet. Add one below.",
|
||||
"Rename": "Rename"
|
||||
}
|
||||
},
|
||||
"referrals": {
|
||||
"title": "Препоръки",
|
||||
"subtitle": "Система за покани",
|
||||
"referralsToday": "Препоръки днес",
|
||||
"referralsTotal": "Общо препоръки",
|
||||
"invitedTotal": "Преброени покани",
|
||||
"claims": "Изтеглени награди",
|
||||
"settings": "Настройки на наградата",
|
||||
"needed": "Необходими препоръки",
|
||||
"rewardAmount": "Размер на наградата",
|
||||
"rewardCurrency": "Валута на наградата",
|
||||
"blockSameIp": "Отхвърляне на препоръки, споделящи текущия IP адрес на поканителя",
|
||||
"save": "Запазване на настройките",
|
||||
"saving": "Запазване…",
|
||||
"saved": "Настройките за препоръки са запазени.",
|
||||
"saveError": "Настройките за препоръки не можаха да бъдат запазени.",
|
||||
"recent": "Последни препоръки",
|
||||
"unavailable": "Данните за препоръки са временно недостъпни.",
|
||||
"empty": "Все още няма препоръки.",
|
||||
"inviter": "Поканител",
|
||||
"invitee": "Поканен потребител",
|
||||
"ip": "IP адрес",
|
||||
"date": "Дата"
|
||||
},
|
||||
"dailyRewards": {
|
||||
"title": "Дневни награди за вход",
|
||||
"subtitle": "График на дневните награди за вход",
|
||||
"enabled": "Състояние на функцията",
|
||||
"yes": "Активна",
|
||||
"no": "Неактивна",
|
||||
"scheduleDays": "Дни от графика",
|
||||
"claimsToday": "Изтегляния днес",
|
||||
"claimsTotal": "Общо изтегляния",
|
||||
"status": "Състояние на функцията",
|
||||
"statusHint": "Когато е деактивирана, картата с награда се скрива и новите изтегляния се отхвърлят.",
|
||||
"disable": "Деактивиране",
|
||||
"enable": "Активиране",
|
||||
"schedule": "График на наградите",
|
||||
"day": "Ден {day}",
|
||||
"reward": "Награда",
|
||||
"amount": "Сума",
|
||||
"actions": "Действия",
|
||||
"addDay": "Ден",
|
||||
"add": "Добавяне на ден",
|
||||
"save": "Запазване",
|
||||
"saving": "Запазване…",
|
||||
"saved": "Графикът на наградите е запазен.",
|
||||
"cancel": "Отказ",
|
||||
"edit": "Редактиране",
|
||||
"delete": "Изтриване",
|
||||
"created": "Добавен е ден с награда.",
|
||||
"updated": "Денят с награда е обновен.",
|
||||
"deleted": "Денят с награда е премахнат.",
|
||||
"saveError": "Денят с награда не можа да бъде запазен.",
|
||||
"deleteError": "Денят с награда не можа да бъде премахнат.",
|
||||
"confirmDeleteTitle": "Премахване на ден с награда",
|
||||
"confirmDeleteBody": "Този ден с награда вече няма да се дава. Миналите изтегляния остават записани."
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -6223,8 +6287,27 @@
|
||||
"empty": "You're all caught up. No actions waiting.",
|
||||
"unavailable": "Some actions could not be checked. Available actions are shown above.",
|
||||
"retry": "Try again",
|
||||
"rewardUnavailable": "Referral progress is temporarily unavailable. Please try again."
|
||||
}
|
||||
"rewardUnavailable": "Referral progress is temporarily unavailable. Please try again.",
|
||||
"dailyReward": "Вашата дневна награда е готова за изтегляне"
|
||||
},
|
||||
"dailyClaimed": "Дневната награда е изтеглена — до утре!",
|
||||
"dailyErrors": {
|
||||
"already_claimed": "Вече сте изтеглили дневната награда днес.",
|
||||
"disabled": "Дневните награди са деактивирани в момента.",
|
||||
"bad_config": "Графикът на дневната награда не е конфигуриран правилно. Свържете се с екипа.",
|
||||
"ratelimit": "Твърде много опити. Изчакайте малко и опитайте отново.",
|
||||
"error": "Дневната награда не можа да бъде изтеглена. Моля, опитайте отново."
|
||||
},
|
||||
"dailyRewardTitle": "Дневни награди",
|
||||
"dailyRewardHint": "Влизвайте всеки ден и изтегляйте наградата си — серията расте до големите дни.",
|
||||
"dailyRewardDay": "Ден {day}",
|
||||
"dailyRewardStreak": "{count, plural, one {Серия: # ден} other {Серия: # дни}}",
|
||||
"dailyRewardNextClaim": "Следващо изтегляне: {amount} {currency}",
|
||||
"dailyRewardTomorrow": "Утре: {amount} {currency}",
|
||||
"dailyRewardClaim": "Изтегляне на дневна награда",
|
||||
"dailyRewardClaimedToday": "Изтеглено днес — върнете се утре за следващата награда.",
|
||||
"dailyRewardDisabled": "Дневните награди са деактивирани в момента. Можете да разгледате хотела.",
|
||||
"dailyRewardUnavailable": "Графикът на дневната награда не можа да бъде зареден. Моля, опитайте отново."
|
||||
},
|
||||
"housekeeping": {
|
||||
"preview": {
|
||||
@@ -6502,6 +6585,110 @@
|
||||
},
|
||||
"admin": {
|
||||
"studio": {
|
||||
"nitroCleanup": {
|
||||
"alreadyRunning": "Сканиране вече е в ход — прикачено към него.",
|
||||
"ageUnknown": "възрастта е неизвестна",
|
||||
"ageBelow": "< 1д",
|
||||
"scanButton": "Сканиране на мебелни активи",
|
||||
"scanningAssets": "Сканиране на активите…",
|
||||
"cancelButton": "Отказ",
|
||||
"deleteSelected": "Изтриване на избраните ({count})",
|
||||
"deleting": "Изтриване…",
|
||||
"redownloadBroken": "Изтегляне на повредените отново",
|
||||
"redownloading": "Повторно изтегляне…",
|
||||
"autoClean": "Автоматично почистване на старите фалшиви",
|
||||
"cleaning": "Почистване…",
|
||||
"exportManifest": "Експортиране на манифест",
|
||||
"exporting": "Експортиране…",
|
||||
"phaseStems": "Зареждане на мебелните стебла…",
|
||||
"phaseReaddir": "Четене на директориите на активите…",
|
||||
"phaseValidate": "Проверка на .nitro пакети…",
|
||||
"phaseScanning": "Сканиране…",
|
||||
"scanProgressFiles": "{count} файла",
|
||||
"repairProgress": "успешни {ok}, неуспешни {failed}",
|
||||
"attachedNotice": "Сканирането продължава във фонов режим — резултатите ще се появят при приключване.",
|
||||
"sessionCancelled": "Сканирането е отменено.",
|
||||
"onlyOldLabel": "Показване само на файлове по-стари от",
|
||||
"onlyOldAgeLabel": "Минимална възраст в дни за показване",
|
||||
"onlyOldToggle": "Скриване на скорошните файлове",
|
||||
"daysLabel": "дни",
|
||||
"autoAgeLabel": "Минимална възраст в дни за автоматично почистване",
|
||||
"loadingResult": "Зареждане на резултата от сканирането…",
|
||||
"scannedStat": "сканирани файла с активи",
|
||||
"cachedNotice": "(кеширано — директориите не са променени)",
|
||||
"fakeStat": "Фалшиви nitros (без съответстващ елемент)",
|
||||
"brokenStat": "Повредени nitros (нечетими)",
|
||||
"groupEmpty": "Нищо не е намерено",
|
||||
"selectedCount": "{count} избрани",
|
||||
"copiesBadge": "{count} копия",
|
||||
"groupFakeLabel": "Фалшиви nitros",
|
||||
"groupFakeDescription": "Тези файлове не съответстват на нито един елемент в items_base — остатъци от изтрити или преименувани мебели.",
|
||||
"groupBrokenLabel": "Повредени nitros",
|
||||
"groupBrokenDescription": "Тези файлове принадлежат на елемент, но не могат да бъдат разбрани като валиден Nitro пакет.",
|
||||
"groupSwfLabel": "Осиротели SWF файлове",
|
||||
"groupSwfDescription": ".swf файлове, които не съответстват на нито един елемент в items_base.",
|
||||
"groupIconLabel": "Осиротели икони",
|
||||
"groupIconDescription": "Файлове с икони, които не съответстват на нито един елемент в items_base.",
|
||||
"warningText": "Изтриването на повреден .nitro оставя елемента в базата данни без пакет — предпочетете повторно изтегляне или оставете одитът на каталога да го вземе по-късно. Редовете в базата данни никога не се премахват от този инструмент.",
|
||||
"onlyAssetsTouched": "Само файловете с активи се променят — FurnitureData.json и редовете в базата данни остават непроменени.",
|
||||
"emptyHint": "Сканирайте всяка директория с мебели, за да намерите фалшиви и повредени nitro пакети плюс осиротели SWF файлове и икони. Изтрийте ги, изтеглете отново повредените или почистете автоматично старите остатъци.",
|
||||
"noResult": "Все още няма резултат от сканиране — първо стартирайте сканиране на мебелни активи.",
|
||||
"scanFailed": "Сканирането не бе успешно.",
|
||||
"confirmDeleteTitle": "Изтриване на {count} файл (файла)?",
|
||||
"confirmDeleteDescription": "Файловете ще бъдат премахнати от всяка директория (public + огледални gamedata). Редовете в базата данни никога не се променят.",
|
||||
"confirmDeleteLabel": "Изтриване",
|
||||
"confirmRepairTitle": "Изтегляне отново на {count} повреден(и) .nitro пакет(а)?",
|
||||
"confirmRepairDescription": "Пакетите ще бъдат изтеглени отново от конфигурираните nitro източници и записани върху всяка директория (public + огледални gamedata).",
|
||||
"confirmRepairLabel": "Изтегляне отново",
|
||||
"confirmAutoCleanTitle": "Автоматично почистване на фалшиви nitros по-стари от {days} ден (дни)?",
|
||||
"confirmAutoCleanDescription": "Премахват се само фалшиви .nitro файлове (без съответстващ елемент) по-стари от прага. Повредените пакети и скорошните файлове никога не се променят.",
|
||||
"confirmAutoCleanLabel": "Автоматично почистване",
|
||||
"toastDeletePartial": "Изтрити са {copies} копия, но някои файлове не можаха да бъдат премахнати",
|
||||
"toastDeleteDone": "Изтрити са {copies} копия на файлове ({deleted} файла)",
|
||||
"toastRepairDone": "Поправени са {count} .nitro пакета",
|
||||
"toastRepairFailed": "Нито един пакет не можа да бъде получен ({failed} неуспешни)",
|
||||
"toastRepairCancelled": "Поправката е отменена",
|
||||
"toastAutoCleanDone": "Почистени са {deleted} стари фалшиви .nitro файла ({copies} копия). Пропуснати са {recent} скорошни + {broken} повредени.",
|
||||
"toastAutoCleanNothing": "Няма нищо достатъчно старо за премахване (пропуснати {recent} скорошни, {broken} повредени)",
|
||||
"toastManifestDownload": "Манифестът на сканирането е изтеглен",
|
||||
"gamedataTitle": "Почистване на игровите данни",
|
||||
"gamedataHint": "Първо прегледайте: това презаписва FurnitureData.json, FigureMap.json и FigureData.json. За разлика от инструментите за активи по-горе, премахва редове, които не сочат към нищо — прегледайте брояките преди да стартирате.",
|
||||
"gamedataScan": "Преглед на игровите данни",
|
||||
"gamedataScanning": "Сканиране…",
|
||||
"gamedataRun": "Стартиране на избраните",
|
||||
"gamedataRunning": "Почистване…",
|
||||
"gamedataNoResult": "Все още няма преглед — първо сканирайте JSON файловете с игрови данни.",
|
||||
"gamedataCount_duplicates": "Дублиран FurnitureData",
|
||||
"gamedataCount_orphans": "Oсиротели FurnitureData",
|
||||
"gamedataCount_figureMap": "Проблеми с FigureMap",
|
||||
"gamedataCount_figureData": "Неизползван FigureData",
|
||||
"gamedataPass_dedupeFurnitureData": "Дедупликация на FurnitureData",
|
||||
"gamedataPassDesc_dedupeFurnitureData": "Премахва повторени classnames в една секция, като запазва записа с най-висока ревизия.",
|
||||
"gamedataPass_cleanFurnitureData": "Почистване на FurnitureData",
|
||||
"gamedataPassDesc_cleanFurnitureData": "Премахва записите, на които няма .nitro пакет в нито една директория.",
|
||||
"gamedataPass_cleanFigureMap": "Почистване на FigureMap",
|
||||
"gamedataPassDesc_cleanFigureMap": "Премахва частите, сочещи към липсващ набор от FigureData, плюс точно дублирани части.",
|
||||
"gamedataPass_cleanFigureData": "Почистване на FigureData",
|
||||
"gamedataPassDesc_cleanFigureData": "Премахва наборите, които нито една част от FigureMap не сочи, след това палитрите, които нито един тип набор не използва. Трябва да се стартира след Почистване на FigureMap.",
|
||||
"gamedataNothingSelected": "Изберете поне една стъпка за почистване",
|
||||
"gamedataConfirmTitle": "Презаписване на JSON файловете с игрови данни?",
|
||||
"gamedataConfirmDescription": "{passes} стъпка (стъпки) ще се изпълни срещу {duplicates} дублирани групи, {orphans} осиротели реда, {figureMap} проблема с FigureMap и {figureData} неизползвани записи в FigureData. Редовете се премахват без резервно копие — това не може да бъде отменено.",
|
||||
"gamedataConfirmLabel": "Презаписване на файловете",
|
||||
"gamedataDifferingWarning": "Поне едно дублиране не е точно копие на записа, който се запазва, така че изтритият ред е съдържал данни, които целевият няма.",
|
||||
"gamedataCrossSectionNote": "{count} classname (classnames) съществуват и в roomitemtypes, и в wallitemtypes. Те се докладват само — премахването на едно ще промени типа на елемента.",
|
||||
"gamedataToastDone": "Почистването на игровите данни премахна {removed} реда",
|
||||
"gamedataToastNothing": "Игровите данни вече бяха чисти",
|
||||
"gamedataMaxRemovalsLabel": "Макс. реда на стъпка",
|
||||
"gamedataMaxRemovalsHint": "0 използва стандартната стойност 500. Стъпката, която би премахнала повече, спира и пита вместо да пише.",
|
||||
"gamedataLimitTitle": "{pass} би премахнал {wouldRemove} реда, над лимита от {maxRemovals}.",
|
||||
"gamedataLimitDescription": "Тази стъпка нищо не е записала, така че файловете са непроменени. Първо проверете пътищата до активите — грешна директория прави всеки ред осиротял. Вдигането на лимита е отделно, умишлено изпълнение.",
|
||||
"gamedataLimitOverride": "Премахване на {wouldRemove} реда все пак",
|
||||
"historyTitle": "История на автоматичното почистване",
|
||||
"historyScheduled": "по график",
|
||||
"historyManual": "ръчно",
|
||||
"historyEntry": "Премахнати {deleted} ({copies} копия); пропуснати {recent} скорошни и {broken} повредени",
|
||||
"historyErrors": "{count} грешки"
|
||||
},
|
||||
"importDiagnostics": {
|
||||
"attempts": "Диагностика на файловете",
|
||||
"preliminary": "Предварителна проверка на адресите; съдържанието се проверява при импортиране.",
|
||||
|
||||
Reference in New Issue
Block a user