如何翻译成西班牙语WordPress硬编码内容/文件?

时间:2020-06-08 作者:Andres Urdaneta

我目前有一个网站,其中一些内容是硬编码的:比如说,导航栏不能从WP仪表板进行编辑,并且整个页面中的一些内容。

我发现了一些非常有用的插件,这些插件使我能够翻译可以从仪表板编辑的内容,如帖子、页面。等

然而,据我所知,他们不会翻译硬编码的内容。

有没有办法实现此功能?还是我必须弄清楚如何使所有内容都可编辑并可从仪表板访问?

1 个回复
SO网友:Tom J Nowell

这取决于两件事:

包含西班牙语文本的硬编码HTML标记,例如。echo __( \'string\', \'textdomain\' );您想要后者,但主题作者可能没有使用该API

硬编码HTML标记这是指文本在文件中硬编码,例如。

<p>spanish text</p>
<?php echo "spanish text"; ?>
这里有两个选项,其中一个对性能很糟糕:

创建一个子主题并用i18n api调用替换硬编码文本的模板(选择此选项)

  • 使用输出缓冲区阻止发送任何内容,然后在末尾搜索并替换它(避免!!!!这是错误的选项!)

    请注意,输出缓冲区方法将削弱到第一个字节的时间度量,并导致性能命中和SEO惩罚。当使用插件语言切换器时,它也不会改变页面的语言,但为了完整性,我已经包含了它。

    i18n和官方国际化/本地化API

    翻译API允许您指定默认字符串和textdomain,然后您可以告诉WP这一点,以及主题将包含这些字符串但使用其他语言的翻译文件存储在哪里。此数据存储为mo/po/pot 文件,这就是vanilla WordPress如何翻译其API。

    请注意,此API不能用于来自数据库或其他外部源的动态内容,它仅用于静态字符串。这就是插件的用途。

    这些API有很多,但最基本的是__( \'static string\', \'textdomain\' );.

    有关如何翻译主题的详细信息,我推荐主题和插件手册中的专门章节:

  • 相关推荐

    调用具有多个参数的PHP函数,该函数位于AJAX处理程序之外

    Q: 使用AJAX处理程序中的多个参数调用PHP函数的正确方法是什么?Q: 我调用php函数是否正确?Q: 有没有更简单的方法? Page Element 用户单击按钮。Action: 单击将调用php代码,使用以下参数连接到外部服务器:用户名2。IP地址3。端口4。公钥5。服务Purpose:将投票字符串(从主机A)发送到外部游戏服务器(主机B)我不需要更新任何WordPress内容。注意:我拥有这两台服务器。WordPress Version: 5.4.1 PHP Version on