【发布时间】:2012-03-25 11:28:59
【问题描述】:
我必须说 cakephp(使用 1.3 版本,因为项目是用它设置的)有一个奇怪的 i18n 概念。
我确实成功地翻译了静态字符串,但动态字符串.. cake 的如何管理多语言内容的想法对我来说似乎有点尴尬。
我确实设置了 i18n 表(稍后当我让它工作时将它分成几个表)并将翻译行为附加到所需的模型。
到目前为止一切顺利,然后,在添加操作中,我添加了一个包含语言环境(en_us,de_de...)的选择字段,以便用户可以决定保存哪一个。
在保存记录之前,我做了一个$this->Modelname->locale = $locale; 来告诉模型使用哪个语言环境。
记录保存成功,但是问题来了:
- 我有一个包含很多记录的索引操作,我希望用户能够为每个项目提供不同的翻译(假设:一个项目被翻译成英语(美国)和德语,另一个被翻译成英语(美国)、意大利语和法语,如何让用户能够编辑/删除单个翻译?
- 我确实使用了
$this->Modelname->bindTranslation(...)内部操作,我需要在其中获取语言环境名称(存在哪些翻译),以便用户可以决定要编辑哪个,是否有另一种更优雅的方法来完成此操作?另外,当我这样做时:$this->Modelname->bindTranslation(...);然后我不使用 find() 方法,而是使用 paginate(),它不会返回任何翻译...
【问题讨论】:
-
这样的复杂问题更适合以下情况: 1- 问题中的更多格式而不是单个长段落。 2- 代码示例来帮助演示您正在做什么,因此助手不必将所有内容可视化或尝试从描述中重新创建它。
-
好的,让我们以更简单的方式尝试:首先,我有多个翻译的记录,我想获取每行存在的现有语言/区域设置名称。例如:我有 4 行数据,每行可以有不同语言的翻译,我想知道每行存在哪些语言。
标签: cakephp internationalization cakephp-1.3