fix
This commit is contained in:
@@ -285,36 +285,15 @@ export type FixCatalogResult = SyncA1Result;
|
||||
/** @deprecated Use SyncA1Response */
|
||||
export type FixCatalogResponse = SyncA1Response;
|
||||
|
||||
/** Sync A1: optional wp_product_categories.sql upload + dump category backfill + Fix hygiene. */
|
||||
/** Sync A1: dump category backfill + Fix hygiene; category prompts load from repo seed. */
|
||||
export async function syncAdminCompanyA1(
|
||||
companyId: string,
|
||||
opts?: {
|
||||
backfillCategories?: boolean;
|
||||
reprocessSampleLimit?: number;
|
||||
skipDumpBackfill?: boolean;
|
||||
wpProductCategoriesFile?: File | null;
|
||||
}
|
||||
): Promise<SyncA1Response> {
|
||||
const file = opts?.wpProductCategoriesFile ?? null;
|
||||
if (file) {
|
||||
const body = new FormData();
|
||||
body.append("confirm", "true");
|
||||
if (opts?.backfillCategories === false) {
|
||||
body.append("backfill_categories", "false");
|
||||
}
|
||||
if (typeof opts?.reprocessSampleLimit === "number") {
|
||||
body.append("reprocess_sample_limit", String(opts.reprocessSampleLimit));
|
||||
}
|
||||
if (opts?.skipDumpBackfill) {
|
||||
body.append("skip_dump_backfill", "true");
|
||||
}
|
||||
body.append("wp_product_categories", file, file.name || "wp_product_categories.sql");
|
||||
return api<SyncA1Response>(ADMIN_SYNC_A1_PATH(companyId), {
|
||||
method: "POST",
|
||||
body
|
||||
});
|
||||
}
|
||||
|
||||
const body: {
|
||||
confirm: true;
|
||||
backfill_categories?: boolean;
|
||||
|
||||
@@ -829,14 +829,11 @@ export const de: MessageDict = {
|
||||
"admin.users.syncA1": "A1 synchronisieren",
|
||||
"admin.users.syncA1Aria": "Sync A1 categories from dump and repair catalog hygiene for {name}",
|
||||
"admin.users.syncA1Title": "A1-Katalog synchronisieren",
|
||||
"admin.users.syncA1Desc": "Uploads wp_product_categories.sql to force-apply Title/Description/Meta/Attributes category prompts, optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Desc": "Applies Title/Description/Meta/Attributes category prompts from the repo seed (scripts/seed/wp_product_categories.sql), optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Company": "Company: {name}",
|
||||
"admin.users.syncA1Warning": "Upload wp_product_categories.sql below (primary). Auto-detect on the API host is a fallback when no file is chosen. Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Warning": "Category prompts load automatically from scripts/seed/wp_product_categories.sql on the API host (SEED_A1_WP_CATEGORIES overrides). Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Cancel": "Abbrechen",
|
||||
"admin.users.syncA1Confirm": "A1 synchronisieren",
|
||||
"admin.users.syncA1WpUpload": "wp_product_categories.sql",
|
||||
"admin.users.syncA1WpUploadHint": "Choose the WordPress category prompts dump. Max 16 MiB. When uploaded, Sync A1 force-applies sectioned prompts for title and description enhance.",
|
||||
"admin.users.syncA1WpUploadClear": "Datei entfernen",
|
||||
"admin.users.noUsers": "Keine Benutzer entsprechen diesem Filter.",
|
||||
"admin.users.noCompanies": "Keine Unternehmen entsprechen diesem Filter.",
|
||||
"admin.users.assignRoleTitle": "Mitarbeiterrolle zuweisen",
|
||||
|
||||
@@ -856,14 +856,11 @@ export const en: MessageDict = {
|
||||
"admin.users.syncA1": "Sync A1",
|
||||
"admin.users.syncA1Aria": "Sync A1 categories from dump and repair catalog hygiene for {name}",
|
||||
"admin.users.syncA1Title": "Sync A1 catalog",
|
||||
"admin.users.syncA1Desc": "Uploads wp_product_categories.sql to force-apply Title/Description/Meta/Attributes category prompts, optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Desc": "Applies Title/Description/Meta/Attributes category prompts from the repo seed (scripts/seed/wp_product_categories.sql), optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Company": "Company: {name}",
|
||||
"admin.users.syncA1Warning": "Upload wp_product_categories.sql below (primary). Auto-detect on the API host is a fallback when no file is chosen. Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Warning": "Category prompts load automatically from scripts/seed/wp_product_categories.sql on the API host (SEED_A1_WP_CATEGORIES overrides). Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Cancel": "Cancel",
|
||||
"admin.users.syncA1Confirm": "Sync A1",
|
||||
"admin.users.syncA1WpUpload": "wp_product_categories.sql",
|
||||
"admin.users.syncA1WpUploadHint": "Choose the WordPress category prompts dump. Max 16 MiB. When uploaded, Sync A1 force-applies sectioned prompts for title and description enhance.",
|
||||
"admin.users.syncA1WpUploadClear": "Clear file",
|
||||
"admin.users.noUsers": "No users match this filter.",
|
||||
"admin.users.noCompanies": "No companies match this filter.",
|
||||
"admin.users.assignRoleTitle": "Assign staff role",
|
||||
@@ -2109,8 +2106,8 @@ export const en: MessageDict = {
|
||||
"settings.emailAlertsHelp": "Email alert preferences are coming soon. Failure alerts will default on (like in-app); completion emails stay off unless you opt in.",
|
||||
"settings.emailAlertsBody": "For now, configure transactional mail under Company → Email integration. In-app alerts above still apply.",
|
||||
"settings.apiKeysLegacyNotice": "Legacy API keys were not migrated. Create a new key to restore API access — the secret is shown only once.",
|
||||
"settings.apiKeysAdminOnly": "Only company admins can create or revoke API keys. You can view existing key prefixes.",
|
||||
"settings.apiKeysCopyUnavailableNotice": "Copy unavailable for existing keys — only the prefix is stored. Create a new key to copy the full secret once, then revoke the old key if needed.",
|
||||
"settings.apiKeysAdminOnly": "Only company admins can create, rename, or revoke API keys. You can view existing key prefixes.",
|
||||
"settings.apiKeysCopyUnavailableNotice": "After you create a key, copy the full secret immediately (or from the row menu while this page stays open). Existing keys only store a prefix — create a new key if you lost the secret.",
|
||||
"settings.apiKeysForbidden": "You don't have permission to view API keys. Ask a company admin for help.",
|
||||
"settings.noApiKeys": "No API keys yet",
|
||||
"settings.noApiKeysHelpAdmin": "Legacy API keys were not migrated. Create a new key to authenticate Descrybe API requests (X-API-Key). The full secret is shown only once.",
|
||||
@@ -2118,13 +2115,20 @@ export const en: MessageDict = {
|
||||
"settings.unnamedKey": "Unnamed Key",
|
||||
"settings.neverUsed": "Never used",
|
||||
"settings.apiKeyActions": "API key actions",
|
||||
"settings.renameApiKey": "Rename",
|
||||
"settings.renameApiKeyTitle": "Rename API key",
|
||||
"settings.renameApiKeyHelp": "Update the display name for this key. The secret itself does not change.",
|
||||
"settings.saveRename": "Save name",
|
||||
"settings.copyApiKey": "Copy secret",
|
||||
"settings.copyUnavailable": "Copy unavailable",
|
||||
"settings.copyUnavailableTitle": "Full secret is shown only once when the key is created",
|
||||
"settings.copyUnavailableTitle": "Full secret is shown only once when the key is created (kept copyable on this page until you refresh)",
|
||||
"settings.revoke": "Revoke",
|
||||
"settings.apiKeyNameRequired": "Enter a name for this API key.",
|
||||
"settings.apiKeyCreatedOnce": "API key created. Copy it now - it won't be shown again.",
|
||||
"settings.apiKeyCreated": "API key created.",
|
||||
"settings.apiKeyCreateFailed": "Could not create API key",
|
||||
"settings.apiKeyRenamed": "API key renamed.",
|
||||
"settings.apiKeyRenameFailed": "Could not rename API key",
|
||||
"settings.apiKeyRevokeConfirm": "Revoke this API key? Requests using it will stop working.",
|
||||
"settings.apiKeyRevoked": "API key revoked.",
|
||||
"settings.apiKeyRevokeFailed": "Could not revoke API key",
|
||||
@@ -2282,6 +2286,7 @@ export const en: MessageDict = {
|
||||
"flash.settings.apiKeyCreatedFailed": "Could not create API key",
|
||||
"flash.settings.apiKeyRevoked": "API key revoked.",
|
||||
"flash.settings.apiKeyRevokeFailed": "Could not revoke API key",
|
||||
"flash.settings.apiKeyRenameFailed": "Could not rename API key",
|
||||
"flash.settings.copyFailed": "Could not copy. Select the text and copy manually.",
|
||||
"flash.products.accepted": "Accepted {count} product(s) — moved to Processed.",
|
||||
"flash.products.updated": "Product updated.",
|
||||
|
||||
@@ -829,14 +829,11 @@ export const es: MessageDict = {
|
||||
"admin.users.syncA1": "Sincronizar A1",
|
||||
"admin.users.syncA1Aria": "Sync A1 categories from dump and repair catalog hygiene for {name}",
|
||||
"admin.users.syncA1Title": "Sincronizar catálogo A1",
|
||||
"admin.users.syncA1Desc": "Uploads wp_product_categories.sql to force-apply Title/Description/Meta/Attributes category prompts, optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Desc": "Applies Title/Description/Meta/Attributes category prompts from the repo seed (scripts/seed/wp_product_categories.sql), optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Company": "Company: {name}",
|
||||
"admin.users.syncA1Warning": "Upload wp_product_categories.sql below (primary). Auto-detect on the API host is a fallback when no file is chosen. Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Warning": "Category prompts load automatically from scripts/seed/wp_product_categories.sql on the API host (SEED_A1_WP_CATEGORIES overrides). Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Cancel": "Cancelar",
|
||||
"admin.users.syncA1Confirm": "Sincronizar A1",
|
||||
"admin.users.syncA1WpUpload": "wp_product_categories.sql",
|
||||
"admin.users.syncA1WpUploadHint": "Choose the WordPress category prompts dump. Max 16 MiB. When uploaded, Sync A1 force-applies sectioned prompts for title and description enhance.",
|
||||
"admin.users.syncA1WpUploadClear": "Quitar archivo",
|
||||
"admin.users.noUsers": "Ningún usuario coincide con este filtro.",
|
||||
"admin.users.noCompanies": "Ninguna empresa coincide con este filtro.",
|
||||
"admin.users.assignRoleTitle": "Asignar rol de personal",
|
||||
|
||||
@@ -829,14 +829,11 @@ export const fr: MessageDict = {
|
||||
"admin.users.syncA1": "Synchroniser A1",
|
||||
"admin.users.syncA1Aria": "Sync A1 categories from dump and repair catalog hygiene for {name}",
|
||||
"admin.users.syncA1Title": "Synchroniser le catalogue A1",
|
||||
"admin.users.syncA1Desc": "Uploads wp_product_categories.sql to force-apply Title/Description/Meta/Attributes category prompts, optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Desc": "Applies Title/Description/Meta/Attributes category prompts from the repo seed (scripts/seed/wp_product_categories.sql), optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Company": "Company: {name}",
|
||||
"admin.users.syncA1Warning": "Upload wp_product_categories.sql below (primary). Auto-detect on the API host is a fallback when no file is chosen. Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Warning": "Category prompts load automatically from scripts/seed/wp_product_categories.sql on the API host (SEED_A1_WP_CATEGORIES overrides). Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Cancel": "Annuler",
|
||||
"admin.users.syncA1Confirm": "Synchroniser A1",
|
||||
"admin.users.syncA1WpUpload": "wp_product_categories.sql",
|
||||
"admin.users.syncA1WpUploadHint": "Choose the WordPress category prompts dump. Max 16 MiB. When uploaded, Sync A1 force-applies sectioned prompts for title and description enhance.",
|
||||
"admin.users.syncA1WpUploadClear": "Effacer le fichier",
|
||||
"admin.users.noUsers": "Aucun utilisateur ne correspond àce filtre.",
|
||||
"admin.users.noCompanies": "Aucune entreprise ne correspond àce filtre.",
|
||||
"admin.users.assignRoleTitle": "Assigner un rôle du personnel",
|
||||
|
||||
@@ -829,14 +829,11 @@ export const it: MessageDict = {
|
||||
"admin.users.syncA1": "Sincronizza A1",
|
||||
"admin.users.syncA1Aria": "Sync A1 categories from dump and repair catalog hygiene for {name}",
|
||||
"admin.users.syncA1Title": "Sincronizza catalogo A1",
|
||||
"admin.users.syncA1Desc": "Uploads wp_product_categories.sql to force-apply Title/Description/Meta/Attributes category prompts, optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Desc": "Applies Title/Description/Meta/Attributes category prompts from the repo seed (scripts/seed/wp_product_categories.sql), optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Company": "Company: {name}",
|
||||
"admin.users.syncA1Warning": "Upload wp_product_categories.sql below (primary). Auto-detect on the API host is a fallback when no file is chosen. Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Warning": "Category prompts load automatically from scripts/seed/wp_product_categories.sql on the API host (SEED_A1_WP_CATEGORIES overrides). Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Cancel": "Annulla",
|
||||
"admin.users.syncA1Confirm": "Sincronizza A1",
|
||||
"admin.users.syncA1WpUpload": "wp_product_categories.sql",
|
||||
"admin.users.syncA1WpUploadHint": "Choose the WordPress category prompts dump. Max 16 MiB. When uploaded, Sync A1 force-applies sectioned prompts for title and description enhance.",
|
||||
"admin.users.syncA1WpUploadClear": "Rimuovi file",
|
||||
"admin.users.noUsers": "Nessun utente corrisponde a questo filtro.",
|
||||
"admin.users.noCompanies": "Nessuna azienda corrisponde a questo filtro.",
|
||||
"admin.users.assignRoleTitle": "Assegna ruolo staff",
|
||||
|
||||
@@ -829,14 +829,11 @@ export const ja: MessageDict = {
|
||||
"admin.users.syncA1": "A1ã‚’åŒæœŸ",
|
||||
"admin.users.syncA1Aria": "Sync A1 categories from dump and repair catalog hygiene for {name}",
|
||||
"admin.users.syncA1Title": "A1ã‚«ã‚¿ãƒã‚°ã‚’åŒæœŸ",
|
||||
"admin.users.syncA1Desc": "Uploads wp_product_categories.sql to force-apply Title/Description/Meta/Attributes category prompts, optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Desc": "Applies Title/Description/Meta/Attributes category prompts from the repo seed (scripts/seed/wp_product_categories.sql), optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Company": "Company: {name}",
|
||||
"admin.users.syncA1Warning": "Upload wp_product_categories.sql below (primary). Auto-detect on the API host is a fallback when no file is chosen. Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Warning": "Category prompts load automatically from scripts/seed/wp_product_categories.sql on the API host (SEED_A1_WP_CATEGORIES overrides). Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Cancel": "ã‚ャンセル",
|
||||
"admin.users.syncA1Confirm": "A1ã‚’åŒæœŸ",
|
||||
"admin.users.syncA1WpUpload": "wp_product_categories.sql",
|
||||
"admin.users.syncA1WpUploadHint": "Choose the WordPress category prompts dump. Max 16 MiB. When uploaded, Sync A1 force-applies sectioned prompts for title and description enhance.",
|
||||
"admin.users.syncA1WpUploadClear": "ファイルをクリア",
|
||||
"admin.users.noUsers": "ã“ã®フィルタã«一致ã™るユーザーã¯ã„ã¾ã›ん。",
|
||||
"admin.users.noCompanies": "ã“ã®フィルタã«一致ã™る会社ã¯ã‚りã¾ã›ん。",
|
||||
"admin.users.assignRoleTitle": "スタッフãƒÂールを割り当ã¦",
|
||||
|
||||
@@ -829,14 +829,11 @@ export const nl: MessageDict = {
|
||||
"admin.users.syncA1": "A1 synchroniseren",
|
||||
"admin.users.syncA1Aria": "Sync A1 categories from dump and repair catalog hygiene for {name}",
|
||||
"admin.users.syncA1Title": "A1-catalogus synchroniseren",
|
||||
"admin.users.syncA1Desc": "Uploads wp_product_categories.sql to force-apply Title/Description/Meta/Attributes category prompts, optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Desc": "Applies Title/Description/Meta/Attributes category prompts from the repo seed (scripts/seed/wp_product_categories.sql), optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Company": "Company: {name}",
|
||||
"admin.users.syncA1Warning": "Upload wp_product_categories.sql below (primary). Auto-detect on the API host is a fallback when no file is chosen. Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Warning": "Category prompts load automatically from scripts/seed/wp_product_categories.sql on the API host (SEED_A1_WP_CATEGORIES overrides). Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Cancel": "Annuleren",
|
||||
"admin.users.syncA1Confirm": "A1 synchroniseren",
|
||||
"admin.users.syncA1WpUpload": "wp_product_categories.sql",
|
||||
"admin.users.syncA1WpUploadHint": "Choose the WordPress category prompts dump. Max 16 MiB. When uploaded, Sync A1 force-applies sectioned prompts for title and description enhance.",
|
||||
"admin.users.syncA1WpUploadClear": "Bestand wissen",
|
||||
"admin.users.noUsers": "Geen gebruikers komen overeen met dit filter.",
|
||||
"admin.users.noCompanies": "Geen bedrijven komen overeen met dit filter.",
|
||||
"admin.users.assignRoleTitle": "Medewerkerrol toewijzen",
|
||||
|
||||
@@ -829,14 +829,11 @@ export const pl: MessageDict = {
|
||||
"admin.users.syncA1": "Synchronizuj A1",
|
||||
"admin.users.syncA1Aria": "Sync A1 categories from dump and repair catalog hygiene for {name}",
|
||||
"admin.users.syncA1Title": "Synchronizuj katalog A1",
|
||||
"admin.users.syncA1Desc": "Uploads wp_product_categories.sql to force-apply Title/Description/Meta/Attributes category prompts, optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Desc": "Applies Title/Description/Meta/Attributes category prompts from the repo seed (scripts/seed/wp_product_categories.sql), optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Company": "Company: {name}",
|
||||
"admin.users.syncA1Warning": "Upload wp_product_categories.sql below (primary). Auto-detect on the API host is a fallback when no file is chosen. Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Warning": "Category prompts load automatically from scripts/seed/wp_product_categories.sql on the API host (SEED_A1_WP_CATEGORIES overrides). Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Cancel": "Anuluj",
|
||||
"admin.users.syncA1Confirm": "Synchronizuj A1",
|
||||
"admin.users.syncA1WpUpload": "wp_product_categories.sql",
|
||||
"admin.users.syncA1WpUploadHint": "Choose the WordPress category prompts dump. Max 16 MiB. When uploaded, Sync A1 force-applies sectioned prompts for title and description enhance.",
|
||||
"admin.users.syncA1WpUploadClear": "Wyczyść plik",
|
||||
"admin.users.noUsers": "Żaden użytkownik nie pasuje do tego filtra.",
|
||||
"admin.users.noCompanies": "Żadna firma nie pasuje do tego filtra.",
|
||||
"admin.users.assignRoleTitle": "Przypisz rolÄ™ personelu",
|
||||
|
||||
@@ -829,14 +829,11 @@ export const pt: MessageDict = {
|
||||
"admin.users.syncA1": "Sincronizar A1",
|
||||
"admin.users.syncA1Aria": "Sync A1 categories from dump and repair catalog hygiene for {name}",
|
||||
"admin.users.syncA1Title": "Sincronizar catálogo A1",
|
||||
"admin.users.syncA1Desc": "Uploads wp_product_categories.sql to force-apply Title/Description/Meta/Attributes category prompts, optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Desc": "Applies Title/Description/Meta/Attributes category prompts from the repo seed (scripts/seed/wp_product_categories.sql), optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Company": "Company: {name}",
|
||||
"admin.users.syncA1Warning": "Upload wp_product_categories.sql below (primary). Auto-detect on the API host is a fallback when no file is chosen. Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Warning": "Category prompts load automatically from scripts/seed/wp_product_categories.sql on the API host (SEED_A1_WP_CATEGORIES overrides). Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Cancel": "Cancelar",
|
||||
"admin.users.syncA1Confirm": "Sincronizar A1",
|
||||
"admin.users.syncA1WpUpload": "wp_product_categories.sql",
|
||||
"admin.users.syncA1WpUploadHint": "Choose the WordPress category prompts dump. Max 16 MiB. When uploaded, Sync A1 force-applies sectioned prompts for title and description enhance.",
|
||||
"admin.users.syncA1WpUploadClear": "Limpar ficheiro",
|
||||
"admin.users.noUsers": "Nenhum utilizador corresponde a este filtro.",
|
||||
"admin.users.noCompanies": "Nenhuma empresa corresponde a este filtro.",
|
||||
"admin.users.assignRoleTitle": "Atribuir função de equipa",
|
||||
|
||||
@@ -18,14 +18,11 @@ export const sl: MessageDict = {
|
||||
"admin.users.syncA1": "Sinhroniziraj A1",
|
||||
"admin.users.syncA1Aria": "Sync A1 categories from dump and repair catalog hygiene for {name}",
|
||||
"admin.users.syncA1Title": "Sinhroniziraj katalog A1",
|
||||
"admin.users.syncA1Desc": "Uploads wp_product_categories.sql to force-apply Title/Description/Meta/Attributes category prompts, optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Desc": "Applies Title/Description/Meta/Attributes category prompts from the repo seed (scripts/seed/wp_product_categories.sql), optionally backfills mapped categories from a MySQL product dump on the API host, then runs catalog hygiene. Does not wipe or reimport the full catalog.",
|
||||
"admin.users.syncA1Company": "Company: {name}",
|
||||
"admin.users.syncA1Warning": "Upload wp_product_categories.sql below (primary). Auto-detect on the API host is a fallback when no file is chosen. Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Warning": "Category prompts load automatically from scripts/seed/wp_product_categories.sql on the API host (SEED_A1_WP_CATEGORIES overrides). Optional: place descrybe_new.sql on the API server for product-dump category coverage. No mass reprocess.",
|
||||
"admin.users.syncA1Cancel": "PrekliÄi",
|
||||
"admin.users.syncA1Confirm": "Sinhroniziraj A1",
|
||||
"admin.users.syncA1WpUpload": "wp_product_categories.sql",
|
||||
"admin.users.syncA1WpUploadHint": "Choose the WordPress category prompts dump. Max 16 MiB. When uploaded, Sync A1 force-applies sectioned prompts for title and description enhance.",
|
||||
"admin.users.syncA1WpUploadClear": "Počisti datoteko",
|
||||
"flash.admin.catalogCloned": "Copied {source} into {dest}: {products} products, {categories} taxonomy categories, {mapped_with} with mapped category.",
|
||||
"flash.admin.syncA1Success": "Synced A1 for {name}: dump_mapped {dump_mapped} ({dump_status}), prompts {prompts}, hashes {hashes}, processedâ†mapped {categories}, mappedâ†processed {mapped_backfilled}. Coverage: {mapped_with}/{mapped_total} ({taxonomy} taxonomy).",
|
||||
"flash.admin.syncA1Error": "Sinhronizacija A1 za {name} ni uspela.",
|
||||
|
||||
Reference in New Issue
Block a user