Ho un'app Marionette a pagina singola costruita su RequireJS che deve supportare le traduzioni.Carica file locale in modo dinamico utilizzando Requirejs
Il mio obiettivo è avere un file di dizionario per ogni lingua e, in base alla configurazione dell'utente connesso, caricare il file pertinente.
Poiché la maggior parte degli utenti utilizza l'inglese, desidero raggruppare il dizionario inglese nell'app durante la generazione (utilizzando r.js).
ho scritto un piccolo modulo traduttore, che avvolge sostanzialmente jed.js (biblioteca che sto utilizzando per i18n):
//in myTranslator.js
define(function (require) {
"use strict";
var Jed = require("jed");
var localeData = require("json!locales/en_US.json");
var Translator = function() {
var i18n = new Jed({
"domain": "messages",
"locale_data": localeData
});
return i18n;
};
return Translator;
});
//in app.js
define(function(require){
var Translator = require("myTranslator");
var translator = new Translator();
});
Come si può vedere, i dati locale viene caricato da un file statico. Voglio essere in grado di passare le impostazioni internazionali al costruttore Translator e, in base a ciò, caricare il file JSON corretto.
Come si può fare insieme mantenendo il JSON inglese in bundle con il progetto costruito?
Grazie per la risposta, ma ho finito per fare qualcosa di un po 'diverso. Puoi vedere la mia risposta qui sotto – elanh