From 156c6d1990384230b6dee174ad220ee03f18e1d9 Mon Sep 17 00:00:00 2001 From: Nicolas Varrot Date: Sun, 15 Feb 2026 00:01:35 +0000 Subject: [PATCH] feat: add Italian (it) locale support --- src/lib/i18n.ts | 153 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 152 insertions(+), 1 deletion(-) diff --git a/src/lib/i18n.ts b/src/lib/i18n.ts index 139e557..24a648e 100644 --- a/src/lib/i18n.ts +++ b/src/lib/i18n.ts @@ -1075,7 +1075,157 @@ const zh: Record = { 'slash.help': '显示可用命令', }; -const messages: Record> = { en, fr, es, de, ja, pt, zh }; +const it: Record = { + 'login.title': 'PinchChat', + 'login.subtitle': 'Connettiti al tuo gateway OpenClaw', + 'login.gatewayUrl': 'URL del Gateway', + 'login.token': 'Token', + 'login.tokenPlaceholder': 'Inserisci il token del gateway', + 'login.connect': 'Connetti', + 'login.connecting': 'Connessione…', + 'login.showToken': 'Mostra token', + 'login.hideToken': 'Nascondi token', + 'login.storedLocally': 'Le credenziali vengono salvate localmente nel browser', + 'login.wsHint': 'L\'URL deve iniziare con ws:// o wss://', + + 'header.title': 'PinchChat', + 'header.connected': 'Connesso', + 'header.disconnected': 'Disconnesso', + 'header.logout': 'Esci', + 'header.toggleSidebar': 'Mostra/nascondi barra laterale', + 'header.changeLanguage': 'Cambia lingua', + 'header.soundOn': 'Attiva suono notifiche', + 'header.soundOff': 'Disattiva suono notifiche', + + 'chat.welcome': 'PinchChat', + 'chat.welcomeSub': 'Invia un messaggio per iniziare', + 'chat.suggestions': 'Prova a chiedere…', + 'chat.suggestion1': 'Riassumi le mie ultime email', + 'chat.suggestion2': 'Cosa c\'è nel mio calendario oggi?', + 'chat.suggestion3': 'Cerca sul web le ultime notizie', + 'chat.suggestion4': 'Aiutami a scrivere uno script', + 'chat.loadingHistory': 'Caricamento messaggi…', + 'chat.inputPlaceholder': 'Scrivi un messaggio…', + 'chat.inputLabel': 'Messaggio', + 'chat.attachFile': 'Allega file', + 'chat.send': 'Invia', + 'chat.stop': 'Ferma', + 'chat.showPreview': 'Anteprima markdown', + 'chat.hidePreview': 'Nascondi anteprima', + 'chat.scrollToBottom': 'Nuovi messaggi', + 'chat.scrollDown': 'Scorri in fondo', + 'chat.collapseTools': 'Comprimi tutti gli strumenti', + 'chat.expandTools': 'Espandi tutti gli strumenti', + 'chat.messages': 'Messaggi della chat', + 'chat.thinking': 'Sto pensando…', + + 'sidebar.title': 'Sessioni', + 'sidebar.empty': 'Nessuna sessione', + 'sidebar.search': 'Cerca sessioni…', + 'sidebar.noResults': 'Nessun risultato', + 'sidebar.pin': 'Fissa sessione', + 'sidebar.unpin': 'Sgancia sessione', + 'sidebar.pinned': 'Fissate', + 'sidebar.delete': 'Elimina sessione', + 'sidebar.deleteConfirm': 'Eliminare questa sessione? L\'azione è irreversibile.', + 'sidebar.deleteCancel': 'Annulla', + 'sidebar.openSplit': 'Apri in vista divisa', + 'sidebar.close': 'Chiudi barra laterale', + 'sidebar.clearSearch': 'Cancella ricerca', + 'sidebar.filterAll': 'Tutte', + 'sidebar.filterActive': 'Attive', + 'split.close': 'Chiudi vista divisa', + 'app.mainChat': 'Chat principale', + 'app.splitPane': 'Pannello diviso', + 'app.skipToChat': 'Vai al campo di input', + + 'thinking.label': 'Pensiero', + 'thinking.reasoning': 'Ragionamento…', + + 'tool.parameters': 'Parametri', + 'tool.result': 'Risultato', + + 'connection.reconnecting': 'Connessione persa — riconnessione…', + 'connection.reconnected': 'Riconnesso!', + + 'message.copy': 'Copia messaggio', + 'message.copied': 'Copiato!', + 'message.retry': 'Reinvia messaggio', + 'message.metadata': 'Dettagli messaggio', + 'message.rawJson': 'JSON grezzo', + 'message.hideRawJson': 'Nascondi JSON grezzo', + + 'time.yesterday': 'Ieri', + 'time.today': 'Oggi', + + 'shortcuts.title': 'Scorciatoie da tastiera', + 'shortcuts.send': 'Invia messaggio', + 'shortcuts.newline': 'Nuova riga', + 'shortcuts.search': 'Cerca sessioni', + 'shortcuts.switchSession': 'Sessione precedente / successiva', + 'shortcuts.closeSidebar': 'Chiudi barra laterale / ricerca', + 'shortcuts.stop': 'Ferma generazione', + 'shortcuts.help': 'Mostra scorciatoie', + 'shortcuts.close': 'Chiudi', + 'shortcuts.chatSection': 'Chat', + + 'error.title': 'Qualcosa è andato storto', + 'error.description': 'Si è verificato un errore imprevisto durante il rendering dell\'interfaccia. Puoi riprovare o ricaricare la pagina.', + 'error.retry': 'Riprova', + 'error.reload': 'Ricarica pagina', + 'shortcuts.navigationSection': 'Navigazione', + 'shortcuts.generalSection': 'Generale', + + 'header.export': 'Esporta conversazione in Markdown', + 'header.compact': 'Compatta', + 'header.compacting': 'Compattamento…', + 'header.sessionInfo': 'Info sessione', + 'sessionInfo.sessionKey': 'Chiave sessione', + 'sessionInfo.channel': 'Canale', + 'sessionInfo.kind': 'Tipo', + 'sessionInfo.model': 'Modello', + 'sessionInfo.agent': 'Agente', + 'sessionInfo.messages': 'Messaggi', + 'sessionInfo.totalTokens': 'Token totali', + 'sessionInfo.inputTokens': 'Input', + 'sessionInfo.outputTokens': 'Output', + 'sessionInfo.contextWindow': 'Contesto', + 'sessionInfo.lastActive': 'Ultima attività', + + 'theme.title': 'Tema', + 'theme.mode': 'Modalità', + 'theme.accent': 'Accento', + 'theme.system': 'Sistema', + 'theme.dark': 'Scuro', + 'theme.light': 'Chiaro', + 'theme.oled': 'OLED', + + 'search.placeholder': 'Cerca nei messaggi…', + 'search.noResults': '0 risultati', + 'search.prev': 'Risultato precedente', + 'search.next': 'Risultato successivo', + 'shortcuts.searchMessages': 'Cerca nei messaggi', + + 'settings.sendShortcut': 'Invia con', + 'settings.sendEnter': 'Invio', + 'settings.sendCtrlEnter': 'Ctrl+Invio', + + 'message.bookmark': 'Aggiungi ai segnalibri', + 'message.removeBookmark': 'Rimuovi segnalibro', + 'chat.bookmarks': 'Segnalibri', + 'chat.export': 'Esporta conversazione', + 'chat.contextCompacted': 'Contesto compattato — messaggi precedenti nella cache locale', + 'slash.commands': 'Comandi', + 'slash.status': 'Mostra stato e utilizzo della sessione', + 'slash.reasoning': 'Attiva/disattiva ragionamento', + 'slash.verbose': 'Attiva/disattiva output dettagliato', + 'slash.model': 'Cambia modello per questa sessione', + 'slash.compact': 'Compatta il contesto della conversazione', + 'slash.reset': 'Reimposta sessione', + 'slash.help': 'Mostra comandi disponibili', +}; + +const messages: Record> = { en, fr, es, de, ja, pt, zh, it }; export const supportedLocales = Object.keys(messages) as string[]; @@ -1088,6 +1238,7 @@ export const localeLabels: Record = { ja: 'JA', pt: 'PT', zh: '中文', + it: 'IT', }; function resolveInitialLocale(): string {