Supporto per il formato dei messaggi nella localizzazione

Linee guida per i traduttori

In Discourse tutte le stringhe Message Format hanno una chiave che termina con “_MF”. L’editor di Crowdin dispone di un’anteprima che consente di sperimentare con vari valori, il che è molto utile per verificare le traduzioni.

Importante: È necessario modificare le forme plurali della traduzione se la lingua utilizza forme diverse da “one” e “other”. È possibile aggiungere o rimuovere forme all’interno di un blocco { FOO, plural, ... } per adattarlo alle proprie esigenze linguistiche. L’anteprima nell’editor di Crowdin mostrerà un “Syntax error” (errore di sintassi) se c’è un problema con la traduzione.

Le forme plurali disponibili sono:

  • zero
  • one
  • two
  • few
  • many
  • other (obbligatoria — forma plurale generale — utilizzata anche per le lingue che non distinguono tra forma singolare e plurale)

A volte potresti vedere un blocco vuoto =0 {} in una stringa sorgente in inglese, il che significa che la variabile non può avere il valore 0.

Linee guida per gli sviluppatori

Le stringhe Message Format sono attualmente disponibili solo per le traduzioni lato client. Sono utili se la stringa contiene più di un numero o molte variabili che porterebbero a un elevato numero di permutazioni.

  • Le chiavi delle stringhe Message Format devono terminare con “_MF”

  • Utilizza il seguente formato per i numeri (# verrà sostituito con il numero):

    { variable_name, plural,
        one: {# testo singolare}
      other: {# testo plurale}
    }
    
  • Utilizza il seguente formato per le scelte:

    { variable_name, select,
      foo: {This is foo}
      bar: {This is bar}
      baz: {This is baz}
    }
    
  • Ecco come usarlo in JavaScript:

    I18n.messageFormat("key_MF", {
      variable1: "foo",
      variable2: 42,
    });
    
  • :loudspeaker: Raccomandazione: Se possibile, utilizza argomenti complessi come struttura più esterna di un messaggio e scrivi frasi complete nei loro sotto-messaggi. Se hai argomenti select e plurali annidati, posiziona gli argomenti select (con i loro insiemi fissi di scelte) all’esterno e annida gli argomenti plurali (sperabilmente al massimo uno) all’interno. Vedi Formatting Messages | ICU Documentation

  • Rendili leggibili – consulta gli esempi esistenti in client.en.yml

    :cross_mark: Sbagliato

    There {currentTopics, plural, one {is <strong>#</strong> topic} other {are <strong>#</strong> topics}}. Visitors need more to read and reply to – we recommend at least { requiredTopics, plural, one {<strong>#</strong> topic} other {<strong>#</strong> topics}}. Only staff can see this message.
    

    :green_heart: Corretto

    There { currentTopics, plural,
        one {is <strong>#</strong> topic}
      other {are <strong>#</strong> topics}
    }. Visitors need more to read and reply to – we recommend at least { requiredTopics, plural,
        one {<strong>#</strong> topic}
      other {<strong>#</strong> topics}
    }. Only staff can see this message.
    

Strumenti e ulteriori informazioni

  • Online ICU Message Editor consente di testare una stringa Message Format nel caso in cui ci sia un problema con l’editor di Crowdin. Si prega di disattivare l’opzione “Parse simple xml/html tags”, altrimenti potresti visualizzare un messaggio di errore.

  • ICU Message Format for Translators


Questo documento è versionato - suggerisci modifiche su github.

10 Mi Piace