Vai al contenuto
Badge

Titolo

Sottotitolo

i18n · once

Titolo

  • Identificatori di impostazioni locali (BCP 47)
  • Unicode e UTF-8
  • Chiavi di traduzione
  • Pluralizzazione (ICU)
t("cart.items", { count })

L10n · per locale

Titolo

  • tr-TRreviewed
  • de-DEreviewed
  • ja-JPin review
  • ar-EGrtl · queued

Foundations

Titolo

Sottotitolo

Titolo

Paragrafo1

Paragrafo2

Paragrafo3

Titolo

Paragrafo1

Paragrafo2

Paragrafo3

  • Identificatori di impostazioni locali (BCP 47)

    I tag BCP 47, come en-US o zh-Hans-CN, specificano la lingua, l'alfabeto e la regione. Costituiscono la base di ogni sistema di internazionalizzazione (i18n) e determinano quali traduzioni, formati e regole applicare.

  • Unicode e UTF-8

    Unicode assegna un codice univoco a ogni carattere di ogni alfabeto. L'UTF-8 è la codifica prevalente sul web e garantisce la corretta visualizzazione del testo indipendentemente dalla lingua.

  • Chiavi di traduzione

    Le chiavi di traduzione sono identificatori fissi associati a stringhe specifiche per ogni impostazione locale. Esse separano il codice sorgente dai contenuti traducibili, consentendo lo sviluppo e la traduzione in parallelo.

  • Pluralizzazione (ICU)

    Le lingue hanno regole diverse per il plurale: l'inglese ne ha due, l'arabo ne ha sei. ICU MessageFormat gestisce il plurale, il genere e alcune espressioni con un'unica sintassi.

  • Assistenza RTL

    L'arabo, l'ebraico e altri alfabeti si leggono da destra a sinistra. Il supporto RTL richiede il ribaltamento dei layout, il capovolgimento delle icone e l'utilizzo di proprietà logiche CSS al posto di left/right.

  • Data / Numero / Valuta

    Le date, i numeri e le valute variano a seconda delle impostazioni locali. L'API Intl e librerie come date-fns offrono una formattazione che tiene conto delle impostazioni locali, per cui 1.000,50 viene visualizzato come 1.000,50 in tedesco.

Badge

Titolo

Sottotitolo

JSON

.json

React · Vue · Angular

Particolarmente diffuso nelle applicazioni web (React, Vue, Angular). Facilmente leggibile, supporta l'annidamento per strutture di chiavi ben organizzate. Non dispone di uno standard integrato per la pluralizzazione, pertanto librerie come ICU MessageFormat colmano questa lacuna.

XLIFF

.xlf

TMS interchange

Standard di settore basato su XML per lo scambio di traduzioni tra strumenti. Supportato da tutte le piattaforme TMS professionali. Esteso ma ricco di funzionalità, con supporto integrato per note, monitoraggio dello stato e metadati.

PO/POT (Gettext)

.po / .pot

Python · PHP · Ruby

Formato open source classico utilizzato negli ecosistemi Python, PHP e Ruby. Supporto integrato per il plurale con una sintassi dedicata alle forme plurali. Ampiamente supportato dai traduttori e dagli strumenti di traduzione.

ARB

.arb

Flutter · Dart

Application Resource Bundle è il formato standard di Flutter e Dart. Basato su JSON con supporto alla sintassi dei messaggi ICU, consente l'uso nativo dei plurali e delle opzioni di selezione. Utilizzato dagli strumenti gen-l10n di Flutter.

.strings / .stringsdict

.strings

iOS · macOS

Formati nativi della piattaforma Apple per lo sviluppo su iOS e macOS. Il file .strings gestisce semplici coppie chiave-valore, mentre il file .stringsdict utilizza la struttura XML delle liste di preferenze (plist) per le regole di pluralizzazione.

.resx

.resx

.NET · C#

Formato di file di risorse .NET utilizzato per le applicazioni C# e VB.NET. Basato su XML, con una forte integrazione con gli strumenti di Visual Studio. Supporta risorse tipizzate per stringhe, immagini e altre risorse.

Badge

Titolo

Sottotitolo

  1. Verifichi il proprio codiceIdentificate ogni stringa hardcoded, ogni formato di data e ogni modello dipendente dalle impostazioni locali. Individuate quali componenti e pagine contengono testo visibile all’utente che deve essere estratto.
  2. Esternalizzare le stringheSpostare tutto il testo destinato agli utenti in file di risorse strutturati (JSON, XLIFF o PO). Sostituire le stringhe inline con chiamate alle funzioni di traduzione che fanno riferimento alle chiavi.
  3. Scegliete i vostri strumentiScegliete una libreria di internazionalizzazione (i18n) per il vostro framework, un sistema di gestione delle traduzioni (TMS) per la collaborazione e decidete se optare per flussi di lavoro di traduzione a cura di traduttori umani, basati sull'intelligenza artificiale o ibridi.
  4. Integrazione e spedizioneIntegri la vostra libreria i18n nel routing e nel rendering, colleghi il vostro TMS al CI/CD per la sincronizzazione automatica e distribuisca i pacchetti di localizzazione tramite CDN per una consegna rapida.

Titolo

Sottotitolo

  • Tutte le stringhe destinate agli utenti sono state trasferite in file di risorse
  • Rilevamento delle impostazioni locali implementato (browser, URL, preferenze dell'utente)
  • La pluralizzazione è gestita tramite ICU MessageFormat per tutte le lingue di destinazione
  • La formattazione di data, ora, numeri e valuta utilizza l'API Intl o un'API equivalente
  • Supporto del layout RTL testato con le proprietà logiche CSS
  • Impostazione della lingua di riserva in caso di traduzioni mancanti
  • Le chiavi di traduzione seguono una convenzione di denominazione coerente
  • La pipeline CI verifica che non vi siano chiavi di traduzione mancanti o inutilizzate

Badge

Titolo

Sottotitolo

  • Integrazione per Sviluppatori

    Valutate gli strumenti CLI, il supporto SDK, i flussi di lavoro basati su Git e gli hook CI/CD. Le migliori piattaforme TMS si integrano direttamente nella pipeline di sviluppo, mantenendo le traduzioni sincronizzate con le modifiche al codice in modo automatico.

  • Memoria di Traduzione

    La memoria di traduzione memorizza le traduzioni approvate in precedenza e le suggerisce per stringhe simili o identiche. Questo riduce i costi di traduzione, accelera i tempi di consegna e mantiene la coerenza in tutto il prodotto.

  • Funzionalità di Collaborazione

    Cercate flussi di revisione, commenti in linea, glossari condivisi e catene di approvazione. Queste funzionalità consentono a traduttori, revisori e sviluppatori di collaborare senza colli di bottiglia o incomprensioni.

  • Intelligenza Artificiale e Automazione

    Le moderne piattaforme TMS offrono suggerimenti di traduzione automatica, controlli qualità automatizzati, operazioni batch e instradamento intelligente. I flussi di lavoro assistiti dall'intelligenza artificiale riducono il lavoro manuale mantenendo la qualità delle traduzioni.

Quality

Titolo

Sottotitolo

  • Concatenazione di stringhe

    La costruzione di frasi mediante la concatenazione di frammenti non funziona nelle lingue con un ordine delle parole diverso. Si consiglia invece di utilizzare ICU MessageFormat con i segnaposto.

  • Stringhe hardcoded

    Inserire il testo destinato agli utenti direttamente nel codice sorgente rende impossibile la traduzione senza modifiche al codice. Esternalizzate ogni stringa sin dal primo giorno.

  • Ignorare i plurali

    Il semplice if/else per il singolare e il plurale funziona solo in inglese. Molte lingue presentano diverse forme plurali che richiedono l'applicazione delle regole del plurale dell'ICU.

  • Traduzione a posteriori

    Aggiungere l'i18n dopo il lancio comporta una costosa rifattorizzazione. Progettare fin dall'inizio in ottica di internazionalizzazione consente di risparmiare tempo ed evita l'accumulo di debito architettonico.

Titolo

Sottotitolo

  • Pseudo
  • Visivo
  • Automatizzato
  • Linguistico
  • Espansione

By framework

Titolo

Sottotitolo

Badge

Titolo

Sottotitolo

Titolo

Sottotitolo