2016-06-30 115 views
0

我在一個社交網絡上工作,我決定返回JSON而不是HTML,然後使用Handlebars.js或任何模板系統將其轉換爲html,但問題如下: 我正在使用Symfony框架,所以我檢查請求是否是XHR,然後我返回一個JsonResponse,但是我應該爲js模板翻譯做什麼,當響應不是XHR時,我使用了php/Twig響應翻譯組件,但是js模板呢? 個例:Js模板內容

<h1> Product Title: {{product.title}} </h1> 
 
<a href="/edit-{{product.id}}"> 
 
    Edit Product 
 
</a> 
 

 
<h1> Titre de produit: {{product.title}} </h1> 
 
<a href="/edit-{{product.id}}"> 
 
    Editer le produit 
 
</a>

我想我不應該創造型動物語言100X JS templtes,這將是難以維護。像Twitter這樣的網站可以操縱他們的Json回覆嗎?他們是否使用Json內容發送翻譯?

我很抱歉我的英文不好,我是法國人。謝謝!

+0

給每個語言的內容JSON。這是一個例子[這裏](https://gist.github.com/jsgao0/8d34ffcf2f793b7fe36c0fb295511155)。 – Anson

回答

0

如果您只需要翻譯,您可以使用JsTranslationBundle

你可以使用翻譯表單javascript,或者 你可以添加將翻譯文件轉換爲json對象併發送響應。

use Symfony\Component\Yaml\Yaml; 

$translationArray = Yaml::parse(file_get_contents('/path/to/tranlation/file.yml')); 

// $resopnse is the array you convert it to JsonResopnse; 

$response['translation'] = $translationArray; 
+0

謝謝你的回答,我知道這個軟件包,但它加載了整個翻譯,我想第二個是好的,但從性能方面來說,沒關係?或者直接加載和發送html代替Json&解析Yml翻譯文件會更好? – Xyt

+0

如果您使用相同的模板來呈現數據並進行更新。 你可以先發送模板,然後用數據更新 –

+0

我不是不知道,你能澄清嗎? – Xyt