feat(i18n): implement deep merging for locale chunks and enhance Cebuano translations
All checks were successful
Deploy to production / deploy (push) Successful in 2m48s
All checks were successful
Deploy to production / deploy (push) Successful in 2m48s
- Introduced a deep merge function to combine locale chunks, improving the handling of language data for Cebuano. - Updated Cebuano locale files with comprehensive translations, including new sections for admin, social network, and settings. - Enhanced existing translations for clarity and consistency across various components, ensuring a better user experience. - Added new fields in the settings and profile sections to capture more user attributes, improving personalization options.
This commit is contained in:
@@ -80,6 +80,73 @@ import esMessage from './locales/es/message.json';
|
||||
import esPersonal from './locales/es/personal.json';
|
||||
import esSeo from './locales/es/seo.json';
|
||||
|
||||
function isPlainObject(value) {
|
||||
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
||||
}
|
||||
|
||||
/** Tiefes Zusammenführen von Locale-Chunks (ceb überschreibt en nur auf Blattebene, ohne ganze Teilbäume zu verwerfen). */
|
||||
function deepMerge(target, source) {
|
||||
if (!isPlainObject(source)) return target;
|
||||
const base = isPlainObject(target) ? { ...target } : {};
|
||||
for (const key of Object.keys(source)) {
|
||||
const sv = source[key];
|
||||
const tv = base[key];
|
||||
if (isPlainObject(sv) && isPlainObject(tv)) {
|
||||
base[key] = deepMerge(tv, sv);
|
||||
} else if (isPlainObject(sv)) {
|
||||
base[key] = deepMerge({}, sv);
|
||||
} else {
|
||||
base[key] = sv;
|
||||
}
|
||||
}
|
||||
return base;
|
||||
}
|
||||
|
||||
function mergeLocaleChunks(chunks) {
|
||||
return chunks.reduce((acc, chunk) => deepMerge(acc, chunk), {});
|
||||
}
|
||||
|
||||
const cebLocaleChunks = [
|
||||
enGeneral,
|
||||
enHeader,
|
||||
enNavigation,
|
||||
enHome,
|
||||
enChat,
|
||||
enRegister,
|
||||
enPasswordReset,
|
||||
enError,
|
||||
enActivate,
|
||||
enSettings,
|
||||
enAdmin,
|
||||
enSocialNetwork,
|
||||
enFriends,
|
||||
enFalukant,
|
||||
enBlog,
|
||||
enMinigames,
|
||||
enMessage,
|
||||
enPersonal,
|
||||
enSeo,
|
||||
cebGeneral,
|
||||
cebHeader,
|
||||
cebNavigation,
|
||||
cebHome,
|
||||
cebRegister,
|
||||
cebActivate,
|
||||
cebError,
|
||||
cebMessage,
|
||||
cebSettings,
|
||||
cebAdmin,
|
||||
cebPasswordReset,
|
||||
cebSocialNetwork,
|
||||
cebFriends,
|
||||
cebChat,
|
||||
cebPersonal,
|
||||
cebFalukant,
|
||||
cebBlog,
|
||||
cebMinigames,
|
||||
cebSeo,
|
||||
];
|
||||
|
||||
const messages = {
|
||||
en: {
|
||||
...enGeneral,
|
||||
@@ -102,45 +169,7 @@ const messages = {
|
||||
...enPersonal,
|
||||
...enSeo,
|
||||
},
|
||||
ceb: {
|
||||
...enGeneral,
|
||||
...enHeader,
|
||||
...enNavigation,
|
||||
...enHome,
|
||||
...enChat,
|
||||
...enRegister,
|
||||
...enPasswordReset,
|
||||
...enError,
|
||||
...enActivate,
|
||||
...enSettings,
|
||||
...enAdmin,
|
||||
...enSocialNetwork,
|
||||
...enFriends,
|
||||
...enFalukant,
|
||||
...enBlog,
|
||||
...enMinigames,
|
||||
...enMessage,
|
||||
...enPersonal,
|
||||
...cebGeneral,
|
||||
...cebHeader,
|
||||
...cebNavigation,
|
||||
...cebHome,
|
||||
...cebRegister,
|
||||
...cebActivate,
|
||||
...cebError,
|
||||
...cebMessage,
|
||||
...cebSettings,
|
||||
...cebAdmin,
|
||||
...cebPasswordReset,
|
||||
...cebSocialNetwork,
|
||||
...cebFriends,
|
||||
...cebChat,
|
||||
...cebPersonal,
|
||||
...cebFalukant,
|
||||
...cebBlog,
|
||||
...cebMinigames,
|
||||
...cebSeo,
|
||||
},
|
||||
ceb: mergeLocaleChunks(cebLocaleChunks),
|
||||
de: {
|
||||
'Ok': 'Ok',
|
||||
...deGeneral,
|
||||
|
||||
@@ -1,68 +1,482 @@
|
||||
{
|
||||
"admin": {
|
||||
"interests": {
|
||||
"title": "[Admin] - Pagdumala sa mga interes"
|
||||
},
|
||||
"contacts": {
|
||||
"title": "[Admin] - Mga hangyo sa pakigkontak",
|
||||
"date": "Petsa",
|
||||
"from": "Gikan kang",
|
||||
"actions": "Mga aksyon",
|
||||
"open": "Ablihi",
|
||||
"finished": "Tapusa"
|
||||
},
|
||||
"editcontactrequest": {
|
||||
"title": "[Admin] - Usba ang hangyo sa pakigkontak"
|
||||
},
|
||||
"user": {
|
||||
"name": "Ngalan sa user",
|
||||
"active": "Aktibo",
|
||||
"blocked": "Gi-block",
|
||||
"actions": "Mga aksyon",
|
||||
"search": "Pangita"
|
||||
},
|
||||
"vocabLessonReset": {
|
||||
"title": "Kurso sa pinulongan: pag-uswag sa leksiyon",
|
||||
"intro": "Tangtanga ang pag-uswag, mga resulta sa ehersisyo ug natipig nga kahimtang sa usa ka leksiyon lamang (dili ang tibuok kurso). Makita ra ang mga kurso nga na-enroll niini nga tiggamit.",
|
||||
"loadCourses": "Ikarga ang na-enroll nga mga kurso",
|
||||
"selectCourse": "Kurso",
|
||||
"selectLesson": "Leksiyon",
|
||||
"reset": "I-reset ang leksiyon niining user",
|
||||
"confirmTitle": "Tangtanga ang pag-uswag sa leksiyon",
|
||||
"confirm": "Tinuod nga tangtangon ang pag-uswag sa leksiyon nga «{lesson}» ni {username}?",
|
||||
"success": "Na-reset na ang pag-uswag sa leksiyon.",
|
||||
"error": "Dili ma-reset.",
|
||||
"pickUserFirst": "Una pagpili ug user.",
|
||||
"noEnrolledCourses": "Kini nga tiggamit wala na-enroll sa bisan unsang kurso sa pinulongan.",
|
||||
"loadCoursesError": "Dili makarga ang lista sa mga kurso.",
|
||||
"loadingLessons": "Nagkarga sa mga leksiyon …"
|
||||
},
|
||||
"vocabLessonMarkComplete": {
|
||||
"divider": "Ayuhon ang pag-uswag (dili paghimo og peke nga resulta sa ehersisyo)",
|
||||
"throughLabel": "Tanang leksiyon hangtod sa numero (lakip)",
|
||||
"hint": "I-mark ang kulang o abli nga mga row nga nahuman, lakip ang target score ug unang review wave. Ang nahuman na dili usbon.",
|
||||
"submit": "I-mark nga nahuman hangtod dinhi",
|
||||
"confirmTitle": "I-mark ang mga leksiyon nga nahuman",
|
||||
"confirm": "I-mark nga nahuman ang tanang leksiyon nga numero ≤ {n} ni {username} niining kurso?",
|
||||
"success": "{marked} ka leksiyon nga bag-ong gi-mark nga nahuman ({unchanged} klaro nang nahuman).",
|
||||
"successNone": "Walay pagbag-o: tanang leksiyon nga naapektuhan ({unchanged}) klaro nang nahuman.",
|
||||
"error": "Dili ma-mark nga nahuman."
|
||||
},
|
||||
"rights": {
|
||||
"add": "Idugang ang katungod",
|
||||
"select": "Palihog pagpili",
|
||||
"current": "Karon nga mga katungod"
|
||||
},
|
||||
"forum": {
|
||||
"title": "[Admin] - Forum",
|
||||
"currentForums": "Anaa nang mga forum",
|
||||
"edit": "Usba",
|
||||
"delete": "Tangtanga",
|
||||
"createForum": "Paghimo",
|
||||
"forumName": "Titulo",
|
||||
"create": "Paghimo",
|
||||
"selectPermissions": "Palihog pagpili",
|
||||
"confirmDeleteTitle": "Tangtanga ang forum"
|
||||
"admin": {
|
||||
"interests": {
|
||||
"title": "[Admin] - Pagdumala sa mga interes",
|
||||
"newinterests": {
|
||||
"name": "Ngalan sa interes",
|
||||
"status": "Na-aprub",
|
||||
"adultonly": "Hamtong lamang",
|
||||
"translations": "Mga hubad",
|
||||
"isactive": "Aktibo",
|
||||
"isadult": "Hamtong lamang",
|
||||
"delete": "Tangtanga"
|
||||
}
|
||||
},
|
||||
"contacts": {
|
||||
"title": "[Admin] - Mga hangyo sa pakigkontak",
|
||||
"date": "Petsa",
|
||||
"from": "Gikan kang",
|
||||
"actions": "Mga aksyon",
|
||||
"open": "Usba",
|
||||
"finished": "Humana"
|
||||
},
|
||||
"editcontactrequest": {
|
||||
"title": "[Admin] - Usba ang hangyo sa pakigkontak"
|
||||
},
|
||||
"user": {
|
||||
"name": "Ngalan sa user",
|
||||
"active": "Aktibo",
|
||||
"blocked": "Gi-block",
|
||||
"actions": "Mga aksyon",
|
||||
"search": "Pangita"
|
||||
},
|
||||
"vocabLessonReset": {
|
||||
"title": "Kurso sa pinulongan: pag-uswag sa leksiyon",
|
||||
"intro": "Tangtanga ang pag-uswag, mga resulta sa ehersisyo ug natipig nga kahimtang sa usa ka leksiyon lamang (dili ang tibuok kurso). Makita ra ang mga kurso nga na-enroll niini nga tiggamit.",
|
||||
"loadCourses": "Ikarga ang na-enroll nga mga kurso",
|
||||
"selectCourse": "Kurso",
|
||||
"selectLesson": "Leksiyon",
|
||||
"reset": "I-reset ang leksiyon niining user",
|
||||
"confirmTitle": "Tangtanga ang pag-uswag sa leksiyon",
|
||||
"confirm": "Tinuod nga tangtangon ang pag-uswag sa leksiyon nga «{lesson}» ni {username}?",
|
||||
"success": "Na-reset na ang pag-uswag sa leksiyon.",
|
||||
"error": "Dili ma-reset.",
|
||||
"pickUserFirst": "Una pagpili ug user.",
|
||||
"noEnrolledCourses": "Kini nga tiggamit wala na-enroll sa bisan unsang kurso sa pinulongan.",
|
||||
"loadCoursesError": "Dili makarga ang lista sa mga kurso.",
|
||||
"loadingLessons": "Nagkarga sa mga leksiyon …"
|
||||
},
|
||||
"vocabLessonMarkComplete": {
|
||||
"divider": "Ayuhon ang pag-uswag (dili paghimo og peke nga resulta sa ehersisyo)",
|
||||
"throughLabel": "Tanang leksiyon hangtod sa numero (lakip)",
|
||||
"hint": "I-mark ang kulang o abli nga mga row nga nahuman, lakip ang target score ug unang review wave. Ang nahuman na dili usbon.",
|
||||
"submit": "I-mark nga nahuman hangtod dinhi",
|
||||
"confirmTitle": "I-mark ang mga leksiyon nga nahuman",
|
||||
"confirm": "I-mark nga nahuman ang tanang leksiyon nga numero ≤ {n} ni {username} niining kurso?",
|
||||
"success": "{marked} ka leksiyon nga bag-ong gi-mark nga nahuman ({unchanged} klaro nang nahuman).",
|
||||
"successNone": "Walay pagbag-o: tanang leksiyon nga naapektuhan ({unchanged}) klaro nang nahuman.",
|
||||
"error": "Dili ma-mark nga nahuman."
|
||||
},
|
||||
"adultVerification": {
|
||||
"title": "[Admin] - Pag-aprub sa erotik",
|
||||
"intro": "Ang mga hamtong nga tiggamit makahimo og hangyo sa pag-abli sa erotik nga lugar. Dinhi masusi, ma-aprub o ma-balibaran ang mga hangyo.",
|
||||
"username": "User",
|
||||
"age": "Edad",
|
||||
"statusLabel": "Status",
|
||||
"requestLabel": "Prueba",
|
||||
"actions": "Mga aksyon",
|
||||
"approve": "Aprub",
|
||||
"reject": "Balibari",
|
||||
"resetPending": "Ibutang nga pending",
|
||||
"openDocument": "Ablihi ang dokumento",
|
||||
"previewTitle": "Preview sa prueba",
|
||||
"closePreview": "Isira ang preview",
|
||||
"previewUnavailable": "Walay inline preview niini nga matang sa file.",
|
||||
"documentMissing": "Wala makit-i ang verification file sa server.",
|
||||
"empty": "Walay angay nga hangyo.",
|
||||
"loadError": "Dili makarga ang mga pag-aprub.",
|
||||
"updateError": "Dili ma-update ang status.",
|
||||
"documentError": "Dili maablihi ang dokumento.",
|
||||
"filters": {
|
||||
"pending": "Pending",
|
||||
"approved": "Na-aprub",
|
||||
"rejected": "Gibalibaran",
|
||||
"all": "Tanan"
|
||||
},
|
||||
"status": {
|
||||
"none": "Wala mangayo",
|
||||
"pending": "Pending",
|
||||
"approved": "Na-aprub",
|
||||
"rejected": "Gibalibaran"
|
||||
},
|
||||
"messages": {
|
||||
"approved": "Gi-aprub na.",
|
||||
"rejected": "Gibalibaran ang pag-aprub.",
|
||||
"pending": "Gi-ibalik sa pending ang hangyo."
|
||||
}
|
||||
},
|
||||
"eroticModeration": {
|
||||
"title": "[Admin] - Moderasyon sa erotik",
|
||||
"intro": "Ang gi-report nga erotik nga mga hulagway ug video masusi dinhi, matago, matangtang, o i-escalate batok sa account.",
|
||||
"empty": "Walay angay nga report.",
|
||||
"loadError": "Dili makarga ang mga report.",
|
||||
"actionError": "Dili matuman ang aksyon sa moderation.",
|
||||
"actionSuccess": "Nasave na ang aksyon sa moderation.",
|
||||
"target": "Target",
|
||||
"owner": "Tag-iya",
|
||||
"reporter": "Nag-report",
|
||||
"reason": "Rason",
|
||||
"statusLabel": "Status",
|
||||
"meta": "Oras / aksyon",
|
||||
"actions": "Mga aksyon",
|
||||
"image": "Hulagway",
|
||||
"video": "Video",
|
||||
"hidden": "Gitago",
|
||||
"preview": "Preview",
|
||||
"previewError": "Dili makarga ang preview.",
|
||||
"dismiss": "Isalikway",
|
||||
"hide": "Itago",
|
||||
"restore": "Ibalik",
|
||||
"delete": "Tangtanga",
|
||||
"blockUploads": "I-block ang mga upload",
|
||||
"revokeAccess": "Kuhaa ang erotik access",
|
||||
"notePrompt": "Nota para niini nga aksyon sa moderation",
|
||||
"actionLabels": {
|
||||
"dismiss": "Gisalikway",
|
||||
"hide_content": "Gitago",
|
||||
"restore_content": "Gibalik",
|
||||
"delete_content": "Gitantang",
|
||||
"block_uploads": "Gi-block ang upload",
|
||||
"revoke_access": "Gikuha ang access"
|
||||
},
|
||||
"filters": {
|
||||
"open": "Abli",
|
||||
"actioned": "Naaksyonan",
|
||||
"dismissed": "Gisalikway",
|
||||
"all": "Tanan"
|
||||
},
|
||||
"status": {
|
||||
"open": "Abli",
|
||||
"actioned": "Naaksyonan",
|
||||
"dismissed": "Gisalikway"
|
||||
}
|
||||
},
|
||||
"rights": {
|
||||
"add": "Idugang ang katungod",
|
||||
"select": "Palihog pagpili",
|
||||
"current": "Karon nga mga katungod"
|
||||
},
|
||||
"forum": {
|
||||
"title": "[Admin] - Forum",
|
||||
"currentForums": "Anaa nang mga forum",
|
||||
"edit": "Usba",
|
||||
"delete": "Tangtanga",
|
||||
"createForum": "Paghimo",
|
||||
"forumName": "Titulo",
|
||||
"create": "Paghimo",
|
||||
"permissions": {
|
||||
"label": "Permiso",
|
||||
"all": "Tanan",
|
||||
"admin": "Admin lamang",
|
||||
"teammember": "Miyembro sa team lamang",
|
||||
"user": "Piniling user lamang",
|
||||
"age": "Edad 14+ lamang"
|
||||
},
|
||||
"selectPermissions": "Palihog pagpili",
|
||||
"confirmDeleteMessage": "Tinuod nga gusto nimong tangtangon kini nga forum?",
|
||||
"confirmDeleteTitle": "Tangtanga ang forum"
|
||||
},
|
||||
"match3": {
|
||||
"title": "Pagdumala sa Match3 nga mga level",
|
||||
"newLevel": "Paghimo og bag-ong level",
|
||||
"editLevel": "Usba ang level",
|
||||
"deleteLevel": "Tangtanga ang level",
|
||||
"confirmDelete": "Tinuod nga gusto nimong tangtangon kini nga level?",
|
||||
"levelName": "Ngalan",
|
||||
"levelDescription": "Deskripsiyon",
|
||||
"boardWidth": "Lapad",
|
||||
"boardHeight": "Taas",
|
||||
"moveLimit": "Limit sa lihok",
|
||||
"levelOrder": "Order",
|
||||
"boardLayout": "Layout sa board",
|
||||
"tileTypes": "Anaa nga matang sa tile",
|
||||
"actions": "Mga aksyon",
|
||||
"edit": "Usba",
|
||||
"delete": "Tangtanga",
|
||||
"save": "I-save",
|
||||
"cancel": "Kanselahon",
|
||||
"update": "I-update",
|
||||
"create": "Paghimo",
|
||||
"boardControls": {
|
||||
"fillAll": "I-activate tanan",
|
||||
"clearAll": "I-deactivate tanan",
|
||||
"invert": "Baliktad"
|
||||
},
|
||||
"loading": "Nagkarga sa mga level …",
|
||||
"retry": "Suwayi pag-usab",
|
||||
"availableLevels": "Anaa nga mga level: {count}",
|
||||
"levelFormat": "Level {number}: {name}",
|
||||
"levelObjectives": "Mga tumong sa level",
|
||||
"objectivesTitle": "Kondisyon sa kadaogan",
|
||||
"addObjective": "Idugang ang tumong",
|
||||
"removeObjective": "Kuhaa",
|
||||
"objectiveType": "Matang",
|
||||
"objectiveTypeScore": "Mangolekta og score",
|
||||
"objectiveTypeMatches": "Paghimog match",
|
||||
"objectiveTypeMoves": "Gamita ang mga lihok",
|
||||
"objectiveTypeTime": "Hupti ang oras",
|
||||
"objectiveTypeSpecial": "Espesyal nga tumong",
|
||||
"objectiveOperator": "Operator",
|
||||
"operatorGreaterEqual": "Mas dako o pareho (≥)",
|
||||
"operatorLessEqual": "Mas gamay o pareho (≤)",
|
||||
"operatorEqual": "Pareho (=)",
|
||||
"operatorGreater": "Mas dako kay (>)",
|
||||
"operatorLess": "Mas gamay kay (<)",
|
||||
"objectiveTarget": "Target nga bili",
|
||||
"objectiveTargetPlaceholder": "pananglitan 100",
|
||||
"objectiveOrder": "Order",
|
||||
"objectiveOrderPlaceholder": "1, 2, 3 …",
|
||||
"objectiveDescription": "Deskripsiyon",
|
||||
"objectiveDescriptionPlaceholder": "pananglitan mangolekta og 100 puntos",
|
||||
"objectiveRequired": "Gikinahanglan aron mahuman ang level",
|
||||
"noObjectives": "Walay kondisyon sa kadaogan. I-klik ang «Idugang ang tumong»."
|
||||
},
|
||||
"falukant": {
|
||||
"edituser": {
|
||||
"title": "Usba ang Falukant user",
|
||||
"username": "Ngalan sa user",
|
||||
"characterName": "Ngalan sa karakter",
|
||||
"user": "User",
|
||||
"success": "Nasave na ang mga kausaban.",
|
||||
"error": "Dili masave ang mga kausaban.",
|
||||
"errorLoadingBranches": "Sayop sa pagkarga sa mga sangang opisina.",
|
||||
"errorUpdatingStock": "Sayop sa pag-update sa bodega.",
|
||||
"stockUpdated": "Malampuson nga na-update ang bodega.",
|
||||
"search": "Pangita",
|
||||
"tabs": {
|
||||
"userdata": "Datos sa user",
|
||||
"branches": "Mga sangang opisina"
|
||||
},
|
||||
"branches": {
|
||||
"title": "Mga sangang opisina ug bodega",
|
||||
"noStocks": "Walay bodega",
|
||||
"noBranches": "Walay nakit-an nga sangang opisina",
|
||||
"addStock": "Idugang ang bodega",
|
||||
"stockType": "Matang sa bodega",
|
||||
"selectStockType": "Pilia ang matang sa bodega",
|
||||
"quantity": "Kantidad",
|
||||
"allStocksAdded": "Anaa na ang tanang matang sa bodega"
|
||||
},
|
||||
"errorLoadingStockTypes": "Sayop sa pagkarga sa mga matang sa bodega.",
|
||||
"errorAddingStock": "Sayop sa pagdugang sa bodega.",
|
||||
"stockAdded": "Malampuson nga nadugang ang bodega.",
|
||||
"invalidStockData": "Palihog sulodi ang balido nga matang ug kantidad.",
|
||||
"pregnancy": {
|
||||
"title": "Pagmabdus (admin)",
|
||||
"characterId": "ID sa karakter",
|
||||
"status": "Status",
|
||||
"statusActive": "Nagpaabot hangtod",
|
||||
"statusNone": "Dili mabdus",
|
||||
"fatherId": "ID sa amahan nga karakter (opsyonal)",
|
||||
"fatherSelect": "Amahan (asawa / nobyo / uyab)",
|
||||
"fatherNone": "— walay natipig nga amahan —",
|
||||
"fatherHintList": "Gikan sa relasyon niini nga karakter (kaminyoon, engagement, aktibong uyab).",
|
||||
"fatherHintManual": "Walay angay nga partner sa database: isulod ang ID sa amahan nga karakter.",
|
||||
"fatherManualPlaceholder": "ID sa karakter",
|
||||
"dueDays": "Mga adlaw hangtod sa due date",
|
||||
"dueDaysHint": "0 = due karon (mahimong mosunod ang pagkatawo depende sa lohika sa dula).",
|
||||
"force": "Ibutang ang pagmabdus",
|
||||
"clear": "Tangtanga ang pagmabdus",
|
||||
"successForce": "Na-set na ang pagmabdus.",
|
||||
"successClear": "Natangtang na ang pagmabdus.",
|
||||
"error": "Napakyas ang aksyon.",
|
||||
"relationship": {
|
||||
"married": "Asawa",
|
||||
"engaged": "Nobyo/nobya",
|
||||
"lover": "Uyab"
|
||||
}
|
||||
},
|
||||
"birth": {
|
||||
"title": "Pugson ang pagkatawo (admin)",
|
||||
"motherHint": "Ang karakter sa ibabaw gamiton isip inahan.",
|
||||
"fatherId": "ID sa amahan nga karakter",
|
||||
"fatherSelect": "Amahan (asawa / nobyo / uyab)",
|
||||
"fatherChoose": "— pilia ang amahan —",
|
||||
"fatherHintList": "Gikan sa relasyon niini nga karakter.",
|
||||
"fatherHintManual": "Walay partner sa lista: isulod ang ID sa amahan.",
|
||||
"fatherRequired": "Palihog pilia ang amahan o isulod ang ID sa karakter.",
|
||||
"context": "Konteksto",
|
||||
"contextMarriage": "Kaminyoon",
|
||||
"contextLover": "Uyab",
|
||||
"legitimacy": "Legitimidad",
|
||||
"legitimate": "Legitimo",
|
||||
"ackBastard": "Giila nga bastardo",
|
||||
"hiddenBastard": "Tago nga bastardo",
|
||||
"gender": "Sekso sa bata",
|
||||
"genderRandom": "Random",
|
||||
"male": "Lalaki",
|
||||
"female": "Babaye",
|
||||
"force": "Pugson ang pagkatawo",
|
||||
"success": "Nahimo ang bata (bautismo pending).",
|
||||
"error": "Dili mapugos ang pagkatawo."
|
||||
}
|
||||
},
|
||||
"createNPC": {
|
||||
"title": "Paghimo og mga NPC",
|
||||
"region": "Lungsod",
|
||||
"allRegions": "Tanan nga lungsod",
|
||||
"ageRange": "Sakup sa edad",
|
||||
"to": "hangtod",
|
||||
"years": "ka tuig",
|
||||
"titleRange": "Sakup sa titulo",
|
||||
"count": "Isip kada kombinasyon lungsod–titulo",
|
||||
"countHelp": "Kini nga isip himoon sa matag kombinasyon sa napiling lungsod ug titulo.",
|
||||
"create": "Paghimo og mga NPC",
|
||||
"creating": "Naghimo …",
|
||||
"result": "Resulta",
|
||||
"createdCount": "{count} ka NPC ang nahimo.",
|
||||
"combinationInfo": "{perCombination} ka NPC matag kombinasyon × {combinations} ka kombinasyon = {count} ka NPC tanan",
|
||||
"age": "Edad",
|
||||
"errorLoadingRegions": "Sayop sa pagkarga sa mga lungsod.",
|
||||
"errorLoadingTitles": "Sayop sa pagkarga sa mga titulo.",
|
||||
"errorCreating": "Sayop sa paghimo sa mga NPC.",
|
||||
"invalidAgeRange": "Dili balido nga sakup sa edad.",
|
||||
"invalidTitleRange": "Dili balido nga sakup sa titulo.",
|
||||
"invalidCount": "Dili balido nga isip (1–500).",
|
||||
"progress": "Progreso",
|
||||
"progressDetails": "{current} sa {total} ka NPC ang nahimo",
|
||||
"timeRemainingSeconds": "Nahibilin nga oras: {seconds} ka segundo",
|
||||
"timeRemainingMinutes": "Nahibilin nga oras: {minutes} ka minuto {seconds} ka segundo",
|
||||
"almostDone": "Hapit na …",
|
||||
"jobNotFound": "Wala makit-i ang trabaho o na-expire na."
|
||||
}
|
||||
},
|
||||
"chatrooms": {
|
||||
"title": "[Admin] - Pagdumala sa chat room",
|
||||
"roomName": "Ngalan sa room",
|
||||
"create": "Paghimo og chat room",
|
||||
"edit": "Usba ang chat room",
|
||||
"type": "Matang",
|
||||
"isPublic": "Makita sa publiko",
|
||||
"isAdultOnly": "Erotik nga lugar lamang",
|
||||
"actions": "Mga aksyon",
|
||||
"genderRestriction": {
|
||||
"show": "Tugoti ang limit sa sekso",
|
||||
"label": "Limit sa sekso"
|
||||
},
|
||||
"minAge": {
|
||||
"show": "Butangi ang minimum nga edad",
|
||||
"label": "Minimum nga edad"
|
||||
},
|
||||
"maxAge": {
|
||||
"show": "Butangi ang maximum nga edad",
|
||||
"label": "Maximum nga edad"
|
||||
},
|
||||
"password": {
|
||||
"show": "Tugoti ang proteksyon sa password",
|
||||
"label": "Password"
|
||||
},
|
||||
"friendsOfOwnerOnly": "Mga higala sa tag-iya lamang",
|
||||
"requiredUserRight": {
|
||||
"show": "Butangi ang gikinahanglan nga katungod sa user",
|
||||
"label": "Gikinahanglan nga katungod sa user"
|
||||
},
|
||||
"roomtype": {
|
||||
"chat": "Chat",
|
||||
"dice": "Dado",
|
||||
"poker": "Poker",
|
||||
"hangman": "Hangman"
|
||||
},
|
||||
"rights": {
|
||||
"talk": "Makistorya",
|
||||
"scream": "Mosinggit",
|
||||
"whisper": "Whisper",
|
||||
"start game": "Sugdi ang dula",
|
||||
"open room": "Ablihi ang room",
|
||||
"systemmessage": "Mensahe sa sistema"
|
||||
},
|
||||
"confirmDelete": "Tinuod nga gusto nimong tangtangon kini nga chat room?"
|
||||
},
|
||||
"userStatistics": {
|
||||
"title": "[Admin] - Estadistika sa user",
|
||||
"totalUsers": "Tanan nga mga user",
|
||||
"genderDistribution": "Distribusyon sa sekso",
|
||||
"ageDistribution": "Distribusyon sa edad"
|
||||
},
|
||||
"taxiTools": {
|
||||
"title": "Mga himan sa taxi",
|
||||
"description": "Pagdumala sa mga mapa, level ug setting sa taxi",
|
||||
"mapEditor": {
|
||||
"title": "Usba ang mapa",
|
||||
"availableMaps": "Anaa nga mga mapa: {count}",
|
||||
"newMap": "Paghimo og bag-ong mapa",
|
||||
"mapFormat": "{name} (Posisyon: {x},{y})",
|
||||
"mapName": "Ngalan sa mapa",
|
||||
"mapDescription": "Deskripsiyon",
|
||||
"mapWidth": "Lapad",
|
||||
"mapHeight": "Taas",
|
||||
"tileSize": "Sukod sa tile",
|
||||
"positionX": "Posisyon X",
|
||||
"positionY": "Posisyon Y",
|
||||
"mapType": "Matang sa mapa",
|
||||
"mapLayout": "Layout sa mapa",
|
||||
"tilePalette": "Palette sa tile",
|
||||
"streetNames": "Ngalan sa dalan",
|
||||
"extraElements": "Dugang nga elemento",
|
||||
"streetNameHorizontal": "Ngalan sa dalan (pahigda)",
|
||||
"streetNameVertical": "Ngalan sa dalan (patindog)",
|
||||
"continueHorizontal": "Padayon sa laing direksiyon (→)",
|
||||
"continueVertical": "Padayon sa laing direksiyon (↓)",
|
||||
"continueOther": "Padayon sa laing direksiyon",
|
||||
"position": "Posisyon",
|
||||
"fillAllRoads": "Tanan nga dalan",
|
||||
"clearAll": "Hawani tanan",
|
||||
"generateRandom": "Himoa nga random",
|
||||
"delete": "Tangtanga",
|
||||
"update": "I-update",
|
||||
"cancel": "Kanselahon",
|
||||
"create": "Paghimo",
|
||||
"createSuccess": "Malampuson nga nahimo ang mapa!",
|
||||
"updateSuccess": "Malampuson nga na-update ang mapa!",
|
||||
"deleteSuccess": "Malampuson nga natangtang ang mapa!"
|
||||
}
|
||||
},
|
||||
"servicesStatus": {
|
||||
"title": "Status sa serbisyo",
|
||||
"description": "Tan-awa ang status sa Backend, Chat ug Daemon",
|
||||
"status": {
|
||||
"connected": "Na-connect",
|
||||
"connecting": "Nag-connect …",
|
||||
"disconnected": "Wala na-connect",
|
||||
"error": "Sayop",
|
||||
"unknown": "Wala mailhi"
|
||||
},
|
||||
"backend": {
|
||||
"title": "Backend",
|
||||
"connected": "Naabot ang backend service ug na-connect"
|
||||
},
|
||||
"chat": {
|
||||
"title": "Chat",
|
||||
"connected": "Naabot ang chat service ug na-connect"
|
||||
},
|
||||
"daemon": {
|
||||
"title": "Daemon",
|
||||
"connected": "Naabot ang daemon service ug na-connect",
|
||||
"connections": {
|
||||
"title": "Aktibong mga koneksiyon",
|
||||
"none": "Walay aktibong koneksiyon",
|
||||
"userId": "ID sa user",
|
||||
"username": "Ngalan sa user",
|
||||
"connections": "mga koneksiyon",
|
||||
"duration": "Gidugayon sa koneksiyon",
|
||||
"lastPong": "Panahon sukad sa kataposang pong",
|
||||
"pingTimeouts": "Mga timeout sa ping",
|
||||
"pongReceived": "Nadawat ang pong",
|
||||
"yes": "Oo",
|
||||
"no": "Dili",
|
||||
"notConnected": "Wala na-connect ang daemon",
|
||||
"sendError": "Sayop sa pagpadala sa hangyo",
|
||||
"error": "Sayop sa pagkuha sa mga koneksiyon"
|
||||
},
|
||||
"websocketLog": {
|
||||
"title": "Log sa WebSocket",
|
||||
"showLog": "Ipakita ang WebSocket log",
|
||||
"refresh": "I-refresh",
|
||||
"loading": "Nagkarga …",
|
||||
"close": "Isira",
|
||||
"entryCount": "{count} ka entry",
|
||||
"noEntries": "Walay entry sa log",
|
||||
"notConnected": "Wala na-connect ang daemon",
|
||||
"sendError": "Sayop sa pagpadala sa hangyo",
|
||||
"parseError": "Sayop sa pag-parse sa tubag",
|
||||
"timestamp": "Timestamp",
|
||||
"direction": "Direksiyon",
|
||||
"peer": "Peer",
|
||||
"connUser": "User sa koneksiyon",
|
||||
"targetUser": "Target nga user",
|
||||
"event": "Hitabo"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -15,7 +15,18 @@
|
||||
"error-title": "Sayop",
|
||||
"warning-title": "Pasidaan",
|
||||
"info-title": "Impormasyon",
|
||||
"dialog": {
|
||||
"contact": {
|
||||
"email": "Adres sa email",
|
||||
"name": "Pangalan",
|
||||
"message": "Imong mensahe kanamo",
|
||||
"accept": "Ang imong email address temporaryong matipigan sa among sistema. Human masusi ang imong hangyo, matangtang na usab ang email.",
|
||||
"acceptdatasave": "Mituyo ko sa temporaryong pagtipig sa akong email address.",
|
||||
"accept2": "Kung wala niini, dili mi makatubag kanimo."
|
||||
}
|
||||
},
|
||||
"general": {
|
||||
"datetimelong": "dd.MM.yyyy HH:mm:ss",
|
||||
"loading": "Nagkarga...",
|
||||
"back": "Balik",
|
||||
"cancel": "Kanselahon",
|
||||
|
||||
@@ -3,16 +3,135 @@
|
||||
"personal": {
|
||||
"title": "Personal nga datos",
|
||||
"label": {
|
||||
"language": "Pinulongan"
|
||||
"language": "Pinulongan",
|
||||
"birthdate": "Petsa sa pagkatawo",
|
||||
"gender": "Sekso",
|
||||
"town": "Lungsod",
|
||||
"zip": "ZIP",
|
||||
"eyecolor": "Kolor sa mata",
|
||||
"haircolor": "Kolor sa buhok",
|
||||
"hairlength": "Taas sa buhok",
|
||||
"skincolor": "Kolor sa panit",
|
||||
"freckles": "Mga batik",
|
||||
"weight": "Timbang",
|
||||
"bodyheight": "Gitas-on",
|
||||
"piercings": "Mga piercing",
|
||||
"tattoos": "Mga tattoo",
|
||||
"sexualpreference": "Oryentasyon",
|
||||
"pubichair": "Buhok sa pribado",
|
||||
"penislength": "Taas sa penis",
|
||||
"brasize": "Sukod sa bra",
|
||||
"willChildren": "Gusto og anak",
|
||||
"smokes": "Pagpanigarilyo",
|
||||
"drinks": "Pag-inom og alkohol",
|
||||
"hasChildren": "Naay mga anak",
|
||||
"interestedInGender": "Interesado sa"
|
||||
},
|
||||
"tooltip": {
|
||||
"language": "Pinulongan"
|
||||
"language": "Pinulongan",
|
||||
"birthdate": "Petsa sa pagkatawo",
|
||||
"gender": "Sekso",
|
||||
"town": "Lungsod",
|
||||
"zip": "ZIP",
|
||||
"eyecolor": "Kolor sa mata",
|
||||
"haircolor": "Kolor sa buhok",
|
||||
"hairlength": "Taas sa buhok",
|
||||
"skincolor": "Kolor sa panit",
|
||||
"freckles": "Mga batik",
|
||||
"weight": "Timbang",
|
||||
"bodyheight": "Gitas-on",
|
||||
"piercings": "Mga piercing",
|
||||
"tattoos": "Mga tattoo",
|
||||
"sexualpreference": "Oryentasyon",
|
||||
"pubichair": "Buhok sa pribado",
|
||||
"penislength": "Taas sa penis",
|
||||
"brasize": "Sukod sa bra"
|
||||
},
|
||||
"gender": {
|
||||
"male": "Lalaki",
|
||||
"female": "Babaye",
|
||||
"transmale": "Trans nga babaye",
|
||||
"transfemale": "Trans nga lalaki",
|
||||
"nonbinary": "Dili binaryo"
|
||||
},
|
||||
"language": {
|
||||
"de": "Aleman",
|
||||
"en": "Iningles",
|
||||
"ceb": "Bisaya",
|
||||
"es": "Espanyol"
|
||||
},
|
||||
"eyecolor": {
|
||||
"blue": "Asul",
|
||||
"green": "Berde",
|
||||
"brown": "Brown",
|
||||
"black": "Itom",
|
||||
"grey": "Abohon",
|
||||
"hazel": "Hazel",
|
||||
"amber": "Amber",
|
||||
"red": "Pula",
|
||||
"other": "Uban"
|
||||
},
|
||||
"haircolor": {
|
||||
"black": "Itom",
|
||||
"brown": "Brown",
|
||||
"blonde": "Blonde",
|
||||
"red": "Pula",
|
||||
"grey": "Abohon",
|
||||
"white": "Puti",
|
||||
"other": "Uban"
|
||||
},
|
||||
"hairlength": {
|
||||
"short": "Mubo",
|
||||
"medium": "Tunga-tunga",
|
||||
"long": "Taas",
|
||||
"bald": "Kalbo",
|
||||
"other": "Uban"
|
||||
},
|
||||
"skincolor": {
|
||||
"light": "Klaro",
|
||||
"medium": "Tunga-tunga",
|
||||
"dark": "Itom",
|
||||
"other": "Uban"
|
||||
},
|
||||
"freckles": {
|
||||
"much": "Daghan",
|
||||
"medium": "Tunga-tunga",
|
||||
"less": "Ubos",
|
||||
"none": "Wala"
|
||||
},
|
||||
"sexualpreference": {
|
||||
"straight": "Heterosexual",
|
||||
"gay": "Homosexual",
|
||||
"bi": "Bisexual",
|
||||
"asexual": "Asexual",
|
||||
"pan": "Pansexual"
|
||||
},
|
||||
"pubichair": {
|
||||
"none": "Wala",
|
||||
"short": "Mubo",
|
||||
"medium": "Tunga-tunga",
|
||||
"long": "Taas",
|
||||
"hairy": "Natural",
|
||||
"waxed": "Wax",
|
||||
"landingstrip": "Landing strip",
|
||||
"bikinizone": "Zona sa bikini lamang",
|
||||
"other": "Uban"
|
||||
},
|
||||
"interestedInGender": {
|
||||
"male": "Mga lalaki",
|
||||
"female": "Mga babaye"
|
||||
},
|
||||
"smokes": {
|
||||
"often": "Kanunay",
|
||||
"socially": "Kung kauban",
|
||||
"daily": "Adlaw-adlaw",
|
||||
"never": "Dili gayud"
|
||||
},
|
||||
"drinks": {
|
||||
"often": "Kanunay",
|
||||
"socially": "Kung kauban",
|
||||
"daily": "Adlaw-adlaw",
|
||||
"never": "Dili gayud"
|
||||
}
|
||||
},
|
||||
"view": {
|
||||
@@ -25,11 +144,12 @@
|
||||
"title": "Account",
|
||||
"heroEyebrow": "Mga setting",
|
||||
"heroIntro": "Atimana ang ngalan sa user, email, password ug visibility sa usa ka lugar.",
|
||||
"language": "Pinulongan",
|
||||
"username": "Ngalan sa user",
|
||||
"email": "E-mail address",
|
||||
"newpassword": "Password",
|
||||
"newpasswordretype": "Usba ang password",
|
||||
"deleteAccount": "Tangtanga ang account",
|
||||
"language": "Pinulongan",
|
||||
"showinsearch": "Ipakita sa pagpangita sa user",
|
||||
"changeaction": "Usba ang datos sa user",
|
||||
"oldpassword": "Karaan nga password (gikinahanglan)",
|
||||
@@ -41,19 +161,88 @@
|
||||
"feedback": {
|
||||
"saved": "Malampuson nga nasave ang account settings.",
|
||||
"saveError": "Adunay sayop sa pagsave sa account settings."
|
||||
},
|
||||
"adultAccessTitle": "Erotik nga lugar",
|
||||
"adultAccessIntro": "Ang erotik nga lugar para lamang sa hamtong nga mga tiggamit ug gikinahanglan usab og pag-aprub sa moderator.",
|
||||
"requestAdultVerification": "Mangayo og pag-abli",
|
||||
"requestAdultVerificationSuccess": "Napadala na ang hangyo sa pag-abli.",
|
||||
"requestAdultVerificationError": "Dili mapadala ang hangyo sa pag-abli.",
|
||||
"adultStatus": {
|
||||
"ineligible": {
|
||||
"title": "Dili available",
|
||||
"body": "Ang erotik nga lugar makita lamang sa hamtong nga mga tiggamit."
|
||||
},
|
||||
"none": {
|
||||
"title": "Wala pa ma-abli",
|
||||
"body": "Makita ang lugar, pero naka-lock pa hangtod sa pag-susi sa moderator."
|
||||
},
|
||||
"pending": {
|
||||
"title": "Naghuwat sa pagsusi",
|
||||
"body": "Ang imong hangyo naghuwat sa moderation. Naka-lock pa ang lugar hangtod ma-aprub."
|
||||
},
|
||||
"approved": {
|
||||
"title": "Na-abli na",
|
||||
"body": "Ang erotik nga lugar na-abli na para sa imong account."
|
||||
},
|
||||
"rejected": {
|
||||
"title": "Gibalibaran ang pag-abli",
|
||||
"body": "Ang kataposang hangyo wala ma-aprub. Mahimo kang magpadala og bag-ong hangyo."
|
||||
}
|
||||
}
|
||||
},
|
||||
"flirt": {
|
||||
"title": "Flirt"
|
||||
"languageAssistant": {
|
||||
"eyebrow": "Mga setting",
|
||||
"title": "Katabang sa pinulongan ug AI",
|
||||
"intro": "Dinhi makatipig ka og kaugalingong API access (pananglitan OpenAI) nga magamit sa plataporma para sa mga bahin sa kurso sa pinulongan. Ang yabi gisave nga encrypted sa server; kinahanglan nimo og account sa provider.",
|
||||
"linkSignup": "Paghimo og account sa OpenAI (bag-ong bintana)",
|
||||
"linkApiKeys": "Pagdumala sa API keys sa OpenAI (bag-ong bintana)",
|
||||
"enabled": "Tugoti ang paggamit para sa mga bahin sa pinulongan",
|
||||
"baseUrl": "API base URL (opsyonal)",
|
||||
"baseUrlPlaceholder": "Walay sulod = default (OpenAI). Para sa Ollama pananglitan http://127.0.0.1:11434/v1",
|
||||
"model": "Ngalan sa modelo",
|
||||
"apiKey": "API key",
|
||||
"apiKeyHint": "Biyai nga walay sulod aron mapadayon ang natipig nga yabi.",
|
||||
"apiKeyPlaceholderNew": "I-paste ang bag-ong yabi",
|
||||
"apiKeyPlaceholderHasKey": "Ang natipig nagtapos sa …{last4} — walay sulod = padayon",
|
||||
"apiKeyPlaceholderClear": "Ma-clear ang tipigan kung mag-save ka nga “tangtanga ang yabi” sa ubos",
|
||||
"clearKey": "Tangtanga ang natipig nga API key",
|
||||
"save": "I-save",
|
||||
"saved": "Nasave na ang mga setting.",
|
||||
"saveError": "Dili masave.",
|
||||
"confirmClear": "Tinuod nga tangtangon ang API key?",
|
||||
"keyStatusStored": "Naa ang API key nga natipig.",
|
||||
"keyStatusInvalid": "Naa ang natipig nga API key pero dili mabasa. Palihog i-save pag-usab.",
|
||||
"keyStatusMissing": "Walay natipig nga API key karon."
|
||||
},
|
||||
"interests": {
|
||||
"title": "Mga interes",
|
||||
"new": "Bag-ong interes",
|
||||
"add": "Idugang"
|
||||
"add": "Idugang",
|
||||
"added": "Ang bag-ong interes gidugang na ug gisusi pa. Dili pa makita sa lista hangtod mahuman.",
|
||||
"adderror": "Sayop sa pagdugang sa interes.",
|
||||
"errorsetinterest": "Dili ma-book ang interes para nimo."
|
||||
},
|
||||
"visibility": {
|
||||
"Invisible": "Ayaw ipakita",
|
||||
"OnlyFriends": "Mga higala lamang",
|
||||
"FriendsAndAdults": "Mga higala ug mga hamtong",
|
||||
"AdultsOnly": "Mga hamtong lamang",
|
||||
"All": "Ipakita sa tanan"
|
||||
},
|
||||
"feedback": {
|
||||
"updateError": "Dili masave ang kausaban.",
|
||||
"visibilityUpdateError": "Dili ma-update ang visibility."
|
||||
},
|
||||
"flirt": {
|
||||
"title": "Flirt"
|
||||
},
|
||||
"immutable": {
|
||||
"tooltip": "Kini nga field dili mausab. Para sa kausaban, kontaka ang support.",
|
||||
"supportContact": "Kontaka ang support",
|
||||
"supportMessage": {
|
||||
"general": "Hello,\n\ngusto nako mangayo og kausaban sa akong profile nga dili mausab.\n\nPalihog kontaka ko para sa dugang detalye.\n\nSalamat",
|
||||
"specific": "Hello,\n\ngusto nako mangayo og kausaban niini nga dili mausab nga datos sa profile: {fields}\n\nPalihog kontaka ko para sa dugang detalye.\n\nSalamat"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,61 @@
|
||||
{
|
||||
"blog": {
|
||||
"blog": {
|
||||
"posts": "Publicaciones",
|
||||
"noPosts": "No hay publicaciones.",
|
||||
"newPost": "Escribir nueva publicación",
|
||||
"title": "Blog",
|
||||
"title": "Título",
|
||||
"publish": "Publicar",
|
||||
"pickImage": "Seleccionar imagen",
|
||||
"uploadImage": "Subir imagen"
|
||||
"uploadImage": "Subir imagen",
|
||||
"list": {
|
||||
"eyebrow": "Blogs de la comunidad",
|
||||
"title": "Blogs",
|
||||
"intro": "Artículos, avances de proyectos y miradas personales de la comunidad YourPart.",
|
||||
"create": "Crear nuevo blog",
|
||||
"loading": "Cargando…",
|
||||
"empty": "No se han encontrado blogs.",
|
||||
"by": "por",
|
||||
"unknownAuthor": "Desconocido",
|
||||
"open": "Ir al blog",
|
||||
"fallbackExcerpt": "Entradas públicas, ideas y avances de proyectos de la comunidad."
|
||||
},
|
||||
"view": {
|
||||
"loading": "Cargando…",
|
||||
"edit": "Editar",
|
||||
"entriesCount": "{count} entradas",
|
||||
"empty": "No hay entradas.",
|
||||
"fallbackDescription": "Blog público de la comunidad en YourPart.",
|
||||
"notFoundTitle": "Blog no encontrado | YourPart",
|
||||
"notFoundDescription": "No se pudo cargar el blog solicitado."
|
||||
},
|
||||
"editor": {
|
||||
"createTitle": "Crear blog",
|
||||
"editTitle": "Editar blog",
|
||||
"description": "Descripción",
|
||||
"visibility": "Visibilidad",
|
||||
"visibilityPublic": "Público",
|
||||
"visibilityLoggedIn": "Solo usuarios con sesión iniciada",
|
||||
"ageRange": "Rango de edad",
|
||||
"gender": "Género",
|
||||
"genderMale": "Masculino",
|
||||
"genderFemale": "Femenino",
|
||||
"save": "Guardar",
|
||||
"newPostTitle": "Nueva entrada",
|
||||
"addPost": "Añadir entrada",
|
||||
"shareTitle": "Compartir blog",
|
||||
"url": "URL",
|
||||
"copyLink": "Copiar enlace",
|
||||
"shareToFriends": "Enviar a amigos",
|
||||
"emailAddresses": "Direcciones de correo (separadas por comas)",
|
||||
"send": "Enviar",
|
||||
"restrictedHint": "Nota: este blog no es público. Los destinatarios pueden necesitar iniciar sesión y permisos de edad/género adecuados.",
|
||||
"invalidAgeRange": "Rango de edad no válido",
|
||||
"copySuccess": "Enlace copiado",
|
||||
"copyError": "No se pudo copiar",
|
||||
"shareError": "Error al compartir",
|
||||
"emailError": "Error al enviar el correo",
|
||||
"friendsSent": "Enviado a {count} amigo(s).",
|
||||
"emailsSent": "{count} correo(s) enviado(s)."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,6 +37,9 @@
|
||||
},
|
||||
"notifications": {
|
||||
"notify_election_created": "Se ha convocado una nueva elección.",
|
||||
"director_death": "{characterName} ha fallecido a la edad de {ageYears} años. Como empleador debes nombrar un nuevo director.{regionLabel}{spouses}{children}{lovers}",
|
||||
"relationship_death": "{characterName} ha fallecido a la edad de {ageYears} años.{regionLabel}{spouses}{children}{lovers}",
|
||||
"child_death": "Tu hijo/a {characterName} ha fallecido a la edad de {ageYears} años.{regionLabel}",
|
||||
"production": {
|
||||
"overproduction": "Sobreproducción: tu producción está un {value}% por encima de la demanda."
|
||||
},
|
||||
@@ -118,12 +121,22 @@
|
||||
},
|
||||
"overview": {
|
||||
"title": "Falukant - Resumen",
|
||||
"heroIntro": "Tu situación en economía, familia y patrimonio, de un vistazo.",
|
||||
"heirSelection": {
|
||||
"title": "Elección de heredero",
|
||||
"description": "Tu personaje anterior ya no está disponible. Elige un heredero de la lista para seguir jugando.",
|
||||
"loading": "Cargando posibles herederos…",
|
||||
"noHeirs": "No hay herederos disponibles.",
|
||||
"select": "Elegir como personaje",
|
||||
"error": "Error al elegir al heredero."
|
||||
},
|
||||
"metadata": {
|
||||
"title": "Datos personales",
|
||||
"name": "Nombre",
|
||||
"money": "Patrimonio",
|
||||
"age": "Edad",
|
||||
"years": "años",
|
||||
"days": "días",
|
||||
"mainbranch": "Ciudad natal",
|
||||
"nobleTitle": "Rango",
|
||||
"certificate": "Certificado"
|
||||
@@ -171,6 +184,16 @@
|
||||
"two_of": "Al menos dos condiciones de estatus"
|
||||
}
|
||||
},
|
||||
"summary": {
|
||||
"certificateHint": "Determina qué categorías de producto puedes fabricar ahora.",
|
||||
"branches": "Sucursales",
|
||||
"branchesHint": "Acceso directo a tus principales ubicaciones.",
|
||||
"productions": "Producciones activas",
|
||||
"productionsHint": "Producciones en curso que pronto requieren conclusión o control.",
|
||||
"stock": "Posiciones de almacén",
|
||||
"stockHint": "Vista resumida del inventario en todas las regiones.",
|
||||
"open": "Abrir"
|
||||
},
|
||||
"productions": {
|
||||
"title": "Producciones"
|
||||
},
|
||||
@@ -196,6 +219,8 @@
|
||||
"toddler": "niño pequeño",
|
||||
"child": "niño",
|
||||
"adolescence": "joven",
|
||||
"teen": "jovencito",
|
||||
"youngAdult": "joven adulto",
|
||||
"adult": "hombre",
|
||||
"mature": "señor",
|
||||
"elder": "anciano"
|
||||
@@ -205,6 +230,8 @@
|
||||
"toddler": "niña pequeña",
|
||||
"child": "niña",
|
||||
"adolescence": "joven",
|
||||
"teen": "jovencita",
|
||||
"youngAdult": "joven adulta",
|
||||
"adult": "mujer",
|
||||
"mature": "señora",
|
||||
"elder": "anciana"
|
||||
@@ -256,6 +283,8 @@
|
||||
},
|
||||
"branch": {
|
||||
"title": "Sucursal",
|
||||
"heroEyebrow": "Sucursal",
|
||||
"heroIntro": "Producción, almacén, venta y transporte en un panel ligado al mundo del juego.",
|
||||
"debtorsPrison": {
|
||||
"branchLocked": "En la prisión por deudas se bloquean los nuevos pasos económicos. Las sucursales cerradas o embargadas también se reflejarán aquí.",
|
||||
"branchRisk": "Tu mora pone en peligro sucursales, vehículos y mercancías almacenadas.",
|
||||
@@ -393,7 +422,10 @@
|
||||
"current": "Producciones en curso",
|
||||
"product": "Producto",
|
||||
"remainingTime": "Tiempo restante (segundos)",
|
||||
"noProductions": "No hay producciones en curso."
|
||||
"noProductions": "No hay producciones en curso.",
|
||||
"status": "Estado",
|
||||
"sleep": "En pausa",
|
||||
"active": "Activo"
|
||||
},
|
||||
"columns": {
|
||||
"city": "Ciudad",
|
||||
@@ -792,6 +824,23 @@
|
||||
"time": "Hora",
|
||||
"prev": "Anterior",
|
||||
"next": "Siguiente",
|
||||
"graph": {
|
||||
"open": "Mostrar evolución",
|
||||
"title": "Evolución del dinero",
|
||||
"close": "Cerrar",
|
||||
"loading": "Cargando historial…",
|
||||
"noData": "No hay movimientos en el periodo seleccionado.",
|
||||
"yesterday": "Ayer",
|
||||
"range": {
|
||||
"label": "Periodo",
|
||||
"today": "Hoy",
|
||||
"24h": "Últimas 24 horas",
|
||||
"week": "Última semana",
|
||||
"month": "Último mes",
|
||||
"year": "Último año",
|
||||
"all": "Todo el historial"
|
||||
}
|
||||
},
|
||||
"activities": {
|
||||
"Product sale": "Productos vendidos",
|
||||
"Production cost": "Costes de producción",
|
||||
@@ -882,7 +931,8 @@
|
||||
"apathetic": "Apático",
|
||||
"relieved": "Aliviado",
|
||||
"proud": "Orgulloso",
|
||||
"ashamed": "Avergonzado"
|
||||
"ashamed": "Avergonzado",
|
||||
"calm": "Tranquilo"
|
||||
},
|
||||
"character": {
|
||||
"brave": "Valiente",
|
||||
@@ -1027,7 +1077,34 @@
|
||||
"reputation": {
|
||||
"title": "Reputación",
|
||||
"overview": {
|
||||
"title": "Resumen"
|
||||
"title": "Resumen",
|
||||
"current": "Reputación actual"
|
||||
},
|
||||
"actions": {
|
||||
"title": "Acciones de reputación",
|
||||
"description": "Puedes realizar distintas acciones para mejorar tu reputación.",
|
||||
"none": "No hay acciones de reputación disponibles.",
|
||||
"action": "Acción",
|
||||
"cost": "Coste",
|
||||
"gain": "Ganancia",
|
||||
"timesUsed": "Usado",
|
||||
"execute": "Ejecutar",
|
||||
"running": "En curso…",
|
||||
"dailyLimit": "Límite diario: quedan {remaining} de {cap} acciones",
|
||||
"cooldown": "Enfriamiento: aún {minutes} minutos",
|
||||
"type": {
|
||||
"soup_kitchen": "Comedor social",
|
||||
"library_donation": "Donación a la biblioteca",
|
||||
"scholarships": "Becas",
|
||||
"church_hospice": "Hospicio eclesiástico",
|
||||
"school_funding": "Financiación escolar",
|
||||
"orphanage_build": "Construir orfanato",
|
||||
"bridge_build": "Construir puente",
|
||||
"hospital_donation": "Donación al hospital",
|
||||
"patronage": "Mecenazgo",
|
||||
"statue_build": "Erigir estatua",
|
||||
"well_build": "Construir pozo"
|
||||
}
|
||||
},
|
||||
"party": {
|
||||
"title": "Fiestas",
|
||||
@@ -1078,6 +1155,17 @@
|
||||
},
|
||||
"church": {
|
||||
"title": "Iglesia",
|
||||
"offices": {
|
||||
"lay-preacher": "Predicador laico",
|
||||
"village-priest": "Párroco del pueblo",
|
||||
"parish-priest": "Párroco",
|
||||
"dean": "Decano",
|
||||
"archdeacon": "Arcediano",
|
||||
"bishop": "Obispo",
|
||||
"archbishop": "Arzobispo",
|
||||
"cardinal": "Cardenal",
|
||||
"pope": "Papa"
|
||||
},
|
||||
"tabs": {
|
||||
"baptism": "Bautizos",
|
||||
"current": "Cargos actuales",
|
||||
@@ -1254,7 +1342,12 @@
|
||||
"drunkOfLife": "Elixir de la vida",
|
||||
"barber": "Barbero"
|
||||
},
|
||||
"choose": "Por favor, selecciona"
|
||||
"choose": "Por favor, selecciona",
|
||||
"errors": {
|
||||
"tooClose": "No puedes aplicar medidas tan a menudo.",
|
||||
"generic": "Se ha producido un error."
|
||||
},
|
||||
"nextMeasureAt": "Próxima medida a partir de"
|
||||
},
|
||||
"politics": {
|
||||
"title": "Política",
|
||||
@@ -1264,6 +1357,10 @@
|
||||
"upcoming": "Cargos pendientes de (re)elección",
|
||||
"elections": "Elecciones"
|
||||
},
|
||||
"bookmarkCandidate": "Recordar esta candidatura",
|
||||
"voteError": "Error al emitir el voto",
|
||||
"voteAllError": "Error al emitir los votos",
|
||||
"applyError": "No se pudo enviar la candidatura.",
|
||||
"benefits": {
|
||||
"daily_salary": "Estipendio diario (una vez al día): {amount}",
|
||||
"tax_exemption": "Exención fiscal: {regions}",
|
||||
@@ -1326,9 +1423,13 @@
|
||||
"region": "Región",
|
||||
"date": "Fecha",
|
||||
"candidacy": "Candidatura",
|
||||
"candidacyWithAge": "Candidatura (desde 16 años)",
|
||||
"none": "No hay cargos abiertos.",
|
||||
"apply": "Presentarse a los cargos seleccionados"
|
||||
"apply": "Presentarse a los cargos seleccionados",
|
||||
"minAgeHint": "La candidatura solo es posible a partir de 16 años.",
|
||||
"ageRequirement": "Para todos los cargos políticos: candidatura solo a partir de 16 años."
|
||||
},
|
||||
"too_young": "Tu personaje es demasiado joven. La candidatura solo es posible a partir de 16 años.",
|
||||
"upcoming": {
|
||||
"office": "Cargo",
|
||||
"region": "Región",
|
||||
|
||||
@@ -32,7 +32,13 @@
|
||||
"totalScore": "Puntuación total",
|
||||
"totalStars": "Estrellas totales",
|
||||
"levelsCompleted": "Niveles completados",
|
||||
"restartCampaign": "Reiniciar campaña"
|
||||
"restartCampaign": "Reiniciar campaña",
|
||||
"nextStep": "Siguiente paso",
|
||||
"objectivesCollapse": "Ocultar objetivos",
|
||||
"objectivesShow": "Mostrar objetivos",
|
||||
"objectives": "Objetivos",
|
||||
"loadingBoard": "Preparando el tablero…",
|
||||
"loadingHint": "Sincronizando datos del nivel, objetivos y disposición del campo."
|
||||
},
|
||||
"taxi": {
|
||||
"title": "Taxi Simulator",
|
||||
@@ -64,6 +70,34 @@
|
||||
"refuel": "Repostar",
|
||||
"startEngine": "Arrancar motor",
|
||||
"stopEngine": "Parar motor",
|
||||
"controls": "Controles",
|
||||
"accelerate": "Acelerar",
|
||||
"brake": "Frenar",
|
||||
"steerRight": "Girar a la derecha",
|
||||
"steerLeft": "Girar a la izquierda",
|
||||
"goals": "Objetivos",
|
||||
"avoidCollisions": "Evita colisiones con otros vehículos",
|
||||
"streetNames": "Nombres de calles",
|
||||
"remainingVehicles": "Vehículos restantes",
|
||||
"fuelTitle": "Combustible",
|
||||
"pointsTitle": "Puntos",
|
||||
"speedViolations": "Infracciones de velocidad",
|
||||
"redLightsPassed": "Semáforos en rojo saltados",
|
||||
"highscore": "Récords",
|
||||
"topPlayers": "Top 20 jugadores",
|
||||
"loadingHighscore": "Cargando récords…",
|
||||
"noHighscore": "Aún no hay récords",
|
||||
"pointsShort": "pts",
|
||||
"backToGame": "Volver al juego",
|
||||
"minimap": "Minimapa",
|
||||
"loadedPassengers": "Pasajeros a bordo",
|
||||
"waitingPassengers": "Pasajeros en espera",
|
||||
"noPassengersInTaxi": "No hay pasajeros en el taxi",
|
||||
"noWaitingPassengers": "No hay pasajeros esperando",
|
||||
"name": "Nombre",
|
||||
"destination": "Destino",
|
||||
"bonus": "Bonificación",
|
||||
"time": "Tiempo",
|
||||
"crash": {
|
||||
"title": "¡Accidente!",
|
||||
"message": "¡Has tenido un accidente! Choques: {crashes}"
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
{
|
||||
"passwordReset": {
|
||||
"title": "Restablecer contraseña",
|
||||
"email": "E-Mail",
|
||||
"passwordReset": {
|
||||
"title": "Restablecer contraseña",
|
||||
"email": "Correo electrónico",
|
||||
"reset": "Restablecer",
|
||||
"success": "Si el correo electrónico existe, se ha enviado una guía para restablecer la contraseña.",
|
||||
"failure": "No se pudo restablecer la contraseña. Inténtalo de nuevo más tarde."
|
||||
"success": "Si el correo existe, se ha enviado una guía para restablecer la contraseña.",
|
||||
"failure": "No se pudo restablecer la contraseña. Inténtalo de nuevo más tarde.",
|
||||
"emailHint": "Enviaremos el enlace a la dirección de correo registrada.",
|
||||
"validation": {
|
||||
"invalidEmail": "Introduce una dirección de correo válida."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +1,29 @@
|
||||
{
|
||||
"register": {
|
||||
"title": "Registrarse",
|
||||
"email": "Dirección de correo electrónico",
|
||||
"username": "Nombre de usuario",
|
||||
"password": "Contraseña",
|
||||
"repeatPassword": "Repetir contraseña",
|
||||
"language": "Idioma",
|
||||
"languages": {
|
||||
"en": "Inglés",
|
||||
"de": "Alemán"
|
||||
},
|
||||
"register": "Registrarse",
|
||||
"close": "Cerrar",
|
||||
"failure": "Se ha producido un error.",
|
||||
"success": "Te has registrado correctamente. Revisa tu correo electrónico para activar tu cuenta.",
|
||||
"passwordMismatch": "Las contraseñas no coinciden.",
|
||||
"emailinuse": "La dirección de correo electrónico ya está en uso.",
|
||||
"usernameinuse": "El nombre de usuario no está disponible."
|
||||
"register": {
|
||||
"title": "Registrarse en yourPart",
|
||||
"email": "Dirección de correo electrónico",
|
||||
"username": "Nombre de usuario",
|
||||
"password": "Contraseña",
|
||||
"repeatPassword": "Repetir contraseña",
|
||||
"language": "Idioma",
|
||||
"languages": {
|
||||
"en": "Inglés",
|
||||
"de": "Alemán",
|
||||
"ceb": "Bisaya",
|
||||
"es": "Español"
|
||||
},
|
||||
"register": "Registrarse",
|
||||
"close": "Cerrar",
|
||||
"failure": "Se ha producido un error.",
|
||||
"success": "Te has registrado correctamente. Revisa tu correo para activar tu cuenta.",
|
||||
"passwordMismatch": "Las contraseñas no coinciden.",
|
||||
"emailinuse": "La dirección de correo ya está en uso.",
|
||||
"usernameinuse": "El nombre de usuario no está disponible.",
|
||||
"validation": {
|
||||
"invalidEmail": "Introduce una dirección de correo válida.",
|
||||
"usernameTooShort": "El nombre de usuario debe tener al menos 3 caracteres.",
|
||||
"passwordHint": "Al menos 8 caracteres.",
|
||||
"passwordTooShort": "La contraseña es demasiado corta."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,6 +142,8 @@
|
||||
},
|
||||
"account": {
|
||||
"title": "Account",
|
||||
"heroEyebrow": "Ajustes",
|
||||
"heroIntro": "Gestiona nombre de usuario, correo, contraseña y visibilidad en un solo lugar.",
|
||||
"username": "Nombre de usuario",
|
||||
"email": "Dirección de correo electrónico",
|
||||
"newpassword": "Contraseña",
|
||||
@@ -151,6 +153,15 @@
|
||||
"showinsearch": "Mostrar en búsquedas de usuarios",
|
||||
"changeaction": "Actualizar datos de usuario",
|
||||
"oldpassword": "Contraseña anterior (obligatoria)",
|
||||
"validation": {
|
||||
"newPasswordTooShort": "La nueva contraseña debe tener al menos 8 caracteres.",
|
||||
"passwordMismatch": "Las contraseñas no coinciden.",
|
||||
"oldPasswordRequired": "Se necesita la contraseña actual para cambiarla."
|
||||
},
|
||||
"feedback": {
|
||||
"saved": "Los ajustes de la cuenta se guardaron correctamente.",
|
||||
"saveError": "Se produjo un error al guardar los ajustes de la cuenta."
|
||||
},
|
||||
"adultAccessTitle": "Área erótica",
|
||||
"adultAccessIntro": "El área erótica está destinada solo a usuarios adultos y además requiere aprobación de moderación.",
|
||||
"requestAdultVerification": "Solicitar acceso",
|
||||
@@ -218,6 +229,10 @@
|
||||
"AdultsOnly": "Solo adultos",
|
||||
"All": "Mostrar a todos"
|
||||
},
|
||||
"feedback": {
|
||||
"updateError": "No se pudo guardar el cambio.",
|
||||
"visibilityUpdateError": "No se pudo actualizar la visibilidad."
|
||||
},
|
||||
"flirt": {
|
||||
"title": "Flirt"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user