2015-09-22 9 views
5

Ho un'app funzionante che utilizza aurelia-i18n. Mi piacerebbe dividere il file translation.json in più file come nav.json, message.json, ecc ma non sono sicuro di come farlo.
Ecco come appare adesso. utilizzando più file di traduzione in aurelia i18N

locale 
 
    |-en 
 
    |- translation.json

ma voglio cambiarlo a questo modo.

locale 
    |-en 
    |- nav.json 
    |- message.json 

E 'possibile farlo? In tal caso, come posso configurarlo e accedere ai valori in ogni file?

risposta

6

È possibile avere più file di risorse e questi sono chiamati namespace nel i18next library (di default si dispone di un solo spazio dei nomi che si chiama: translation) che viene utilizzato da aurelia i18N.

Hai solo bisogno di elencare i vostri spazi dei nomi durante la configurazione del plugin con le namespaces e defaultNs proprietà all'interno l'opzione ns:

.plugin('aurelia-i18n', (instance) => { 
     // adapt options to your needs (see http://i18next.com/pages/doc_init.html) 
     instance.setup({ 
      resGetPath : 'locale/__lng__/__ns__.json', 
      lng : 'de', 
      attributes : ['t','i18n'], 
      ns: { 
      namespaces: ['nav', 'message'], 
      defaultNs: 'message' 
      }, 
      getAsync : true, 
      sendMissing : false, 
      fallbackLng : 'en', 
      debug : false 
     }); 
     }); 

Vedere anche il documentation of i18next e questo correlati problema github: Using namespaces

+0

risponde come utilizzare gli spazi dei nomi con file diversi. Ma non usare più file. –