2015-09-22 22 views
5

Mam działającą aplikację przy użyciu aurelia-i18n. Chciałbym podzielić plik translation.json na wiele plików, takich jak nav.json, message.json, itp., Ale nie jestem pewien, jak to zrobić.
Oto jak to wygląda teraz. przy użyciu wielu plików tłumaczeń w aurelia i18N

locale 
 
    |-en 
 
    |- translation.json

Ale chcę zmienić go na tej drodze.

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

Czy to możliwe, aby to zrobić? Jeśli tak, w jaki sposób mogę go skonfigurować i uzyskać dostęp do wartości w każdym pliku?

Odpowiedz

6

Można mieć wiele plików zasobów i nazywane są one Przestrzenie nazw w i18next library (domyślnie masz tylko jeden obszar nazw, które nazywa się: translation), który jest używany przez aurelia i18N.

Wystarczy do listy swoich nazw podczas konfiguracji wtyczki z namespaces i defaultNs właściwości wewnątrz opcją 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 
     }); 
     }); 

Zobacz także documentation of i18next i to związane z problemem github: Using namespaces

+0

Odpowiada jak używać przestrzeni nazw z różnymi plikami. Ale nie używać wielu plików. –