feat(i18n): synchronize all translation keys across all supported locales (25 languages)
This commit is contained in:
1 parent
8707c0d8fe
commit
91008d84fe
25 files changed
+33255
-973
No files matched your search
@@ -0,0 +1,37 @@
|
|||||||
|
import fs from "node:fs";
|
||||||
|
import path from "node:path";
|
||||||
|
|
||||||
|
const messagesDir = "/var/www/atom-nexst/src/messages";
|
||||||
|
const enPath = path.join(messagesDir, "en.json");
|
||||||
|
const enData = JSON.parse(fs.readFileSync(enPath, "utf8"));
|
||||||
|
|
||||||
|
function deepMerge(target, source) {
|
||||||
|
for (const key of Object.keys(source)) {
|
||||||
|
if (source[key] && typeof source[key] === "object" && !Array.isArray(source[key])) {
|
||||||
|
if (!target[key] || typeof target[key] !== "object" || Array.isArray(target[key])) {
|
||||||
|
target[key] = {};
|
||||||
|
}
|
||||||
|
deepMerge(target[key], source[key]);
|
||||||
|
} else {
|
||||||
|
if (!(key in target)) {
|
||||||
|
target[key] = source[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return target;
|
||||||
|
}
|
||||||
|
|
||||||
|
const files = fs.readdirSync(messagesDir).filter((f) => f.endsWith(".json") && f !== "en.json");
|
||||||
|
|
||||||
|
for (const file of files) {
|
||||||
|
const filePath = path.join(messagesDir, file);
|
||||||
|
try {
|
||||||
|
const data = JSON.parse(fs.readFileSync(filePath, "utf8"));
|
||||||
|
deepMerge(data, enData);
|
||||||
|
fs.writeFileSync(filePath, JSON.stringify(data, null, 2) + "\n", "utf8");
|
||||||
|
console.log(`Synced ${file}`);
|
||||||
|
} catch (err) {
|
||||||
|
console.error(`Error syncing ${file}:`, err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log("Translation sync complete!");
|
||||||
+4247
-13
File diff suppressed because it is too large.
Load diff
+1042
-47
File diff suppressed because it is too large.
Load diff
+1042
-47
File diff suppressed because it is too large.
Load diff
+1042
-47
File diff suppressed because it is too large.
Load diff
+1041
-47
File diff suppressed because it is too large.
Load diff
+1042
-47
File diff suppressed because it is too large.
Load diff
+1041
-47
File diff suppressed because it is too large.
Load diff
+4247
-13
File diff suppressed because it is too large.
Load diff
+1041
-47
File diff suppressed because it is too large.
Load diff
+1042
-47
File diff suppressed because it is too large.
Load diff
+1042
-47
File diff suppressed because it is too large.
Load diff
+110
-1
@@ -282,7 +282,13 @@
|
|||||||
"featuresCommunity": "Community",
|
"featuresCommunity": "Community",
|
||||||
"featuresCommunityDesc": "Fai amicizia e chatta",
|
"featuresCommunityDesc": "Fai amicizia e chatta",
|
||||||
"featuresGames": "Giochi",
|
"featuresGames": "Giochi",
|
||||||
"featuresGamesDesc": "Competi e divertiti"
|
"featuresGamesDesc": "Competi e divertiti",
|
||||||
|
"sectionFeaturesLabel": "Features",
|
||||||
|
"sectionFeaturesTitle": "Everything a great hotel needs",
|
||||||
|
"sectionStatsLabel": "Live stats",
|
||||||
|
"sectionStatsTitle": "A community that keeps growing",
|
||||||
|
"sectionCommunityLabel": "Community",
|
||||||
|
"sectionCommunityTitle": "Make yourself at home"
|
||||||
},
|
},
|
||||||
"news": {
|
"news": {
|
||||||
"title": "Notizie",
|
"title": "Notizie",
|
||||||
@@ -2076,6 +2082,109 @@
|
|||||||
"clubHint": "Limita l’accesso agli utenti con abbonamento HC.",
|
"clubHint": "Limita l’accesso agli utenti con abbonamento HC.",
|
||||||
"yes": "Sì",
|
"yes": "Sì",
|
||||||
"no": "No"
|
"no": "No"
|
||||||
|
},
|
||||||
|
"preview": {
|
||||||
|
"label": "Live catalog preview",
|
||||||
|
"title": "Live preview",
|
||||||
|
"on": "On",
|
||||||
|
"off": "Off",
|
||||||
|
"untitled": "Untitled page",
|
||||||
|
"noItems": "No offers on this page yet",
|
||||||
|
"items": "offer(s)",
|
||||||
|
"disabledHint": "This page is disabled — players cannot see it.",
|
||||||
|
"suggestedLayout": "Better layout suggested",
|
||||||
|
"suggestedLayoutReason": "This page {reason}. Switch to “{layout}” to match players’ expectations.",
|
||||||
|
"applyLayout": "Apply layout"
|
||||||
|
},
|
||||||
|
"autoCategory": {
|
||||||
|
"title": "Auto-Category",
|
||||||
|
"itemsBadge": "{count} items",
|
||||||
|
"fromFurni": "From furni",
|
||||||
|
"emptyPage": "Empty page",
|
||||||
|
"searchPlaceholder": "Search furni by name or classname…",
|
||||||
|
"noResults": "No results",
|
||||||
|
"added": "Added",
|
||||||
|
"price": "Price",
|
||||||
|
"free": "Free",
|
||||||
|
"setPrice": "Set a price",
|
||||||
|
"credits": "Credits",
|
||||||
|
"points": "Points",
|
||||||
|
"pointsType": "Type",
|
||||||
|
"parent": "Parent",
|
||||||
|
"root": "Catalog root",
|
||||||
|
"caption": "Caption",
|
||||||
|
"captionPlaceholder": "e.g. Chairs, Wallpapers…",
|
||||||
|
"icon": "Icon",
|
||||||
|
"pickIcon": "Pick icon",
|
||||||
|
"layout": "Layout",
|
||||||
|
"suggestedLayout": "Suggested: {layout}",
|
||||||
|
"enabled": "Enabled",
|
||||||
|
"visible": "Visible",
|
||||||
|
"cancel": "Cancel",
|
||||||
|
"create": "Create",
|
||||||
|
"createWithItems": "Create ({count} items)"
|
||||||
|
},
|
||||||
|
"organizeImports": {
|
||||||
|
"title": "Organize imports",
|
||||||
|
"itemsBadge": "{count} items",
|
||||||
|
"loading": "Loading imported furniture…",
|
||||||
|
"empty": "No imported furniture found. Import furniture first.",
|
||||||
|
"loadError": "Could not load imports. Try again.",
|
||||||
|
"refresh": "Refresh",
|
||||||
|
"desc": "Imported furniture is grouped into suggested pages. Review each group, then create the pages you approve.",
|
||||||
|
"selectAll": "Select all",
|
||||||
|
"deselectAll": "Deselect all",
|
||||||
|
"mode": "Mode",
|
||||||
|
"modeCreate": "Create new pages",
|
||||||
|
"modeMove": "Move into an existing page",
|
||||||
|
"destination": "Destination page",
|
||||||
|
"destinationChosen": "selected",
|
||||||
|
"destinationSearchPlaceholder": "Search pages by name…",
|
||||||
|
"noDestResults": "No pages found",
|
||||||
|
"destinationHint": "All approved groups are moved into this page — no new page is created.",
|
||||||
|
"chooseDestination": "Pick a destination page first",
|
||||||
|
"move": "Move {count, plural, one {1 item} other {# items}}",
|
||||||
|
"name": "Name",
|
||||||
|
"icon": "Icon",
|
||||||
|
"layout": "Layout",
|
||||||
|
"resetSuggestion": "Suggested",
|
||||||
|
"suggestedLayout": "Suggested: {layout}",
|
||||||
|
"movedLabel": "{count} moved",
|
||||||
|
"newLabel": "{count} new",
|
||||||
|
"isNew": "new",
|
||||||
|
"price": "Price",
|
||||||
|
"free": "Free",
|
||||||
|
"setPrice": "Set a price",
|
||||||
|
"credits": "Credits",
|
||||||
|
"points": "Points",
|
||||||
|
"pointsType": "Type",
|
||||||
|
"newPriceHint": "Applies to new offers only; moved offers keep their current price.",
|
||||||
|
"parent": "Place pages under",
|
||||||
|
"root": "Catalog root",
|
||||||
|
"importedRoot": "Imported Furniture",
|
||||||
|
"cancel": "Cancel",
|
||||||
|
"create": "Create {count, plural, one {1 page} other {# pages}}",
|
||||||
|
"batchLayout": "Set layout for all",
|
||||||
|
"batchPrefix": "Add prefix to all titles",
|
||||||
|
"applyBatch": "Apply to all",
|
||||||
|
"searchGroups": "Filter import groups...",
|
||||||
|
"visualPreview": "Preview",
|
||||||
|
"resetAll": "Reset overrides",
|
||||||
|
"onlyUnplaced": "Only show unplaced items",
|
||||||
|
"errorMaxItems": "Max 1000 items per run. Reduce selection.",
|
||||||
|
"errorMaxGroups": "Max {count} groups per run. Reduce selection.",
|
||||||
|
"errorNoName": "Every approved page needs a name",
|
||||||
|
"tipMove": "Tip: Pick a destination page below to move furniture.",
|
||||||
|
"tipCreate": "Tip: Pick this mode to create new pages.",
|
||||||
|
"limitHint": "Max 1000 items and 50 groups per run.",
|
||||||
|
"errorFailed": "Failed to organize imports",
|
||||||
|
"successMove": "Moved {moved} offer{moved, plural, one {} other {s}}{added, plural, =0 {} other {, added {added} new}} to \"{destination}\"",
|
||||||
|
"successCreate": "Created {count, plural, one {1 page} other {# pages}} with {moved} moved and {added} added furniture",
|
||||||
|
"batchLabel": "Batch:",
|
||||||
|
"layoutFallbackDefault3x3": "3x3",
|
||||||
|
"itemsUnit": "items",
|
||||||
|
"impPrefix": "Imp ",
|
||||||
|
"isMoved": "moved"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"bulk": {
|
"bulk": {
|
||||||
|
|||||||
+4247
-13
File diff suppressed because it is too large.
Load diff
+576
-40
@@ -85,7 +85,11 @@
|
|||||||
"emptyState": "Geen teamleden om te tonen.",
|
"emptyState": "Geen teamleden om te tonen.",
|
||||||
"colUsername": "Gebruikersnaam",
|
"colUsername": "Gebruikersnaam",
|
||||||
"colRank": "Rang",
|
"colRank": "Rang",
|
||||||
"colMotto": "Motto"
|
"colMotto": "Motto",
|
||||||
|
"viewProfile": "View profile",
|
||||||
|
"noMotto": "No motto set",
|
||||||
|
"loadError": "Unable to load staff members. Please try again shortly.",
|
||||||
|
"retry": "Try again"
|
||||||
},
|
},
|
||||||
"leaderboard": {
|
"leaderboard": {
|
||||||
"title": "Klassement",
|
"title": "Klassement",
|
||||||
@@ -231,7 +235,15 @@
|
|||||||
},
|
},
|
||||||
"morePhotos": "Meer foto’s tonen (maximaal de 24 nieuwste)",
|
"morePhotos": "Meer foto’s tonen (maximaal de 24 nieuwste)",
|
||||||
"openPhoto": "Open de volledige foto in een nieuw tabblad",
|
"openPhoto": "Open de volledige foto in een nieuw tabblad",
|
||||||
"photosUnavailable": "Foto’s konden niet worden geladen. Probeer het later opnieuw."
|
"photosUnavailable": "Foto’s konden niet worden geladen. Probeer het later opnieuw.",
|
||||||
|
"noRoomPreview": "Preview unavailable",
|
||||||
|
"viewRoom": "View room",
|
||||||
|
"roomStates": {
|
||||||
|
"open": "Open",
|
||||||
|
"locked": "Doorbell",
|
||||||
|
"password": "Password",
|
||||||
|
"invisible": "Hidden"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"rankings": {
|
"rankings": {
|
||||||
"title": "Rankings",
|
"title": "Rankings",
|
||||||
@@ -270,7 +282,13 @@
|
|||||||
"featuresGames": "Spelletjes",
|
"featuresGames": "Spelletjes",
|
||||||
"featuresGamesDesc": "Speel mee en heb plezier",
|
"featuresGamesDesc": "Speel mee en heb plezier",
|
||||||
"latestArticle": "Laatste artikel",
|
"latestArticle": "Laatste artikel",
|
||||||
"latestUsers": "Nieuwste burgers ({count} totaal)"
|
"latestUsers": "Nieuwste burgers ({count} totaal)",
|
||||||
|
"sectionFeaturesLabel": "Features",
|
||||||
|
"sectionFeaturesTitle": "Everything a great hotel needs",
|
||||||
|
"sectionStatsLabel": "Live stats",
|
||||||
|
"sectionStatsTitle": "A community that keeps growing",
|
||||||
|
"sectionCommunityLabel": "Community",
|
||||||
|
"sectionCommunityTitle": "Make yourself at home"
|
||||||
},
|
},
|
||||||
"news": {
|
"news": {
|
||||||
"title": "Nieuws",
|
"title": "Nieuws",
|
||||||
@@ -921,7 +939,8 @@
|
|||||||
"codePlaceholder": "6-cijferige code",
|
"codePlaceholder": "6-cijferige code",
|
||||||
"confirm": "Bevestigen",
|
"confirm": "Bevestigen",
|
||||||
"enableIntro": "Voeg een extra beveiligingslaag toe met een authenticator-app.",
|
"enableIntro": "Voeg een extra beveiligingslaag toe met een authenticator-app.",
|
||||||
"enable": "2FA inschakelen"
|
"enable": "2FA inschakelen",
|
||||||
|
"rateLimit": "Too many attempts. Please wait before trying again."
|
||||||
},
|
},
|
||||||
"title": "Gekoppelde accounts",
|
"title": "Gekoppelde accounts",
|
||||||
"subtitle": "Koppel een sociaal account zodat je met één klik kunt inloggen",
|
"subtitle": "Koppel een sociaal account zodat je met één klik kunt inloggen",
|
||||||
@@ -980,7 +999,12 @@
|
|||||||
"usernameRequired": "Gebruikersnaam is verplicht.",
|
"usernameRequired": "Gebruikersnaam is verplicht.",
|
||||||
"emailRequired": "E-mail is verplicht.",
|
"emailRequired": "E-mail is verplicht.",
|
||||||
"passwordRequired": "Wachtwoord is verplicht.",
|
"passwordRequired": "Wachtwoord is verplicht.",
|
||||||
"passwordsDontMatch": "Wachtwoorden komen niet overeen."
|
"passwordsDontMatch": "Wachtwoorden komen niet overeen.",
|
||||||
|
"accepted": "Accepted & agreed",
|
||||||
|
"showPassword": "Show",
|
||||||
|
"hidePassword": "Hide",
|
||||||
|
"accountDetails": "Account details",
|
||||||
|
"credentials": "Credentials & security"
|
||||||
},
|
},
|
||||||
"forgot": {
|
"forgot": {
|
||||||
"title": "Wachtwoord resetten",
|
"title": "Wachtwoord resetten",
|
||||||
@@ -1163,7 +1187,8 @@
|
|||||||
"rankWithCount": "Rang {rank}: {count} accounts",
|
"rankWithCount": "Rang {rank}: {count} accounts",
|
||||||
"recentStaffActivity": "Recente teamactiviteit",
|
"recentStaffActivity": "Recente teamactiviteit",
|
||||||
"viewAll": "Alles bekijken",
|
"viewAll": "Alles bekijken",
|
||||||
"noStaffActivityLogged": "Nog geen teamactiviteit geregistreerd"
|
"noStaffActivityLogged": "Nog geen teamactiviteit geregistreerd",
|
||||||
|
"totalAccounts": "{count} total accounts"
|
||||||
},
|
},
|
||||||
"articles": {
|
"articles": {
|
||||||
"title": "Artikelen",
|
"title": "Artikelen",
|
||||||
@@ -1234,7 +1259,8 @@
|
|||||||
"publishAt": "Publiceren op",
|
"publishAt": "Publiceren op",
|
||||||
"publishedAt": "Gepubliceerd op",
|
"publishedAt": "Gepubliceerd op",
|
||||||
"imageInvalid": "Gebruik een lokaal pad of een HTTP/HTTPS-afbeeldingsadres zonder inloggegevens.",
|
"imageInvalid": "Gebruik een lokaal pad of een HTTP/HTTPS-afbeeldingsadres zonder inloggegevens.",
|
||||||
"linksInvalid": "Controleer de links: alleen lokale, HTTP/HTTPS- en e-maillinks zijn toegestaan."
|
"linksInvalid": "Controleer de links: alleen lokale, HTTP/HTTPS- en e-maillinks zijn toegestaan.",
|
||||||
|
"status": "Status"
|
||||||
},
|
},
|
||||||
"listActionError": "De actie voor dit artikel kon niet worden voltooid.",
|
"listActionError": "De actie voor dit artikel kon niet worden voltooid.",
|
||||||
"listStatus": "Publicatiestatus",
|
"listStatus": "Publicatiestatus",
|
||||||
@@ -1357,7 +1383,8 @@
|
|||||||
},
|
},
|
||||||
"devops": {
|
"devops": {
|
||||||
"noEmulatorErrors": "Geen emulatorfouten gevonden",
|
"noEmulatorErrors": "Geen emulatorfouten gevonden",
|
||||||
"noRecentErrors": "Geen recente fouten"
|
"noRecentErrors": "Geen recente fouten",
|
||||||
|
"cmsErrors": "CMS error center"
|
||||||
},
|
},
|
||||||
"tags": {
|
"tags": {
|
||||||
"title": "Tags",
|
"title": "Tags",
|
||||||
@@ -1377,7 +1404,13 @@
|
|||||||
"colColour": "Kleur",
|
"colColour": "Kleur",
|
||||||
"colUsedBy": "Gebruikt door",
|
"colUsedBy": "Gebruikt door",
|
||||||
"colCreated": "Aangemaakt",
|
"colCreated": "Aangemaakt",
|
||||||
"colActions": "Acties"
|
"colActions": "Acties",
|
||||||
|
"databaseError": "Tags could not be loaded. Please try again.",
|
||||||
|
"totalTags": "Total tags",
|
||||||
|
"inUse": "In use",
|
||||||
|
"attachedToContent": "Attached to content",
|
||||||
|
"unused": "Unused",
|
||||||
|
"allTags": "All tags"
|
||||||
},
|
},
|
||||||
"navigation": {
|
"navigation": {
|
||||||
"title": "Navigator",
|
"title": "Navigator",
|
||||||
@@ -1401,7 +1434,12 @@
|
|||||||
"colName": "Naam",
|
"colName": "Naam",
|
||||||
"colOrder": "Volgorde",
|
"colOrder": "Volgorde",
|
||||||
"colRooms": "Kamers",
|
"colRooms": "Kamers",
|
||||||
"colActions": "Acties"
|
"colActions": "Acties",
|
||||||
|
"publicFlatcats": "Public room categories",
|
||||||
|
"markedPublic": "Categories marked as public",
|
||||||
|
"visibleRooms": "Visible rooms",
|
||||||
|
"rows": "rows",
|
||||||
|
"unnamed": "Unnamed room"
|
||||||
},
|
},
|
||||||
"helpCenter": {
|
"helpCenter": {
|
||||||
"title": "Helpcentrum",
|
"title": "Helpcentrum",
|
||||||
@@ -1428,7 +1466,9 @@
|
|||||||
"saving": "Opslaan…",
|
"saving": "Opslaan…",
|
||||||
"deleteEntry": "Item verwijderen",
|
"deleteEntry": "Item verwijderen",
|
||||||
"cancel": "Annuleren"
|
"cancel": "Annuleren"
|
||||||
}
|
},
|
||||||
|
"withButton": "With a button",
|
||||||
|
"smallBoxes": "Small boxes"
|
||||||
},
|
},
|
||||||
"ads": {
|
"ads": {
|
||||||
"title": "Advertenties",
|
"title": "Advertenties",
|
||||||
@@ -1491,8 +1531,17 @@
|
|||||||
"save": "Box opslaan",
|
"save": "Box opslaan",
|
||||||
"saving": "Opslaan…",
|
"saving": "Opslaan…",
|
||||||
"deleteBox": "Box verwijderen",
|
"deleteBox": "Box verwijderen",
|
||||||
"cancel": "Annuleren"
|
"cancel": "Annuleren",
|
||||||
}
|
"iconEmoji": "Icon or emoji"
|
||||||
|
},
|
||||||
|
"totalBoxes": "Total boxes",
|
||||||
|
"active": "Active",
|
||||||
|
"shownOnHomePage": "Shown on the home page",
|
||||||
|
"position": "Position",
|
||||||
|
"boxes": "Content boxes",
|
||||||
|
"hidden": "Hidden",
|
||||||
|
"hide": "Hide",
|
||||||
|
"activate": "Activate"
|
||||||
},
|
},
|
||||||
"photos": {
|
"photos": {
|
||||||
"title": "Fotomoderatie",
|
"title": "Fotomoderatie",
|
||||||
@@ -1697,7 +1746,20 @@
|
|||||||
"save": "Ban opslaan",
|
"save": "Ban opslaan",
|
||||||
"saving": "Opslaan…",
|
"saving": "Opslaan…",
|
||||||
"cancel": "Annuleren"
|
"cancel": "Annuleren"
|
||||||
}
|
},
|
||||||
|
"activeBans": "Active bans",
|
||||||
|
"permanent": "Permanent bans",
|
||||||
|
"accountBans": "Account bans",
|
||||||
|
"userIdPlaceholder": "User ID",
|
||||||
|
"typeAccount": "Account",
|
||||||
|
"typeIp": "IP address",
|
||||||
|
"typeMachine": "Device",
|
||||||
|
"typeSuper": "Account, IP and device",
|
||||||
|
"hoursPlaceholder": "Duration in hours",
|
||||||
|
"reasonPlaceholder": "Reason for the ban",
|
||||||
|
"ban": "Ban user",
|
||||||
|
"colUserId": "User ID",
|
||||||
|
"lift": "Lift ban"
|
||||||
},
|
},
|
||||||
"ip": {
|
"ip": {
|
||||||
"title": "IP-beheer",
|
"title": "IP-beheer",
|
||||||
@@ -1717,7 +1779,11 @@
|
|||||||
"colIp": "IP",
|
"colIp": "IP",
|
||||||
"colReason": "Reden",
|
"colReason": "Reden",
|
||||||
"colAdded": "Toegevoegd",
|
"colAdded": "Toegevoegd",
|
||||||
"colActions": "Acties"
|
"colActions": "Acties",
|
||||||
|
"whitelisted": "Allowed IP addresses",
|
||||||
|
"blacklisted": "Blocked IP addresses",
|
||||||
|
"asnPlaceholder": "ASN (optional)",
|
||||||
|
"colAsn": "ASN"
|
||||||
},
|
},
|
||||||
"vpn": {
|
"vpn": {
|
||||||
"title": "VPN / Proxy Detectie",
|
"title": "VPN / Proxy Detectie",
|
||||||
@@ -1730,7 +1796,21 @@
|
|||||||
"blockOnDetectHint": "Automatisch gebruikers blokkeren die achter een VPN of proxy worden gedetecteerd",
|
"blockOnDetectHint": "Automatisch gebruikers blokkeren die achter een VPN of proxy worden gedetecteerd",
|
||||||
"save": "Instellingen opslaan",
|
"save": "Instellingen opslaan",
|
||||||
"saving": "Opslaan…",
|
"saving": "Opslaan…",
|
||||||
"settingsSaved": "VPN-instellingen succesvol opgeslagen"
|
"settingsSaved": "VPN-instellingen succesvol opgeslagen",
|
||||||
|
"protection": "VPN protection",
|
||||||
|
"on": "Enabled",
|
||||||
|
"off": "Disabled",
|
||||||
|
"providerLabel": "Provider: {provider}",
|
||||||
|
"notScreened": "Connections are not checked for VPN use.",
|
||||||
|
"settings": "VPN settings",
|
||||||
|
"provider": "Provider",
|
||||||
|
"providerHint": "Choose the service used to check incoming connections.",
|
||||||
|
"blockMessage": "Blocked connection message",
|
||||||
|
"blockMessagePlaceholder": "Please disable your VPN and try again.",
|
||||||
|
"blockMessageHint": "Shown when a connection is blocked by VPN protection.",
|
||||||
|
"rawIpTitle": "IP address lists",
|
||||||
|
"rawIpDescription": "Manage individual addresses in <ipLink>IP management</ipLink>.",
|
||||||
|
"openIpManagement": "Open IP management"
|
||||||
},
|
},
|
||||||
"applications": {
|
"applications": {
|
||||||
"title": "Teamsollicitaties",
|
"title": "Teamsollicitaties",
|
||||||
@@ -1758,7 +1838,10 @@
|
|||||||
"status": "Status",
|
"status": "Status",
|
||||||
"submitted": "Ingediend",
|
"submitted": "Ingediend",
|
||||||
"noMessage": "Geen bericht opgegeven"
|
"noMessage": "Geen bericht opgegeven"
|
||||||
}
|
},
|
||||||
|
"applicationsTitle": "Applications ({count})",
|
||||||
|
"userNumber": "User #{id}",
|
||||||
|
"rankLabel": "Rank {rank}"
|
||||||
},
|
},
|
||||||
"teams": {
|
"teams": {
|
||||||
"title": "Teams",
|
"title": "Teams",
|
||||||
@@ -1786,7 +1869,26 @@
|
|||||||
"save": "Teamdefinitie opslaan",
|
"save": "Teamdefinitie opslaan",
|
||||||
"saving": "Opslaan…",
|
"saving": "Opslaan…",
|
||||||
"cancel": "Annuleren"
|
"cancel": "Annuleren"
|
||||||
}
|
},
|
||||||
|
"teamRanks": "Staff ranks",
|
||||||
|
"visible": "Visible",
|
||||||
|
"hidden": "Hidden",
|
||||||
|
"newTeamRank": "New staff rank",
|
||||||
|
"rankName": "Rank name",
|
||||||
|
"rankNamePlaceholder": "For example: Moderator",
|
||||||
|
"badgeCode": "Badge code",
|
||||||
|
"badgeCodePlaceholder": "For example: ADM",
|
||||||
|
"jobDescription": "Job description",
|
||||||
|
"jobDescriptionPlaceholder": "Describe this staff role",
|
||||||
|
"staffColor": "Staff colour",
|
||||||
|
"staffColorPlaceholder": "For example: #3366cc",
|
||||||
|
"hiddenRank": "Hide from the staff page",
|
||||||
|
"createTeam": "Create staff rank",
|
||||||
|
"ranksTitle": "Staff ranks ({count})",
|
||||||
|
"badge": "Badge",
|
||||||
|
"color": "Colour",
|
||||||
|
"visibility": "Visibility",
|
||||||
|
"delete": "Delete"
|
||||||
},
|
},
|
||||||
"permissions": {
|
"permissions": {
|
||||||
"title": "Permissies",
|
"title": "Permissies",
|
||||||
@@ -2298,8 +2400,23 @@
|
|||||||
"enabled": "Ingeschakeld",
|
"enabled": "Ingeschakeld",
|
||||||
"save": "Pakket opslaan",
|
"save": "Pakket opslaan",
|
||||||
"saving": "Opslaan…",
|
"saving": "Opslaan…",
|
||||||
"cancel": "Annuleren"
|
"cancel": "Annuleren",
|
||||||
}
|
"infoPlaceholder": "Describe the package contents",
|
||||||
|
"iconPlaceholder": "Icon URL",
|
||||||
|
"colorPlaceholder": "For example: #3366cc",
|
||||||
|
"costsPlaceholder": "Price",
|
||||||
|
"creditsPlaceholder": "Number of credits",
|
||||||
|
"ducketsPlaceholder": "Number of duckets",
|
||||||
|
"diamondsPlaceholder": "Number of diamonds",
|
||||||
|
"giveRankPlaceholder": "Rank ID (0 for none)",
|
||||||
|
"badgesPlaceholder": "Badge codes separated by semicolons",
|
||||||
|
"positionPlaceholder": "Display order",
|
||||||
|
"create": "Create package",
|
||||||
|
"deletePackage": "Delete package"
|
||||||
|
},
|
||||||
|
"newPackageTitle": "New shop package",
|
||||||
|
"backToShop": "Back to shop",
|
||||||
|
"editPackageTitle": "Edit shop package"
|
||||||
},
|
},
|
||||||
"marketplace": {
|
"marketplace": {
|
||||||
"title": "Marketplace",
|
"title": "Marketplace",
|
||||||
@@ -2343,7 +2460,20 @@
|
|||||||
"back": "Terug naar gildes",
|
"back": "Terug naar gildes",
|
||||||
"viewPublic": "Openbare pagina",
|
"viewPublic": "Openbare pagina",
|
||||||
"disband": "Gilde ontbinden",
|
"disband": "Gilde ontbinden",
|
||||||
"listHeading": "Guilds ({count})"
|
"listHeading": "Guilds ({count})",
|
||||||
|
"edit": "Edit guild",
|
||||||
|
"save": "Save",
|
||||||
|
"saving": "Saving…",
|
||||||
|
"updated": "Guild updated",
|
||||||
|
"updateError": "Could not update guild",
|
||||||
|
"formName": "Name",
|
||||||
|
"formDescription": "Description",
|
||||||
|
"formState": "State",
|
||||||
|
"formForum": "Forum",
|
||||||
|
"formReadForum": "Read forum",
|
||||||
|
"formPostMessages": "Post messages",
|
||||||
|
"formPostThreads": "Post threads",
|
||||||
|
"formModForum": "Moderate forum"
|
||||||
},
|
},
|
||||||
"transactions": {
|
"transactions": {
|
||||||
"title": "Transacties",
|
"title": "Transacties",
|
||||||
@@ -2432,7 +2562,9 @@
|
|||||||
"save": "Voucher opslaan",
|
"save": "Voucher opslaan",
|
||||||
"saving": "Opslaan…",
|
"saving": "Opslaan…",
|
||||||
"cancel": "Annuleren"
|
"cancel": "Annuleren"
|
||||||
}
|
},
|
||||||
|
"updated": "Voucher updated",
|
||||||
|
"updateError": "Could not update voucher"
|
||||||
},
|
},
|
||||||
"subscriptions": {
|
"subscriptions": {
|
||||||
"title": "Abonnementen",
|
"title": "Abonnementen",
|
||||||
@@ -2451,7 +2583,15 @@
|
|||||||
"colActions": "Acties",
|
"colActions": "Acties",
|
||||||
"statusActive": "Actief",
|
"statusActive": "Actief",
|
||||||
"statusCancelled": "Geannuleerd",
|
"statusCancelled": "Geannuleerd",
|
||||||
"statusExpired": "Verlopen"
|
"statusExpired": "Verlopen",
|
||||||
|
"activeSubs": "Active subscriptions",
|
||||||
|
"types": "Subscription types",
|
||||||
|
"expiringSoon": "Expiring soon",
|
||||||
|
"activeSubscriptions": "Active subscriptions",
|
||||||
|
"colSubId": "Subscription ID",
|
||||||
|
"colUserId": "User ID",
|
||||||
|
"colType": "Type",
|
||||||
|
"colExpires": "Expires"
|
||||||
},
|
},
|
||||||
"rareValues": {
|
"rareValues": {
|
||||||
"title": "Zeldzame Waarden",
|
"title": "Zeldzame Waarden",
|
||||||
@@ -2489,8 +2629,25 @@
|
|||||||
"pointTypeDiamonds": "Diamanten",
|
"pointTypeDiamonds": "Diamanten",
|
||||||
"save": "Item opslaan",
|
"save": "Item opslaan",
|
||||||
"saving": "Opslaan…",
|
"saving": "Opslaan…",
|
||||||
"cancel": "Annuleren"
|
"cancel": "Annuleren",
|
||||||
}
|
"itemIdPlaceholder": "Item ID",
|
||||||
|
"iconPlaceholder": "Icon URL",
|
||||||
|
"creditsPlaceholder": "Credits",
|
||||||
|
"currencyValuePlaceholder": "Currency value",
|
||||||
|
"addValue": "Add value"
|
||||||
|
},
|
||||||
|
"editValue": "Edit value",
|
||||||
|
"badgePlaceholder": "Category badge code",
|
||||||
|
"priorityPlaceholder": "Priority",
|
||||||
|
"addCategoryButton": "Add category",
|
||||||
|
"badgeLabel": "Badge: {badge}",
|
||||||
|
"priorityLabel": "Priority: {priority}",
|
||||||
|
"itemCount": "{count} items",
|
||||||
|
"colItemId": "Item ID",
|
||||||
|
"colCurrencyValue": "Currency value",
|
||||||
|
"colCurrency": "Currency",
|
||||||
|
"colIcon": "Icon",
|
||||||
|
"noValuesInCategory": "No values in this category yet."
|
||||||
},
|
},
|
||||||
"badges": {
|
"badges": {
|
||||||
"title": "Badges",
|
"title": "Badges",
|
||||||
@@ -2521,7 +2678,10 @@
|
|||||||
"colImage": "Afbeelding",
|
"colImage": "Afbeelding",
|
||||||
"colName": "Naam",
|
"colName": "Naam",
|
||||||
"colDescription": "Beschrijving",
|
"colDescription": "Beschrijving",
|
||||||
"colActions": "Acties"
|
"colActions": "Acties",
|
||||||
|
"uploadedMessage": "Badge {code} uploaded.",
|
||||||
|
"errorMessage": "Upload failed: {error}",
|
||||||
|
"userIdPlaceholder": "User ID"
|
||||||
},
|
},
|
||||||
"achievements": {
|
"achievements": {
|
||||||
"title": "Prestaties",
|
"title": "Prestaties",
|
||||||
@@ -2535,7 +2695,14 @@
|
|||||||
"colProgress": "Voortgang",
|
"colProgress": "Voortgang",
|
||||||
"levelLabel": "Niveau {level}",
|
"levelLabel": "Niveau {level}",
|
||||||
"rewardCredits": "{count} credits",
|
"rewardCredits": "{count} credits",
|
||||||
"rewardPoints": "{count} {points}"
|
"rewardPoints": "{count} {points}",
|
||||||
|
"achievementRows": "Achievement levels",
|
||||||
|
"distinctAchievements": "Distinct achievements",
|
||||||
|
"categories": "Categories",
|
||||||
|
"colLevel": "Level",
|
||||||
|
"colRewardType": "Reward type",
|
||||||
|
"colRewardAmount": "Reward amount",
|
||||||
|
"colPoints": "Points"
|
||||||
},
|
},
|
||||||
"calendar": {
|
"calendar": {
|
||||||
"title": "Kalendercampagnes",
|
"title": "Kalendercampagnes",
|
||||||
@@ -2554,8 +2721,32 @@
|
|||||||
"days": "Dagen",
|
"days": "Dagen",
|
||||||
"dayLabel": "Dag {day}",
|
"dayLabel": "Dag {day}",
|
||||||
"reward": "Beloning",
|
"reward": "Beloning",
|
||||||
"noDays": "Geen dagen geconfigureerd voor deze campagne"
|
"noDays": "Geen dagen geconfigureerd voor deze campagne",
|
||||||
}
|
"campaignMeta": "#{id} · {days} days · starts {date}",
|
||||||
|
"disabled": "Disabled",
|
||||||
|
"enabled": "Enabled",
|
||||||
|
"locksExpired": "Expired days are locked",
|
||||||
|
"rewards": "Rewards",
|
||||||
|
"noRewards": "No rewards configured.",
|
||||||
|
"colId": "ID",
|
||||||
|
"colProduct": "Product",
|
||||||
|
"colItem": "Item",
|
||||||
|
"colCredits": "Credits",
|
||||||
|
"colPixels": "Duckets",
|
||||||
|
"colPoints": "Points",
|
||||||
|
"colBadge": "Badge",
|
||||||
|
"colSubscription": "Subscription",
|
||||||
|
"typeLabel": "Type {type}",
|
||||||
|
"rewardCount": "{count} rewards"
|
||||||
|
},
|
||||||
|
"campaigns": "Campaigns",
|
||||||
|
"enabled": "Enabled campaigns",
|
||||||
|
"totalRewards": "Total rewards",
|
||||||
|
"statusEnabled": "Enabled",
|
||||||
|
"statusDisabled": "Disabled",
|
||||||
|
"campaignMeta": "#{id} · {days} days · {rewards} rewards",
|
||||||
|
"startsAt": "Starts: {date}",
|
||||||
|
"locksExpired": "Expired days are locked"
|
||||||
},
|
},
|
||||||
"radio": {
|
"radio": {
|
||||||
"title": "Radiomoderatie",
|
"title": "Radiomoderatie",
|
||||||
@@ -2749,7 +2940,8 @@
|
|||||||
"pointsPerMinuteHint": "Amount awarded for each full minute of listening.",
|
"pointsPerMinuteHint": "Amount awarded for each full minute of listening.",
|
||||||
"maxPerDayHint": "Daily cap per user. Use 0 for unlimited.",
|
"maxPerDayHint": "Daily cap per user. Use 0 for unlimited.",
|
||||||
"minListenersHint": "Points are only awarded when at least this many people are tuned in.",
|
"minListenersHint": "Points are only awarded when at least this many people are tuned in.",
|
||||||
"save": "Punteninstellingen opslaan"
|
"save": "Punteninstellingen opslaan",
|
||||||
|
"saved": "Settings saved."
|
||||||
},
|
},
|
||||||
"autoDjForm": {
|
"autoDjForm": {
|
||||||
"title": "AutoDJ configuratie",
|
"title": "AutoDJ configuratie",
|
||||||
@@ -2846,7 +3038,119 @@
|
|||||||
},
|
},
|
||||||
"messagePlaceholder": "Bericht (voor meldingen)…",
|
"messagePlaceholder": "Bericht (voor meldingen)…",
|
||||||
"amountPlaceholder": "Bedrag…",
|
"amountPlaceholder": "Bedrag…",
|
||||||
"badgePlaceholder": "Badge code…"
|
"badgePlaceholder": "Badge code…",
|
||||||
|
"commandCategories": "Command categories",
|
||||||
|
"groups": {
|
||||||
|
"hotel": "Hotel",
|
||||||
|
"players": "Players",
|
||||||
|
"rewards": "Currency and gifts",
|
||||||
|
"advanced": "Advanced"
|
||||||
|
},
|
||||||
|
"executing": "Executing command…",
|
||||||
|
"chooseCommand": "Choose an operation. Values entered are preserved when switching categories.",
|
||||||
|
"refreshStatus": "Refresh status",
|
||||||
|
"checkedAt": "Checked at {time}",
|
||||||
|
"serviceAttention": "Some services need attention",
|
||||||
|
"servicesHealthy": "Core services are responding",
|
||||||
|
"cmsErrors": "CMS error center",
|
||||||
|
"readFailed": "Data could not be loaded",
|
||||||
|
"emulatorConfig": "Emulator connection",
|
||||||
|
"emailConfig": "Email delivery",
|
||||||
|
"configured": "Configured",
|
||||||
|
"playersOnline": "Players online",
|
||||||
|
"totalAccounts": "{count} total accounts",
|
||||||
|
"dbUnavailable": "Database unavailable",
|
||||||
|
"emulator": "Emulator",
|
||||||
|
"online": "Online",
|
||||||
|
"offline": "Offline",
|
||||||
|
"rconReachable": "Emulator connection available",
|
||||||
|
"rconNotResponding": "Emulator is not responding",
|
||||||
|
"database": "Database",
|
||||||
|
"connected": "Connected",
|
||||||
|
"down": "Unavailable",
|
||||||
|
"queriesResponding": "Database queries are responding",
|
||||||
|
"cannotReachDb": "Cannot connect to the database",
|
||||||
|
"emulatorErrors": "Emulator errors",
|
||||||
|
"last50Logged": "Up to 50 latest records",
|
||||||
|
"serverInfo": "Server information",
|
||||||
|
"node": "Node.js",
|
||||||
|
"platform": "Platform",
|
||||||
|
"appUptime": "Application uptime",
|
||||||
|
"heapUsed": "Heap memory used",
|
||||||
|
"rss": "Process memory (RSS)",
|
||||||
|
"hostUptime": "Host uptime",
|
||||||
|
"load1m": "Load average (1 min)",
|
||||||
|
"cpus": "Logical CPUs",
|
||||||
|
"systemDiagnostics": "System diagnostics",
|
||||||
|
"connectionHealthy": "Connection is healthy",
|
||||||
|
"unreachable": "Unreachable",
|
||||||
|
"emulatorRcon": "Emulator connection",
|
||||||
|
"respondingToPing": "Responding to health checks",
|
||||||
|
"noResponse": "No response",
|
||||||
|
"notConfigured": "Not configured",
|
||||||
|
"twoFaEncryptionKey": "2FA encryption key",
|
||||||
|
"appKeyConfigured": "Encryption key configured",
|
||||||
|
"appKeyMissing": "Encryption key missing",
|
||||||
|
"maintenanceMode": "Maintenance mode",
|
||||||
|
"siteIsInMaintenance": "The site is in maintenance mode",
|
||||||
|
"siteIsLive": "The site is open",
|
||||||
|
"recentStaffActivity": "Recent staff activity",
|
||||||
|
"noStaffActivity": "No recent staff activity",
|
||||||
|
"colWhen": "Date and time",
|
||||||
|
"colStaff": "Staff member",
|
||||||
|
"colAction": "Action",
|
||||||
|
"colDescription": "Description",
|
||||||
|
"recentEmulatorErrors": "Recent emulator errors",
|
||||||
|
"noEmulatorErrors": "No emulator errors recorded",
|
||||||
|
"colType": "Type",
|
||||||
|
"colVersion": "Version",
|
||||||
|
"colStacktrace": "Error details",
|
||||||
|
"truncated": "Further lines omitted",
|
||||||
|
"empty": "No details available",
|
||||||
|
"defaultGiftMessage": "A gift for you!",
|
||||||
|
"emulatorControls": "Emulator commands",
|
||||||
|
"updateCatalog": "Reload catalog",
|
||||||
|
"updateCatalogDesc": "Reload the catalog from the database.",
|
||||||
|
"updateWordFilter": "Reload word filter",
|
||||||
|
"updateWordFilterDesc": "Apply the latest word filter settings.",
|
||||||
|
"updateNavigator": "Reload navigator",
|
||||||
|
"updateNavigatorDesc": "Reload the room navigator data.",
|
||||||
|
"hotelAlert": "Hotel announcement",
|
||||||
|
"hotelAlertDesc": "Send a message to all online players.",
|
||||||
|
"messageToBroadcast": "Message for all players",
|
||||||
|
"sendAlert": "Send announcement",
|
||||||
|
"disconnectDesc": "Disconnect the selected player from the hotel.",
|
||||||
|
"userId": "User ID",
|
||||||
|
"usernameRequired": "Username (required)",
|
||||||
|
"alertDesc": "Send a private alert to a player.",
|
||||||
|
"alertMessage": "Alert message",
|
||||||
|
"forwardToRoom": "Move player to room",
|
||||||
|
"forwardDesc": "Send the selected player to a specific room.",
|
||||||
|
"roomId": "Room ID",
|
||||||
|
"forwardUser": "Move player",
|
||||||
|
"giveCredits": "Give credits",
|
||||||
|
"giveCreditsDesc": "Add credits to the selected player’s balance.",
|
||||||
|
"amount": "Amount",
|
||||||
|
"giveDuckets": "Give duckets",
|
||||||
|
"giveDucketsDesc": "Add duckets to the selected player’s balance.",
|
||||||
|
"giveDiamonds": "Give diamonds",
|
||||||
|
"giveDiamondsDesc": "Add diamonds to the selected player’s balance.",
|
||||||
|
"giveBadge": "Give badge",
|
||||||
|
"giveBadgeDesc": "Give a badge to the selected player.",
|
||||||
|
"badgeCode": "Badge code",
|
||||||
|
"setMotto": "Change motto",
|
||||||
|
"setMottoDesc": "Update the selected player’s motto.",
|
||||||
|
"newMotto": "New motto",
|
||||||
|
"setRank": "Change rank",
|
||||||
|
"setRankDesc": "Update the selected player’s rank.",
|
||||||
|
"rankPlaceholder": "Rank (1–10)",
|
||||||
|
"executeCommand": "Execute emulator command",
|
||||||
|
"executeCommandDesc": "Execute a command for the selected player.",
|
||||||
|
"commandPlaceholder": "Command",
|
||||||
|
"sendGift": "Send gift",
|
||||||
|
"sendGiftDesc": "Send a furniture item as a gift to the selected player.",
|
||||||
|
"furniId": "Furniture ID",
|
||||||
|
"giftMessage": "Gift message"
|
||||||
},
|
},
|
||||||
"emulator": {
|
"emulator": {
|
||||||
"title": "Emulator Configuratie",
|
"title": "Emulator Configuratie",
|
||||||
@@ -2871,7 +3175,16 @@
|
|||||||
"valuePlaceholder": "Voer waarde in…",
|
"valuePlaceholder": "Voer waarde in…",
|
||||||
"save": "Wijzigingen opslaan",
|
"save": "Wijzigingen opslaan",
|
||||||
"cancel": "Annuleren"
|
"cancel": "Annuleren"
|
||||||
}
|
},
|
||||||
|
"settingsKeys": "Settings",
|
||||||
|
"textKeys": "Text entries",
|
||||||
|
"keysCount": "{count} keys",
|
||||||
|
"addOverwriteSetting": "Add or update a setting",
|
||||||
|
"key": "Key",
|
||||||
|
"value": "Value",
|
||||||
|
"showingFirst": "Showing the first {count}",
|
||||||
|
"addOverwriteText": "Add or update a text",
|
||||||
|
"truncatedHint": "Showing {shown} of {total} entries."
|
||||||
},
|
},
|
||||||
"alerts": {
|
"alerts": {
|
||||||
"title": "Meldingen",
|
"title": "Meldingen",
|
||||||
@@ -3071,7 +3384,25 @@
|
|||||||
"save": "Instellingen opslaan",
|
"save": "Instellingen opslaan",
|
||||||
"saving": "Opslaan…",
|
"saving": "Opslaan…",
|
||||||
"confirmEnable": "Het inschakelen van onderhoud voorkomt dat niet-teamleden toegang krijgen tot het hotel. Doorgaan?",
|
"confirmEnable": "Het inschakelen van onderhoud voorkomt dat niet-teamleden toegang krijgen tot het hotel. Doorgaan?",
|
||||||
"confirmDisable": "Onderhoudsmodus uitschakelen en toegang herstellen voor alle gebruikers?"
|
"confirmDisable": "Onderhoudsmodus uitschakelen en toegang herstellen voor alle gebruikers?",
|
||||||
|
"maintenance": "Maintenance",
|
||||||
|
"hotelLockedDown": "Access to the hotel is restricted.",
|
||||||
|
"hotelOpen": "The hotel is open.",
|
||||||
|
"minLoginRank": "Minimum login rank",
|
||||||
|
"duringMaintenance": "During maintenance",
|
||||||
|
"splashMessage": "Maintenance message",
|
||||||
|
"set": "Configured",
|
||||||
|
"empty": "Empty",
|
||||||
|
"currentState": "Current status",
|
||||||
|
"maintenanceCurrently": "Maintenance: {status}",
|
||||||
|
"onlyRankCanLogin": "Only users with rank {rank} or higher can log in.",
|
||||||
|
"hotelOpenToEveryone": "All eligible users can log in.",
|
||||||
|
"settings": "Settings",
|
||||||
|
"enableMaintenance": "Enable maintenance mode",
|
||||||
|
"minLoginRankLabel": "Minimum rank allowed during maintenance",
|
||||||
|
"maintenanceMessageLabel": "Message shown to visitors",
|
||||||
|
"maintenanceMessagePlaceholder": "Explain why the hotel is unavailable.",
|
||||||
|
"saveChanges": "Save changes"
|
||||||
},
|
},
|
||||||
"housekeeping": {
|
"housekeeping": {
|
||||||
"title": "Permissie-archief",
|
"title": "Permissie-archief",
|
||||||
@@ -3272,8 +3603,13 @@
|
|||||||
"variablesHint": "{username}, {email}, {hotel_name}",
|
"variablesHint": "{username}, {email}, {hotel_name}",
|
||||||
"save": "Sjabloon opslaan",
|
"save": "Sjabloon opslaan",
|
||||||
"saving": "Opslaan…",
|
"saving": "Opslaan…",
|
||||||
"cancel": "Annuleren"
|
"cancel": "Annuleren",
|
||||||
}
|
"variablesPlaceholder": "Variables, separated by commas",
|
||||||
|
"active": "Active"
|
||||||
|
},
|
||||||
|
"create": "Create template",
|
||||||
|
"save": "Save template",
|
||||||
|
"updated": "Updated: {date}"
|
||||||
},
|
},
|
||||||
"theme": {
|
"theme": {
|
||||||
"title": "Thema",
|
"title": "Thema",
|
||||||
@@ -3299,7 +3635,12 @@
|
|||||||
"saveCss": "CSS opslaan",
|
"saveCss": "CSS opslaan",
|
||||||
"savingCss": "Opslaan…",
|
"savingCss": "Opslaan…",
|
||||||
"reset": "Standaardwaarden herstellen",
|
"reset": "Standaardwaarden herstellen",
|
||||||
"confirmReset": "Thema terugzetten naar standaardwaarden?"
|
"confirmReset": "Thema terugzetten naar standaardwaarden?",
|
||||||
|
"saved": "Theme settings saved.",
|
||||||
|
"presetApplied": "Preset applied: {preset}",
|
||||||
|
"typographyLayout": "Typography and layout",
|
||||||
|
"font": "Font",
|
||||||
|
"borderRadius": "Corner radius"
|
||||||
},
|
},
|
||||||
"media": {
|
"media": {
|
||||||
"title": "Mediabibliotheek",
|
"title": "Mediabibliotheek",
|
||||||
@@ -3838,7 +4179,35 @@
|
|||||||
"recentFirst": "Nieuwste eerst",
|
"recentFirst": "Nieuwste eerst",
|
||||||
"frequentFirst": "Meest voorkomend eerst",
|
"frequentFirst": "Meest voorkomend eerst",
|
||||||
"filterScope": "Aantallen gelden voor passende bewaarde gebeurtenissen. Groepsstatus en nieuwste details blijven actueel over alle versies.",
|
"filterScope": "Aantallen gelden voor passende bewaarde gebeurtenissen. Groepsstatus en nieuwste details blijven actueel over alle versies.",
|
||||||
"auditTrail": "Gerelateerde auditregels"
|
"auditTrail": "Gerelateerde auditregels",
|
||||||
|
"title": "CMS error center",
|
||||||
|
"storageError": "Error storage could not be read. Check the storage volume and permissions.",
|
||||||
|
"subtitle": "Server and browser errors from the last 7 days. Browser reports are unverified client observations.",
|
||||||
|
"emulator": "Emulator errors",
|
||||||
|
"refresh": "Refresh / clear filters",
|
||||||
|
"search": "Search errors",
|
||||||
|
"allSources": "All sources",
|
||||||
|
"empty": "No captured errors match these filters. Older console logs are not imported.",
|
||||||
|
"resolve": "Mark resolved",
|
||||||
|
"reopenHint": "A new occurrence reopens the group automatically.",
|
||||||
|
"references": "Occurrence references",
|
||||||
|
"stackHint": "Browser stacks may reference compiled chunks. Use the reference to investigate; request bodies are not stored.",
|
||||||
|
"previous": "Previous",
|
||||||
|
"next": "Next",
|
||||||
|
"searchHint": "Reference, digest, message, route or release",
|
||||||
|
"source": "Error source",
|
||||||
|
"pages": "Error pages",
|
||||||
|
"resolved": "Resolved",
|
||||||
|
"open": "Open",
|
||||||
|
"occurrences": "{count} occurrences",
|
||||||
|
"reference": "Reference",
|
||||||
|
"release": "Release",
|
||||||
|
"noStack": "No stack supplied. Use the reference or digest to correlate server logs.",
|
||||||
|
"truncated": "Showing the latest 1,000 events; filters search this retained window.",
|
||||||
|
"counts": "{count} occurrences · {groups} groups.",
|
||||||
|
"retention": "Storage is limited to 10 MB per day; excess events remain in server logs where available.",
|
||||||
|
"status": "Status",
|
||||||
|
"allStatuses": "All statuses"
|
||||||
},
|
},
|
||||||
"installation": {
|
"installation": {
|
||||||
"title": "Installatiediagnose",
|
"title": "Installatiediagnose",
|
||||||
@@ -3882,7 +4251,20 @@
|
|||||||
"ownerHistory": "Je imports en reparaties, nieuwste eerst. Herhalen voert voltooide of onzekere onderdelen nooit opnieuw uit.",
|
"ownerHistory": "Je imports en reparaties, nieuwste eerst. Herhalen voert voltooide of onzekere onderdelen nooit opnieuw uit.",
|
||||||
"previousPage": "Vorige",
|
"previousPage": "Vorige",
|
||||||
"nextPage": "Volgende",
|
"nextPage": "Volgende",
|
||||||
"page": "Pagina {page}"
|
"page": "Pagina {page}",
|
||||||
|
"summary": "Import history · {count} active",
|
||||||
|
"empty": "No background imports yet.",
|
||||||
|
"result": "{done}/{total} imported · {failed} failed",
|
||||||
|
"progress": "Import progress",
|
||||||
|
"queued": "Queued",
|
||||||
|
"running": "Running",
|
||||||
|
"completed": "Completed",
|
||||||
|
"interrupted": "Interrupted",
|
||||||
|
"done": "Imported",
|
||||||
|
"failed": "Failed",
|
||||||
|
"pending": "Pending",
|
||||||
|
"retryFailed": "Retry failed items only",
|
||||||
|
"retryUnfinished": "Retry unfinished items"
|
||||||
},
|
},
|
||||||
"operations": {
|
"operations": {
|
||||||
"title": "Aandacht nodig",
|
"title": "Aandacht nodig",
|
||||||
@@ -3975,7 +4357,17 @@
|
|||||||
"hint": "Voer een numeriek ID of minstens 2 tekens in, of kies een pagina.",
|
"hint": "Voer een numeriek ID of minstens 2 tekens in, of kies een pagina.",
|
||||||
"retry": "Opnieuw proberen",
|
"retry": "Opnieuw proberen",
|
||||||
"description": "Zoek pagina’s, gebruikers, meubels, cataloguscategorieën, artikelen en supporttickets.",
|
"description": "Zoek pagina’s, gebruikers, meubels, cataloguscategorieën, artikelen en supporttickets.",
|
||||||
"partialError": "Sommige resultaten konden niet worden geladen. Probeer opnieuw."
|
"partialError": "Sommige resultaten konden niet worden geladen. Probeer opnieuw.",
|
||||||
|
"pages": "Pages and tools",
|
||||||
|
"loadError": "Records could not be loaded. You can still open the pages above.",
|
||||||
|
"placeholder": "Search pages, users, rooms…",
|
||||||
|
"users": "Users",
|
||||||
|
"articles": "Articles",
|
||||||
|
"rooms": "Rooms",
|
||||||
|
"guilds": "Groups",
|
||||||
|
"shop": "Shop",
|
||||||
|
"rareValues": "Rare values",
|
||||||
|
"noResults": "No results found."
|
||||||
},
|
},
|
||||||
"permissionPreview": {
|
"permissionPreview": {
|
||||||
"title": "Voorbeeld van roltoegang",
|
"title": "Voorbeeld van roltoegang",
|
||||||
@@ -4034,7 +4426,26 @@
|
|||||||
"name": "Naam van weergave",
|
"name": "Naam van weergave",
|
||||||
"replace": "Deze weergave vervangen",
|
"replace": "Deze weergave vervangen",
|
||||||
"save": "Huidige weergave opslaan"
|
"save": "Huidige weergave opslaan"
|
||||||
}
|
},
|
||||||
|
"search": "Search…",
|
||||||
|
"clearSearch": "Clear search",
|
||||||
|
"filters": "Filters",
|
||||||
|
"clearAll": "Clear all",
|
||||||
|
"all": "All",
|
||||||
|
"columns": "Columns",
|
||||||
|
"perPage": "{count} / page",
|
||||||
|
"selected": "{count} selected",
|
||||||
|
"results": "{count} results",
|
||||||
|
"empty": "No results match your search or filters.",
|
||||||
|
"selectAll": "Select all rows on this page",
|
||||||
|
"selectRow": "Select row {id}",
|
||||||
|
"removeFilter": "Remove filter: {name}",
|
||||||
|
"previous": "Previous page",
|
||||||
|
"next": "Next page",
|
||||||
|
"page": "Page {page}",
|
||||||
|
"pageOf": "Page {page} of {last}",
|
||||||
|
"bulkError": "The operation failed. Your selection has been kept; check the result before retrying.",
|
||||||
|
"confirmBulk": "{action} on {count} selected rows?"
|
||||||
},
|
},
|
||||||
"syncQueue": {
|
"syncQueue": {
|
||||||
"preparing": "Synchronisatie voorbereiden...",
|
"preparing": "Synchronisatie voorbereiden...",
|
||||||
@@ -4103,6 +4514,16 @@
|
|||||||
"elapsed": "{seconds}s in deze fase",
|
"elapsed": "{seconds}s in deze fase",
|
||||||
"recovered": "Bundel hersteld via {source} · revisie {revision}. Classname, type en revisie komen overeen; identiteit van de bundel gecontroleerd.",
|
"recovered": "Bundel hersteld via {source} · revisie {revision}. Classname, type en revisie komen overeen; identiteit van de bundel gecontroleerd.",
|
||||||
"recoveryHint": "Je kunt doorgaan. Als de oorspronkelijke bestanden ontbreken, zoekt de importeur in actieve bronnen naar dezelfde classname, hetzelfde type en dezelfde revisie en controleert daarna de Nitro-bundel. Ontbrekende bestanden kun je ook handmatig toevoegen."
|
"recoveryHint": "Je kunt doorgaan. Als de oorspronkelijke bestanden ontbreken, zoekt de importeur in actieve bronnen naar dezelfde classname, hetzelfde type en dezelfde revisie en controleert daarna de Nitro-bundel. Ontbrekende bestanden kun je ook handmatig toevoegen."
|
||||||
|
},
|
||||||
|
"workQueue": {
|
||||||
|
"title": "Work to review",
|
||||||
|
"tickets": "Open tickets",
|
||||||
|
"ticketsHint": "CMS and help-center queues",
|
||||||
|
"imports": "Imports to review",
|
||||||
|
"importsHint": "Your interrupted jobs or jobs with failed items",
|
||||||
|
"errors": "Open CMS error groups",
|
||||||
|
"errorsHint": "From the retained diagnostic history",
|
||||||
|
"unavailable": "Status unavailable — open to inspect"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mod": {
|
"mod": {
|
||||||
@@ -4263,6 +4684,64 @@
|
|||||||
"unavailable": "Sommige acties konden niet worden gecontroleerd. Beschikbare acties staan hierboven.",
|
"unavailable": "Sommige acties konden niet worden gecontroleerd. Beschikbare acties staan hierboven.",
|
||||||
"retry": "Opnieuw proberen",
|
"retry": "Opnieuw proberen",
|
||||||
"rewardUnavailable": "De voortgang van uitnodigingen is tijdelijk niet beschikbaar. Probeer het opnieuw."
|
"rewardUnavailable": "De voortgang van uitnodigingen is tijdelijk niet beschikbaar. Probeer het opnieuw."
|
||||||
|
},
|
||||||
|
"title": "My dashboard",
|
||||||
|
"loadError": "We could not load your dashboard. Please try again.",
|
||||||
|
"retry": "Try again",
|
||||||
|
"login": "Sign in",
|
||||||
|
"never": "Never",
|
||||||
|
"claimed": "Reward claimed successfully!",
|
||||||
|
"welcome": "Your space on {hotel}",
|
||||||
|
"noMotto": "No motto yet",
|
||||||
|
"registered": "Registered: {date}",
|
||||||
|
"lastOnline": "Last online: {date}",
|
||||||
|
"enter": "Enter {hotel}",
|
||||||
|
"quickLinks": "Quick links",
|
||||||
|
"messages": "Messages",
|
||||||
|
"profile": "My profile",
|
||||||
|
"settings": "Settings",
|
||||||
|
"shop": "Shop",
|
||||||
|
"unread": "{count} unread messages",
|
||||||
|
"wallet": "Your wallet",
|
||||||
|
"currencies": {
|
||||||
|
"credits": "Credits",
|
||||||
|
"duckets": "Duckets",
|
||||||
|
"diamonds": "Diamonds",
|
||||||
|
"points": "Points"
|
||||||
|
},
|
||||||
|
"onlineFriends": "Online friends",
|
||||||
|
"allFriends": "All friends",
|
||||||
|
"noOnlineFriends": "None of your friends are online right now.",
|
||||||
|
"recentRooms": "New rooms",
|
||||||
|
"community": "Community",
|
||||||
|
"roomsHint": "The newest rooms created in the hotel.",
|
||||||
|
"noRooms": "No rooms available yet.",
|
||||||
|
"activity": "Your activity",
|
||||||
|
"achievements": "Achievement score",
|
||||||
|
"respects": "Respects received",
|
||||||
|
"friends": "Friends",
|
||||||
|
"lastLogin": "Last login",
|
||||||
|
"referrals": "Invite your friends",
|
||||||
|
"referralHint": "Share your link and earn rewards when new players register.",
|
||||||
|
"referralProgress": "Progress towards your reward",
|
||||||
|
"reward": "{amount} {currency} for every {count} new players.",
|
||||||
|
"rewardHint": "Invite {count} players to unlock your reward.",
|
||||||
|
"referralLink": "Your invitation link",
|
||||||
|
"claim": "Claim reward",
|
||||||
|
"remaining": "{count, plural, one {Invite # more player to unlock your reward.} other {Invite # more players to unlock your reward.}}",
|
||||||
|
"rules": "Invitation rules",
|
||||||
|
"rulesText": "Creating extra accounts to increase invitations can lead to removal of progress, currency and inventory, and a ban.",
|
||||||
|
"badges": "Equipped badges",
|
||||||
|
"noBadges": "You are not wearing any badges yet.",
|
||||||
|
"copy": "Copy link",
|
||||||
|
"copied": "Copied!",
|
||||||
|
"copyFailed": "Copy failed. Select the link and copy it manually.",
|
||||||
|
"errors": {
|
||||||
|
"not_enough": "You need more invitations to claim the reward.",
|
||||||
|
"no_referrals": "Share your link to invite your first friend.",
|
||||||
|
"bad_config": "The reward is not configured correctly. Contact the staff.",
|
||||||
|
"ratelimit": "Too many attempts. Wait a moment and try again.",
|
||||||
|
"error": "The reward could not be claimed. Please try again."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"search": {
|
"search": {
|
||||||
@@ -4284,6 +4763,63 @@
|
|||||||
"previous": "Vorige",
|
"previous": "Vorige",
|
||||||
"next": "Volgende",
|
"next": "Volgende",
|
||||||
"pageSummary": "Pagina {page} van {pages} · {total} resultaten"
|
"pageSummary": "Pagina {page} van {pages} · {total} resultaten"
|
||||||
|
},
|
||||||
|
"housekeeping": {
|
||||||
|
"preview": {
|
||||||
|
"badge": "Foundation preview",
|
||||||
|
"commandDisabled": "Search and commands are enabled in a later subproject.",
|
||||||
|
"backToSite": "Back to site"
|
||||||
|
},
|
||||||
|
"navigation": {
|
||||||
|
"skipToContent": "Skip to content",
|
||||||
|
"primary": "Housekeeping domains",
|
||||||
|
"contextual": "Domain navigation"
|
||||||
|
},
|
||||||
|
"domains": {
|
||||||
|
"operations": {
|
||||||
|
"title": "Operations",
|
||||||
|
"description": "Operational overview and daily queues"
|
||||||
|
},
|
||||||
|
"people": {
|
||||||
|
"title": "People",
|
||||||
|
"description": "Users, moderation, and support"
|
||||||
|
},
|
||||||
|
"content": {
|
||||||
|
"title": "Content",
|
||||||
|
"description": "Editorial content and community engagement"
|
||||||
|
},
|
||||||
|
"economy": {
|
||||||
|
"title": "Economy",
|
||||||
|
"description": "Catalog and shop operations"
|
||||||
|
},
|
||||||
|
"hotel": {
|
||||||
|
"title": "Hotel",
|
||||||
|
"description": "Rooms, radio, and asset tools"
|
||||||
|
},
|
||||||
|
"system": {
|
||||||
|
"title": "System",
|
||||||
|
"description": "Configuration, observability, and access"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"states": {
|
||||||
|
"loading": {
|
||||||
|
"title": "Loading housekeeping",
|
||||||
|
"description": "Preparing the available housekeeping tools."
|
||||||
|
},
|
||||||
|
"empty": {
|
||||||
|
"title": "Nothing available",
|
||||||
|
"description": "No housekeeping content is available for this domain."
|
||||||
|
},
|
||||||
|
"partial": {
|
||||||
|
"label": "Partial data",
|
||||||
|
"title": "Some information is unavailable",
|
||||||
|
"description": "Review the available information and try again later."
|
||||||
|
},
|
||||||
|
"error": {
|
||||||
|
"title": "Unable to load housekeeping",
|
||||||
|
"description": "Try again later or contact an administrator."
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"toolbar": {
|
"toolbar": {
|
||||||
|
|||||||
+1042
-47
File diff suppressed because it is too large.
Load diff
+1041
-47
File diff suppressed because it is too large.
Load diff
+1041
-47
File diff suppressed because it is too large.
Load diff
+1042
-47
File diff suppressed because it is too large.
Load diff
+1041
-47
File diff suppressed because it is too large.
Load diff
+1042
-47
File diff suppressed because it is too large.
Load diff
+1042
-47
File diff suppressed because it is too large.
Load diff
+1042
-47
File diff suppressed because it is too large.
Load diff
+1041
-47
File diff suppressed because it is too large.
Load diff
+1042
-47
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user