注:我今年15岁,还在学习编程,所以如果你回答我,请彻底回答我……
大家好,我正在用WordPress制作我自己的网站,我也在制作自己的自定义主题,我还在开发中,该网站已经在线,但仍未完成,我想尽快完成它,因为当学校到来时,我将没有时间再编码了。
我的网站的关键功能之一是,我希望它是一个多语言的网站,至少阿拉伯语和英语,所以我安装了WordPress插件,一切都很好,除了有一些文本,例如在页脚是硬编码的,写在footer.php文件本身,所以宝利兰不能触摸它在所有我想使用多语言字符串翻译选项来翻译任何文本在页眉或页脚或任何地方我指定的it.and这是我的问题。
我想要一个这个问题的解决方案,提前谢谢。
抱歉,如果有任何语言错误,和糟糕的布局,我正在用手机发短信。
发布于 2019-09-27 08:02:39
我不知道Polylang,但在过去使用过其他类似的插件。
我已经查看了开发人员文档here,我认为您需要使用函数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!');
});
?>希望这对你有所帮助,如果你还需要帮助,请让我知道。
发布于 2019-09-28 03:43:28
本地化或简称l10n具有非常完善的方法。由于您正在设计自己的主题,因此您应该阅读WordPress l10n以了解PO和MO文件。
通常,在Wordpress中,您可以分别使用_e('','')和__('','')回显或返回本地化字符串。这些函数使用gettext将第一个字符串与MO文件的本地化条目进行匹配,第二个参数定义文本域。
_e('I will echo text', 'your-textdomain');为了让这些函数从MO文件返回正确的结果,您需要填充PO文件。PO文件编辑器可以扫描您的主题文件夹,查找这些_e()和__()函数的任何实例,并在一个易于编辑的UI中列出它们。有多种PO编辑器可用。
填充字符串后,您可以使用PO编辑器为该语言创建MO文件。这通常是在主题的'languages‘文件夹中完成的。如果您在其他地方执行此操作,您现在可以将PO/ MO文件复制到那里。
现在,最后一步是在主题中进行register your text-domain,这样gettext函数就可以定位您刚刚创建的MO。
add_action( 'after_setup_theme', 'my_theme_setup' );
function my_theme_setup(){
load_theme_textdomain( 'my-theme', get_template_directory() . '/languages' );
}https://stackoverflow.com/questions/58033333
复制相似问题