i18n: add pages.admin.studio namespace to all 22 locale files (EN placeholders + Dutch)
This commit is contained in:
1 parent
6ae7c09682
commit
1a0d20fae5
22 files changed
+2134
No files matched your search
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
Reference in new issue
Block a user