2010-09-07 87 views
0

CakePHP book有关于国际化&本地化的章节。 Bascyly所说的是Cake会生成一个pot文件,我们必须为pot文件中的不同语言文件创建一个.po文件。使用数据库进行国际化和本地化

我的问题是我希望用户能够编辑这些本地化文本,而不是将.po文件存储在数据库中的.po文件中。

那么如何将本地化的文本存储在数据库中?

回答

1

a Behavior for that

就我个人而言,我发现TranslateBehavior虽然比较不灵活,所以我通常只是通过一个包含所有翻译的belongsTo关系连接到主模型的单独表格。然后我选择一个显示在视图中。

+0

这听起来很奇怪。 Translate Bahavior是针对模型数据的。所以我必须创建一个模型来存储我在视图中使用的所有标签。如果我这样做,那么我将无法再使用<?php __('Posts')?>这个东西,对吧? – Sunny 2010-09-07 05:50:53

+0

是的,如果要将用户可编辑的翻译存储在数据库中,则需要使用模型。那时,你的标签不是简单的“可翻译的视图元素”,它们就像数据库中的任何其他数据一样。 '__()'只会在.pot文件中查找翻译,所以是的,您需要使用别的东西。 – deceze 2010-09-07 06:03:16