2015-09-22 27 views
5

Tôi có ứng dụng đang hoạt động bằng aurelia-i18n. Tôi muốn chia tệp translation.json thành nhiều tệp như nav.json, message.json, v.v. nhưng tôi không chắc chắn cách thực hiện.
Đây là giao diện của nó ngay bây giờ. sử dụng nhiều tệp dịch trong aurelia i18N

locale 
 
    |-en 
 
    |- translation.json

Nhưng tôi muốn thay đổi nó để theo cách này.

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

Có thể làm điều đó? Nếu vậy, làm cách nào để định cấu hình và truy cập các giá trị trong mỗi tệp?

Trả lời

6

Bạn có thể có nhiều file tài nguyên và chúng được gọi là namespace trong i18next library (theo mặc định bạn chỉ có một không gian tên được gọi là: translation) được sử dụng bởi aurelia i18N.

Bạn chỉ cần liệt kê không gian tên của bạn khi cấu hình các plugin với namespacesdefaultNs thuộc tính bên trong ns tùy chọn:

.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 
     }); 
     }); 

Xem thêm các documentation of i18next và vấn đề github liên quan này: Using namespaces

+0

Nó trả lời như thế nào để sử dụng không gian tên với các tệp khác nhau. Nhưng không sử dụng nhiều tệp. –

Các vấn đề liên quan