Usando i18next com Meteor

Acabei de passar algum tempo tentando descobrir como trabalhar o i18n em um projeto Meteor e pensei que valia a pena compartilhar.

já existe um módulo i18next na atmosfera, então apenas

mrt add i18next-meteor

e o lib será incluído.

verifique http://i18next.com/ para ver como escrever seus arquivos json e armazená-los em
/public/locales/LANG/translation.json
ex. /public/locales/en/translation.json
/public/locales/es/translation.json

certifique-se de adicionar a tag ‘data-i18n = “ns.key”‘ aos elementos a serem i18nizados. Em seguida, inicializaremos o material (estou usando a notação coffescript):

Meteor.startup -> 
i18n
.init {lng: 'es', load: 'unespecific', preload: 'en'},(t)->
$
('[data-i18n]').i18n()

em seguida, adicione os eventos para trocar sua localidade. No meu caso, usei dois links (# i18n-es e # i18n-en):

Template.mytemplate.events
'click #i18n-en': (e)->
e
.preventDefault()
i18n
.setLng 'en', ->
$
("[data-i18n]").i18n()

'click #i18n-es': (e) ->
e
.preventDefault()
i18n
.setLng 'es', ->
$
("[data-i18n]").i18n()

tudo pronto e pronto. Boa codificação!