N.B:我15岁, 还在学习编码, 所以如果你回答我, 请彻底回答我…。
大家好, 我使用WordPress创建自己的网站, 也正在制作自己的自定义主题, 我仍在开发中, 该网站已经在线但仍未完成, 我想尽快完成它, 因为上学时到了, 我将没有时间编码了。
我的网站的主要功能之一就是希望它成为一个多语言网站, 至少是阿拉伯语和英语, 因此我安装了Polylang WordPress插件, 并且一切正常, 除了在页脚中有一些文本(例如硬编码) , 它是在footer.php文件中自行编写的, 因此Polylang根本无法触摸它。我想使用Polylang字符串翻译选项来翻译页眉或页脚或我指定的任何位置中的任何文本。这是我的问题。
我想解决这个问题, 谢谢。
对不起, 如果有任何语言错误, 以及布局不正确, 我正在通过电话发短信。
#1
我不了解Polylang, 但过去曾使用过其他类似的插件。
我在这里查看了开发人员文档, 认为你需要使用功能pll_register_string来注册字符串, 然后使用pll_e来输出该字符串。
例如, 你收到的文字是” Hello World!”。在模板中, 然后使用函数pll_e输出该文本, 如下所示:
<?php pll_e('Hello World!'); ?>
然后, 要在Polylang字符串翻译中获取此字符串, 你需要使用pll_register_string函数将其注册到主题functions.php中, 如下所示:
<?php
add_action('init', function() {
pll_register_string('shams-theme', 'Hello World!');
});
?>
希望这对你有所帮助, 如果你需要其他帮助, 请告诉我。
#2
本地化或简称为10n具有非常完善的方法。由于你正在设计自己的主题, 因此你应该阅读有关WordPress l10n的知识, 以了解PO和MO文件。
通常, 在Wordpress中, 你使用_e(”, ”)和__(”, ”)分别回显或返回本地化的字符串。这些函数使用gettext将MO文件的本地化条目的第一个字符串与定义文本域的第二个参数进行匹配。
_e('I will echo text', 'your-textdomain');
为了获得这些功能以从MO文件返回正确的结果, 你需要填充PO文件。 PO文件编辑器可以扫描你的主题文件夹, 以查找_e()和__()函数的任何实例, 并将它们列出在易于编辑的UI中。有多种可用的PO编辑器。
填充字符串后, 可使用PO编辑器为该语言创建MO文件。这通常是在主题的”语言”文件夹中完成的。如果你在其他地方进行过此操作, 则现在将PO / MO文件复制到那里。
现在, 最后一步是在主题中注册你的文本域, 以便gettext函数可以找到你刚创建的MO。
add_action( 'after_setup_theme', 'my_theme_setup' );
function my_theme_setup(){
load_theme_textdomain( 'my-theme', get_template_directory() . '/languages' );
}
评论前必须登录!
注册