2017-10-15 1 views
1

Hallo, ich möchte meine Cordova Mobile App als mehrsprachig machen. Ich habe zwei js-Datei {lang.en.js und lang.tr.js} im Ressourcenordner. In Dateien gibt es ein String-Objekt für Sprachen.Multilanguage Support Cordova App

var strings = { 
    app_name: "Capser", 
    facebook_login_btn: "Login with Facebook", 
    gmail_login_btn: "Login with Gmail" 
} 

Jetzt möchte ich Sprache wählen hängt von der mobilen Sprache ab. Ich habe das Globalisierungs-Plugin installiert und die Funktion unten geschrieben.

in index.js zuerst rufe ich diese Funktion dann wähle ich js-Datei.

setLanguage(); 
var languageScript = 'resources/lang.' + localStorage.language + '.js'; 

Mein Problem beginnt hier. Ich möchte dieses String-Objekt aus der Datei erreichen.

$.getJSON(languageScript, function (data) { 
      console.log(data); 
     }); 

Ich schrieb oben, aber nicht funktioniert. Wie kann ich Daten von der js Akte erhalten?

Vielen Dank im Voraus

Antwort

0

Als Zieldatei ist kein JSON, Sie nicht getJSON Methode verwenden sollten. Aber wenn Sie diese Sprachdatei importieren wollen, und davon ausgehen, dass in diesen Dateien nur Sprachübersetzungen vorhanden sind, könnte es eine Option sein, diese Dateien zu reinem JSON zu machen und sie unter Verwendung von $.getJSON wie beschrieben zu importieren, und es sollte funktionieren. Zum Beispiel sollte lang.en.js nur sein:

{ 
    app_name: "Capser", 
    facebook_login_btn: "Login with Facebook", 
    gmail_login_btn: "Login with Gmail" 
} 

Und dann können Sie diese Datei laden mit jQuery $.getJSON mit und in seinem Rückruf, sollten Sie Übersetzungsdaten erhalten.