5

Sto cercando di valutare quale utilizzare per apprezzare il feedback degli altri che hanno preso questa decisione. Sembra che ci sono due grandi progetti per la traduzione:Localizzazione delle meteore/confronto delle librerie i18n

MessageFormat

http://messageformat.meteor.com/

PROS

  • sulla base di MessageFormat.js sostanziale lib
  • comprende strumento di estrazione
  • gestisce le stringhe sfocati e versioni, se le stringhe vengono aggiornate nell'app
  • javascript e metodi manubrio
  • strumento
  • traduzione precompilati/WebUI per le traduzioni delle stringhe http://messageformat.meteor.com/translate/af
  • scritto da Gadi, meteora guru comunità attiva ragazzo

TAP i18n

https://github.com/TAPevents/

note:

  • basato sul motore i18next
  • usa AJAX per caricare lingue

PROS

CONS? - solo il formato JSON, senza YAML, così noioso per modificare - non WebUI per la gestione di stringhe

Ci sono alcuni altri progetti, come https://github.com/Nemo64/meteor-translator ma i due di cui sopra sembra il più completo. Ho perso qualcun altro?

Quali altri criteri si utilizzano le persone quando si seleziona lo strumento giusto? La tecnologia sottostante di messageFormat vs i18next sembra un fattore.

Domande:

1) Più lingue a pagina

Sto cercando di fare un'applicazione bilingue ma:

Tap: "Solo le traduzioni necessarie per lingua del cliente corrente vengono inviato sul filo "

significa che la lingua può essere solo A o B, ma non una combinazione, commutata automagicamente in base a un sessione?

cioè come fornire aiutanti in una pagina di avere traduzioni multiple

EN: {{tr "string", 'en'}} 
    FR: {{tr "string", 'fr'}} 

2) l'estrazione di dati dinamici

Almeno progetto MessageFormat catturerà/estrarre le stringhe nelle pagine statiche, ma se ho un molti contenuti già presenti in complesse raccolte di mongo, c'è un modo per catturarli?

Grazie per qualsiasi suggerimento dai creatori di pacchetti o altri in questo settore.

+0

Puoi anche utilizzare http://l10ns.org per tradurre la tua applicazione. – einstein

risposta

3

Sembra che tu abbia già deciso. ;)

come fornire aiutanti in una pagina di avere traduzioni multiple

In MessageFormat non è necessario disporre di aiutanti speciali per ogni lingua. Basta definire la chiave e il valore una volta nel modello per la lingua "di base", ad esempio inglese. Successivamente è possibile utilizzare lo strumento di traduzione basato sul web MessageFormat per aggiungere ulteriori stringhe per dire francese, spagnolo, ecc.

Per selezionare la lingua, è semplice impostare le impostazioni locali, in modo da poter aggiungere un menu a discesa nel client in modo tale questo può essere fatto dal tuo utente.

See SetLocale: http://messageformat.meteor.com/docs#methods

se ho un sacco di contenuti già in collezioni Mongo complessi, c'è un modo per catturare questo?

Avrei davvero bisogno di conoscere molti più dettagli sulla tua applicazione per rispondere a come potresti essere in grado di farlo. MessageFormat crea semplicemente un file di funzioni messageformat.js, quindi potresti modificare direttamente quel file, ma verrà sovrascritto la volta successiva che esegui mf_extract. Quindi penso che tu abbia davvero bisogno di ottenere le coppie nome-valore definite nella tua app, ad esempio {{mf 'admin.dashboard.title' 'Dashboard'}}. Ma se hai un modo per mappare il tuo "contenuto" corrente con queste mie chiavi, potresti essere in grado di caricare quel contenuto nella raccolta mfstrings, o magari scrivere del codice per estrarlo in mfAll.js. . .

Utilizziamo MessageFormat per tutte le nostre app Meteor e lo adoriamo. Non ho esperienza con TAP i18n, ma MessageFormat sembra soddisfare le nostre esigenze (stiamo facendo giapponese, inglese, cinese).

Suggerisco di aggiungerlo al progetto, o di usarlo con un progetto di test per fare esperienza con esso, quindi puoi decidere come ti piace. Assicurati di leggere su mf_extract o rimarrai bloccato.

+0

se avete domande proverò a rispondere loro! –

Problemi correlati