i18n: add pages.admin.studio namespace to all 22 locale files (EN placeholders + Dutch)

This commit is contained in:
openhands committed 2026-08-24 20:48:13 +02:00
1 parent 6ae7c09682
commit 1a0d20fae5
22 files changed
+2134

No files matched your search

+97
View File
@@ -3153,6 +3153,103 @@
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
},
"emails": {
+97
View File
@@ -3153,6 +3153,103 @@
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
},
"emails": {
+97
View File
@@ -3153,6 +3153,103 @@
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
},
"emails": {
+97
View File
@@ -3154,6 +3154,103 @@
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
},
"emails": {
+97
View File
@@ -3153,6 +3153,103 @@
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
},
"emails": {
+97
View File
@@ -3158,6 +3158,103 @@
"team": "Mod team",
"teamHint": "Online staff & workload"
}
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
}
}
+97
View File
@@ -3154,6 +3154,103 @@
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
},
"emails": {
+97
View File
@@ -3154,6 +3154,103 @@
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
},
"emails": {
+97
View File
@@ -3153,6 +3153,103 @@
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
},
"emails": {
+97
View File
@@ -3153,6 +3153,103 @@
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
},
"emails": {
+97
View File
@@ -3163,6 +3163,103 @@
"team": "Team mod",
"teamHint": "Staff online e carico"
}
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
}
}
+97
View File
@@ -3164,6 +3164,103 @@
"team": "Mod team",
"teamHint": "Online staff & werklast"
}
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Zoek furni, classnames, trefwoorden… (/)",
"results": "{count} resultaten",
"inDb": "in DB",
"inCatalog": "in catalogus",
"missingNitro": "ontbrekende nitro",
"globalTranslation": "Vertaling (globaal)",
"catalogTree": "Catalogus",
"source": "Furni-bron",
"officialSource": "(officieel)",
"type": "Type",
"allTypes": "Alle types",
"floorItems": "Vloeritems",
"wallItems": "Muuritems",
"category": "Categorie",
"allCategories": "Alle categorieën",
"status": "Status",
"allStatuses": "Alle statussen",
"imported": "Geïmporteerd",
"inCatalogStatus": "In catalogus",
"missingNitroStatus": "Ontbrekende nitro",
"sort": "Sorteer",
"defaultOrder": "Standaardvolgorde",
"nameAZ": "Naam A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Categorie",
"importedFirst": "Eerst geïmporteerd",
"notImportedFirst": "Eerst niet-geïmporteerd",
"noNitro": "{count} geen nitro",
"gridView": "Rasterweergave",
"listView": "Lijstweergave",
"selectAll": "Alles selecteren",
"selectedCount": "{count} geselecteerd",
"clear": "Wissen",
"translate": "Vertalen",
"noLanguages": "Geen talen",
"allLanguages": "Alle talen",
"languagesCount": "{count} talen",
"languages": "Talen",
"all": "Alles",
"none": "Geen",
"languageLabel": "Taal {lang}",
"translateAll": "Alles vertalen",
"translateAllTitle": "Vertaal de hele catalogus in alle talen (achteraf)",
"importAuto": "Importeer {count} auto",
"maintenance": {
"title": "Catalogus-onderhoud",
"description": "Dwing de meubeltabellen tot 100% consistentie met FurnitureData.json. Elke actie draait in een database-transactie en rolt terug bij een fout.",
"refresh": "Verversen",
"currentHealth": "Huidige status",
"itemsInBase": "{count} items in items_base",
"loading": "Laden…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite-afwijking",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalogus offer-afwijking",
"statDuplicateClassnames": "Dubbele classnames",
"hintDuplicateClassnames": "items_base item_name dubbelen",
"statDuplicateCatalogRows": "Dubbele catalogusrijen",
"hintDuplicateCatalogRows": "zelfde product twee keer op een pagina",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id wijkt af van furnidata",
"statDuplicateBcCatalogRows": "Dubbele BC-catalogusrijen",
"hintDuplicateBcCatalogRows": "zelfde product twee keer in builder club",
"statDuplicateCatalogPages": "Dubbele cataloguspagina's",
"hintDuplicateCatalogPages": "zelfde bijschrift onder dezelfde ouder (dubbele links)",
"optionSpriteId": "Herstel sprite_id",
"optionOfferId": "Herstel catalogus offer_id",
"optionRemoveDuplicates": "Verwijder dubbele (items + catalogus)",
"optionReconcile": "Verzoen FurnitureData ↔ DB",
"optionAlignIds": "Aligneer items_base-ID's naar FurnitureData",
"alignDescription": "Verplaatst elke items_base.id naar de FurnitureData sprite-id (bron van waarheid). Overschrijft alle refererende tabellen.",
"previewChanges": "Bekijk wijzigingen",
"plannedIdMoves": "Geplande ID-verplaatsingen: {moves}",
"newItemsInsert": "Nieuwe items om in te voegen: {inserted}",
"skipped": "Overgeslagen (id bezet): {list}",
"applyAlignment": "Pas uitlijning toe",
"fixEverythingTitle": "Alles herstellen",
"fixEverythingDescription": "Voert de geselecteerde reparaties in volgorde uit. Zware bewerking — maak eerst een backup.",
"alsoMergeDuplicatePages": "Voeg ook dubbele cataloguspagina's samen (dubbele links)",
"runSelected": "Voer geselecteerde uit",
"selectAtLeastOne": "Selecteer minstens één reparatie om uit te voeren",
"previewReady": "Voorbeeld klaar",
"previewFailed": "Voorbeeld mislukt",
"toast": {
"spriteFixed": "sprite_id hersteld",
"offerFixed": "catalogus offer_id hersteld",
"duplicatesRemoved": "Dubbele verwijderd (items + catalogus)",
"reconciled": "FurnitureData verzoend",
"aligned": "items_base-ID's uitgelijnd naar FurnitureData",
"allApplied": "Alle geselecteerde reparaties uitgevoerd",
"failed": "Mislukt"
}
}
}
}
}
+97
View File
@@ -3153,6 +3153,103 @@
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
},
"emails": {
+97
View File
@@ -3154,6 +3154,103 @@
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
},
"emails": {
+97
View File
@@ -3154,6 +3154,103 @@
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
},
"emails": {
+97
View File
@@ -3153,6 +3153,103 @@
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
},
"emails": {
+97
View File
@@ -3152,6 +3152,103 @@
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
},
"emails": {
+97
View File
@@ -3153,6 +3153,103 @@
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
},
"emails": {
+97
View File
@@ -3153,6 +3153,103 @@
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
},
"emails": {
+97
View File
@@ -3153,6 +3153,103 @@
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
},
"emails": {
+97
View File
@@ -3154,6 +3154,103 @@
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
},
"emails": {
+97
View File
@@ -3153,6 +3153,103 @@
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"studio": {
"title": "Studio",
"sourceFurnidata": "{source} furnidata",
"searchPlaceholder": "Search furni, classnames, keywords… (/)",
"results": "{count} results",
"inDb": "in DB",
"inCatalog": "in catalog",
"missingNitro": "missing nitro",
"globalTranslation": "Translation (global)",
"catalogTree": "Catalog",
"source": "Furni source",
"officialSource": "(official)",
"type": "Type",
"allTypes": "All types",
"floorItems": "Floor items",
"wallItems": "Wall items",
"category": "Category",
"allCategories": "All categories",
"status": "Status",
"allStatuses": "All statuses",
"imported": "Imported",
"inCatalogStatus": "In catalog",
"missingNitroStatus": "Missing nitro",
"sort": "Sort",
"defaultOrder": "Default order",
"nameAZ": "Name A–Z",
"classnameAZ": "Classname A–Z",
"categorySort": "Category",
"importedFirst": "Imported first",
"notImportedFirst": "Not imported first",
"noNitro": "{count} no nitro",
"gridView": "Grid view",
"listView": "List view",
"selectAll": "Select all",
"selectedCount": "{count} selected",
"clear": "Clear",
"translate": "Translate",
"noLanguages": "No languages",
"allLanguages": "All languages",
"languagesCount": "{count} languages",
"languages": "Languages",
"all": "All",
"none": "None",
"languageLabel": "Language {lang}",
"translateAll": "Translate all",
"translateAllTitle": "Translate the whole catalog into all languages (afterwards)",
"importAuto": "Import {count} auto",
"maintenance": {
"title": "Catalog maintenance",
"description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.",
"refresh": "Refresh",
"currentHealth": "Current health",
"itemsInBase": "{count} items in items_base",
"loading": "Loading…",
"statSpriteId": "sprite_id ≠ id",
"hintSpriteId": "items_base sprite drift",
"statOfferId": "offer_id ≠ id",
"hintOfferId": "catalog offer drift",
"statDuplicateClassnames": "Duplicate classnames",
"hintDuplicateClassnames": "items_base item_name repeats",
"statDuplicateCatalogRows": "Duplicate catalog rows",
"hintDuplicateCatalogRows": "same product listed twice on a page",
"statIdMismatch": "ID ≠ FurnitureData",
"hintIdMismatch": "items_base id differs from furnidata",
"statDuplicateBcCatalogRows": "Duplicate BC catalog rows",
"hintDuplicateBcCatalogRows": "same product listed twice in builder club",
"statDuplicateCatalogPages": "Duplicate catalog pages",
"hintDuplicateCatalogPages": "same caption under the same parent (double links)",
"optionSpriteId": "Fix sprite_id",
"optionOfferId": "Fix catalog offer_id",
"optionRemoveDuplicates": "Remove duplicates (items + catalog)",
"optionReconcile": "Reconcile FurnitureData ↔ DB",
"optionAlignIds": "Align items_base IDs to FurnitureData",
"alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.",
"previewChanges": "Preview changes",
"plannedIdMoves": "Planned ID moves: {moves}",
"newItemsInsert": "New items to insert: {inserted}",
"skipped": "Skipped (id occupied): {list}",
"applyAlignment": "Apply alignment",
"fixEverythingTitle": "Fix everything",
"fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.",
"alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)",
"runSelected": "Run selected",
"selectAtLeastOne": "Select at least one repair to run",
"previewReady": "Preview ready",
"previewFailed": "Preview failed",
"toast": {
"spriteFixed": "sprite_id fixed",
"offerFixed": "catalog offer_id fixed",
"duplicatesRemoved": "Duplicates removed (items + catalog)",
"reconciled": "FurnitureData reconciled",
"aligned": "items_base IDs aligned to FurnitureData",
"allApplied": "All selected repairs applied",
"failed": "Failed"
}
}
}
},
"emails": {