refactor: complete JS i18n migration for confirm dialogs and toast messages
Migrate 34 hardcoded user-facing strings to use I18n.t() for translation: - CMS: media file operations (5 strings) - Marketplace: Letzshop integration (16 strings) - Messaging: notifications, messages, email templates (5 strings) - Tenancy: platform modules, menu config, theme (5 strings) - Core: menu config, settings, storefront cart (5 strings) - Catalog: product creation (3 strings) - Utils: clipboard operations (2 strings) Added confirmations and messages keys to module locale files. Added I18n.loadModule() calls to JS files that were missing them. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -140,10 +140,13 @@ const Utils = {
|
||||
async copyToClipboard(text) {
|
||||
try {
|
||||
await navigator.clipboard.writeText(text);
|
||||
this.showToast('Copied to clipboard', 'success');
|
||||
// Use I18n if available, fallback to hardcoded string
|
||||
const message = typeof I18n !== 'undefined' ? I18n.t('clipboard.copied') : 'Copied to clipboard';
|
||||
this.showToast(message, 'success');
|
||||
} catch (error) {
|
||||
console.error('Failed to copy:', error);
|
||||
this.showToast('Failed to copy', 'error');
|
||||
const message = typeof I18n !== 'undefined' ? I18n.t('clipboard.failed') : 'Failed to copy';
|
||||
this.showToast(message, 'error');
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user