2016-06-30 31 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