ho la seguente frase ho bisogno di localizzare:Clean modello per la localizzazione di frasi in Rails i18n
avete U non letti messaggi/s e N nuovo messaggio/s
Esempio localizzazione
U 0 N 1
"si dispone di 1 nuovo messaggio"
U 1 N 1
"si dispone di 1 messaggio da leggere e 1 nuovo messaggio"
U 1 N 0
"Hai 1 messaggio da leggere"
U 2 N 0
"avete 1 messaggi non letti"
mi può facilmente iniziare con questo pasticcio
unread_only:
one: you have 1 unread message
other: you have {{count}} unread messages
new_only:
one: you have 1 new message
other: you have {{count}} new messages
... a questo punto mi sono bloccato
# how do I pass two counts in?
new_and_unread:
Sono i18n a conoscenza in Rails non è MessageFormat terapia intensiva, tuttavia, c'è un modo sano di localizzare questo con gli strumenti che abbiamo? Puoi passare 2 conteggi in un interruttore di localizzazione?
Non credo che molti quadri che fare con questo, perché esplode; Sospetto che le rotaie non facciano eccezione. Immagina di localizzare ad Arabaic dove avresti bisogno di 36 stringhe localizzate nel tuo esempio, che è quasi impraticabile. Non abbastanza tecnico per una risposta, ma sospetto che la cosa migliore sarebbe ripensare quella stringa anche in inglese. –
La principale soluzione accettata per questo è il formato del messaggio ICU: https://github.com/jedtoolkit/messageformat.js –
L'API i18n di Stack Overflow Careers consente solo un conteggio esattamente per questo motivo. Ogni volta che c'era bisogno di più, abbiamo cambiato l'inglese per richiederne uno solo. – mjibson