如何输入来自数据库或外部源的I18N文本

时间:2012-10-10 作者:Nicola Peluchetti

我正在写一个插件,我想正确地输入我存储在db或外部文件中的文本。我该怎么做?到目前为止,我们正在使用wordpress生成pot文件,因此所有可翻译文本都在调用中

__( \'text\', \'plugin_name\');
但是有一些文本我想存储在db或其他格式中,我不知道如何放入POT文件中。

我想到的唯一一件事就是对这些数据结构使用数组,这样我就可以转换这些值,但还有其他选择吗?

2 个回复
最合适的回答,由SO网友:Otto 整理而成

简单回答:你没有。I18N函数没有。数据库中的数据是可以更改的数据,应该通过一些单独的方式进行转换。代码中的数据是硬编码的,不会更改,可以通过I18N函数进行转换。

如果您想将所有可翻译文本存储在一个PHP文件中作为数组,然后从代码中的其他地方引用它,那么就可以了。

SO网友:EAMann

但是有一些文本我想存储在db或其他格式中,我不知道如何放入POT文件中。

如果文本在数据库中,则can\'t 使用POT文件进行翻译。翻译的整个要点是针对代码中使用的静态字符串设置查找。如果文本在数据库中,则它不是静态的,无法翻译。

好吧,至少对于您尝试使用的标准i18n功能来说不是这样。

结束

相关推荐

Plugin Localization

我刚刚为wp构建了我的第一个插件,即使它不是一个伟大的“代码诗意”;)它正常工作。这是一个使用GalleryView 3.0 jquery插件转换默认wp库的插件(http://spaceforaname.com/galleryview).我唯一不能做的就是本地化。此插件的本地化意味着转换管理界面,在这里可以配置jquery插件选项来更改结果库的外观。我试着关注网络上数百万的教程,在论坛上阅读了很多关于这个问题的帖子,并遵循了codex的指南。。。但仍然没有运气。这就是我所做的:每个文本行都位于gette