如何翻译成西班牙语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调用替换硬编码文本的模板(选择此选项)使用输出缓冲区阻止发送任何内容,然后在末尾搜索并替换它(避免!!!!这是错误的选项!)要获得最大的灵活性和与翻译插件的兼容性,请使用i18n翻译API。请注意,输出缓冲区方法将削弱到第一个字节的时间度量,并导致性能命中和SEO惩罚。当使用插件语言切换器时,它也不会改变页面的语言,但为了完整性,我已经包含了它。i18n和官方国际化/本地化API翻译API允许您指定默认字符串和textdomain,然后您可以告诉WP这一点,以及主题将包含这些字符串但使用其他语言的翻译文件存储在哪里。此数据存储为mo/po/pot 文件,这就是vanilla WordPress如何翻译其API。请注意,此API不能用于来自数据库或其他外部源的动态内容,它仅用于静态字符串。这就是插件的用途。这些API有很多,但最基本的是__( \'static string\', \'textdomain\' );.有关如何翻译主题的详细信息,我推荐主题和插件手册中的专门章节:https://developer.wordpress.org/themes/functionality/internationalization/https://developer.wordpress.org/themes/functionality/localization/这些将教你如何实现主题/插件的本地化,以及如何使用它创建语言文件。一旦添加了支持,您的插件应该自动在这两者之间切换。 文章导航