2016-08-16 8 views
3

私は、口ひげのテンプレートでローカリゼーションを使用するヒントやヒントについては、Vapor(SwiftのWebフレームワーク:http://docs.vapor.codes/)のドキュメントをチェックしましたが、何も見つかりませんでした。ローカライゼーションを口ひげテンプレートで直接使用できますか?

Vaporのサンプルプロジェクトにはローカリゼーションの使用例が含まれていますが、ローカライズされたすべてのテキストを私の余裕のように聞こえる髭のテンプレートに渡す必要があります。これはその例です。

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() 

正しい方向に向ける人がいますか?

答えて

1

あなたがしようとしているのは、このようなものです。

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() 

これはlangはそうのようなapp.jsonで構成されています:

{ 
    "lang": "es" 
} 

、さらには環境変数を使用しました。

{ 
    "lang": "$LANG" 
} 

Vaporには、現在のところコンテキストを使用してローカライズ値を自動的に参照する方法がありません。このための機能要求を提出し、それがどのように機能するかを概説する必要があります。 :D

関連する問題