我们有一个基于Symfony2 / Doctrine2的FOSRestBundle(JMSSerializer)构建的后端。
我们的API,例如为某些实体提供以下内容:REST / JSON响应中的' valid_from' 2015-12-31' 。
我们的AngularJS前端使用此REST API,例如向用户呈现一些表格:
有效期:2015年12月31日
现在我想知道如何为映射设置中心/或可维护位置的最佳方式: 字段键的英文标签' valid_from'是'有效来自'
据我所知,Doctrine的所有可翻译扩展(如Gedmo Kpn等)都是翻译内容(例如' category' =' Product' in English and =' Produkt& #39;德语)但不是架构。
当然,我无法更改/调整字段键到语言,因为它是前端的标识符。
到目前为止我的想法:
这里的问题是前端需要了解很多,理想情况下,API的任何变化都可以由后端开发人员彻底完成。
当我们为我们的实体模型和JSMSerializer使用注释时,我需要为翻译信息打开一个全新的空间。听起来不太有说服力。
目前的想法是使用我的实体属性使用自定义注释(可以缓存并且可以作为一个JSON收集并提供给前端)。
这意味着任何后端开发人员都可以在API更改后立即检查翻译密钥。
类似的东西:
@ORM\Column(name='product', type='string')
@FieldNameTranslation([
['lng'=> 'de-DE'],['text']=>'Product'],
['lng'=> 'en-En'],['text']=>'Produkt'])
另一个想法可能只是提供一些翻译密钥,如:
@FieldNameTranslation(key='FIELD_PRODUCT')
并使用Symfony的翻译组件并将内容包含在翻译yml文件中。
你有什么看法?在课堂上有没有最好的'接近这个?