2016-08-16 7 views
3

Ich habe die Dokumentation von Vapor (Web-Framework für Swift: http://docs.vapor.codes/) für alle Hinweise oder Tipps zur Verwendung der Lokalisierung in einer Schnurrbartvorlage überprüft, aber ich konnte nichts finden.Kann ich Lokalisierung direkt in einer Schnurrbartvorlage verwenden?

Das Beispielprojekt von Vapor enthält ein Beispiel zur Verwendung der Lokalisierung, aber dann muss ich alle lokalisierten Texte an meine Schnurrbartvorlage übergeben, die für mich wie ein Overkill klingt. Dies ist das Beispiel:

let drop = Droplet() 
drop.get("localization", String.self) { request, lang in 
    return try JSON([ 
     "title": drop.localization[lang, "welcome", "title"], 
     "body": drop.localization[lang, "welcome", "body"] 
    ]) 
} 
drop.serve() 

Gibt es jemanden, der mich in die richtige Richtung weisen kann?

Antwort

1

Was Sie versuchen, würde in etwa so aussehen.

{ 
    "lang": "es" 
} 

Oder auch eine Umgebungsvariable mit:

let drop = Droplet() 

drop.get("welcome") { request in 
    let lang = drop.config["app", "lang"].string ?? "en" 

    return try drop.view("welcome.mustache", context: [ 
     "title": drop.localization[lang, "welcome", "title"], 
     "body": drop.localization[lang, "welcome", "body"] 
    ]) 
} 

drop.serve() 

Dies hat lang wie so in app.json konfiguriert.

Vapor hat keine automatische Möglichkeit, Lokalisierungswerte über den Kontext ab sofort zu referenzieren. Sie sollten hierfür eine Feature-Anfrage einreichen und erläutern, wie es funktionieren könnte! : D

Verwandte Themen