Meine Webanwendung verwendet allot Javascript, und im javascript habe ich Nachrichten, die ich dem Benutzer zurückmelde.
Was ist der beste Weg, um den Text aus meinem Javascript zu extrahieren und extern in einer anderen .js-Sprachdatei zu speichern, und wie würde ich es in meinem js-Code in Zukunft referenzieren?
Irgendwelche Best Practices dafür?
Erstellen Sie ein Objektliteral:
%Vor%Darauf können Sie dann verweisen, so:
%Vor%
Das funktioniert gut, wenn Sie mehrere Sprachen implementieren möchten. Was ich normalerweise mache, ist eine serverseitige Datei, die ein "Nachrichten" -Objekt entsprechend der Sprache ausgibt, die in der Konfiguration der App oder gemäß der UI-Kultur (im Fall von ASP.NET) ausgewählt wurde.
So würden Sie es inline verwenden:
%Vor%
Die nette Sache bei der Verwendung eines Objektliterals ist, dass der Code ausführlicher ist. Anstatt ein Array zu verwenden, wie dieses: alert(messages[0])
tust du das: alert(messages.error)
, was ein bisschen mehr erklärt.
Nebenbei bemerkt: Alle Ihre Nachrichten sind in einem Objekt definiert und nicht durch eine Reihe von Variablen definiert, wodurch der globale Namespace nicht verschmutzt wird.
In JavaScript können Sie Objekte zur Laufzeit ändern. Wenn Sie also später im Code weitere Nachrichten zum Objekt hinzufügen möchten, tun Sie dies einfach:
Ich sehe, dass die anderen dir gesagt haben, wie man es in einer JS-Datei speichert (wie du gefragt hast). Aber könnte ich vorschlagen, dass Sie es stattdessen in einer XML-Datei speichern? Es ist etwas einfacher zu verwalten (IMO).
Erstellen Sie eine XML-Datei mit folgenden Einträgen:
%Vor%Dann können Sie einfach den gesamten Text, den Sie in Ihrem normalen JS / jQuery benötigen, nutzen:
%Vor%Und um einen Text aufzurufen, ist es so einfach:
alert(text['welcome_to_site']);
Und Sie können es immer leicht in der XML-Datei ändern: Text hinzufügen, Text entfernen, Text bearbeiten. Es ist sehr einfach. Es hilft auch, Ihr Design zu trennen und öffnet Türen für Sie, damit andere Texte bearbeiten können, die andernfalls nicht in der Lage wären, wenn sie JavaScript durchforsten müssten.
Tags und Links javascript jquery multilingual