每个插件有多个文本域-管理员和前端

时间:2018-08-27 作者:Marvin3

有一个插件:

在管理区,它通过__(\'\', \'my-textdomain\'). 其中大多数是表单标签、标题等。在“frontend”(最终用户看到的)上,只有15个字符串通过相同的__(\'\', \'my-textdomain\') 方法大多数网站编辑都想翻译“前端”部分。管理区域部分是技术性的,大多数编辑都能理解英文版本。

有两个插件textdomains值得吗?一个用于管理区域字符串,另一个用于“前端”类似于:

  • __(\'\', \'my-textdomain--admin\') 对于管理员标签__(\'\', \'my-textdomain--frontend\') 对于“前端”标签

2 个回复
SO网友:Mark Kaplun

有两个插件textdomains值得吗?一个用于管理区域字符串,另一个用于“前端”?

理论上是的

它是否违反了任何准则(插件是公共的)?

驱动wordpress的glotpress。org翻译部分不太可能保存任何内容。为此,您必须只使用一个文本域,该域与插件IIRC的slug相同。Poedit和其他软件基本上可以在以下方面进行字符串匹配__() 不会检测到不同的文本域并生成不同的。pot/。两者的po文件。使用这种工具的翻译人员很可能会将所有内容结合起来。

它会改善/简化翻译体验吗?

不,这会让事情变得更难

在性能方面值得吗?

不大可能发生的上次我检查了50%的wordpress用户使用英语,对他们来说,这没有什么区别。对于其他语言来说,这听起来差别还不够大(这取决于它被翻译成的语言,因为最大的问题是内存消耗,而对于德语这样的语言,由于字符串通常较长,您可能会消耗更多内存),而真正关心性能的人在任何情况下都会使用页面缓存。

Wordpress的翻译性能很差,而且多年来确实很差。除非有更好的基础设施,否则对抗流量是毫无意义的。你能做的是,再想想为什么你首先需要前端的翻译。难道你不能让用户自定义相关的字符串,而不是让他知道如何进行插件翻译吗?

SO网友:Severin

我也在寻找如上所述的可能性。我的临时解决方案是与上下文一起工作:

示例:

_例如(“Post”、“frontend”、“my plugin”);

_例如(“Post”、“后端”、“我的插件”);

_x(‘Post’、‘frontend’、‘my plugin’);

_x(‘Post’、‘backend’、‘my plugin’);

这是我的临时解决方案,也许会有所帮助。

更多信息:how-to-internationalize-your-plugin

结束

相关推荐

LOAD_TextDOMAIN无法加载我的.mo文件

我正在使用Yoast方法构建HTML站点地图。但它需要翻译。它使用页面模板页面站点地图。使用模板部件的php<?php get_template_part(\'/partials/sitemap\'); ?> 在本模板第一部分中。。。load_textdomain( \'site-map\', TEMPLATEPATH.\'/partials/languages\' ); 该路径适合我列出文件夹TEMPLATEPATH的文件。”/它显示我的语言文件。如你所见,我的域名是“