我已经成功地翻译了静态字符串,但动态字符串... cake如何管理多语言内容的想法似乎有点让人尴尬。
我设置了i18n表格(稍后会将其拆分成几个表格,以便在获得工作时进行操作),并将翻译行为附加到所需的模型上。
到目前为止一切顺利,然后,在添加操作中,我添加了一个包含区域设置(en_us、de_de...)的选择字段,以便用户可以决定保存哪个区域设置。在保存记录之前,我执行了
$this->Modelname->locale = $locale;
来告诉模型要使用哪个区域设置。记录被成功保存,但是,问题来了:
- 我有一个带有很多记录的索引操作,我希望用户有可能为每个项目提供不同的翻译(比如:一个项目被翻译成英语(美国)和德语,另一个项目被翻译成英语(美国)、意大利语和法语,我该如何让用户有可能编辑/删除单个翻译?
- 我在需要获取区域设置名称(哪些翻译存在)的操作中使用了
$this->Modelname->bindTranslation(...)
,以便用户可以决定要编辑哪个区域设置,是否有另一种更优雅的方法来完成这个操作?此外,当我执行$this->Modelname->bindTranslation(...);
而不是使用find()方法时,我使用paginate()方法时,它不会返回任何翻译...