Zend framework 翻译文件的设计模式
我正在开发一个基于,Zend framework 翻译文件的设计模式,zend-framework,design-patterns,translation,Zend Framework,Design Patterns,Translation,我正在开发一个基于, 我将用它来管理我的翻译 我的翻译将被放入PHP数组key=>value中,如下所示:(每种语言一个文件) 另一方面,我可以使用特殊键直接找到该文本的显示位置,如下所示: 'label_loginForm_login' => 'Login', 'button_mixed_submit' => 'Submit', 'links_mixed_share' => 'Share', //... 但是在这个选项中,我可以使用什么样的树作为键
我将用它来管理我的翻译 我的翻译将被放入PHP数组
key=>value
中,如下所示:(每种语言一个文件)
另一方面,我可以使用特殊键直接找到该文本的显示位置,如下所示:
'label_loginForm_login' => 'Login',
'button_mixed_submit' => 'Submit',
'links_mixed_share' => 'Share',
//...
但是在这个选项中,我可以使用什么样的树作为键?有多少层('类型'/'位置'/'动作'…) 每个级别有多少个项目 级别“类型”的示例
- 标签:用于标准文本
- 文本:用于带有多个句子的长标签
- 链接:用于链接标签
- 按钮:用于按钮标签
- 混合:用于少数事物
这将使用数据库完成,PHP数组将自动创建以供性能问题使用。对于我来说,我更喜欢第二个选项,原因有两个 1-请记住,您将翻译验证器错误消息(以类似
regexNotMatch
的方式键入),您的第二个选项将与已设置的键相同
2-此外,使用此选项,您将避免使用长短语作为键。例如:
return array(
'confirmation_mail_sent' => 'Message here'
);
return array(
'Your validation email has been sent. Please click on the link and ... bla bla bla bla' => 'Message here'
);
正如您很容易注意到的,第一个示例比第二个示例可读性好得多
希望我的意见足够清楚
谢谢我会选择第一个选项。这样做可以消除重复的单词。如果其他人在你的项目上工作,那么第二个选择对他来说可能没有意义。我还建议将键、值对放入一个非数组和更可读的格式,如ini或txt,以便傻瓜可以轻松编辑。我编辑我的帖子就是为了回答你!谢谢你的回答,但是结构呢?如何选择每个键的名称?@JoDev没有确切的“实现”
。由你来考虑这个问题。您需要为整个项目设置一种独特的方式。
'label_loginForm_login' => 'Login',
'button_mixed_submit' => 'Submit',
'links_mixed_share' => 'Share',
//...
return array(
'confirmation_mail_sent' => 'Message here'
);
return array(
'Your validation email has been sent. Please click on the link and ... bla bla bla bla' => 'Message here'
);