如何使用 WordPress 插件 polylang 进行自定义字符串翻译?
How can I make custom string translations with WordPress plugin polylang?
N.B:
我今年 15 岁,仍在学习编码,所以如果你回答我,请彻底回答我....
大家好,我正在用WordPress制作自己的网站我也在制作自己的自定义主题我还在开发中,网站已经上线但还没有完成,我想尽快完成尽可能,因为当学校到来时,我将没有时间再编码了。
我的网站的一个主要特点是我希望它是一个多语言网站,至少是阿拉伯语和英语,所以我安装了 Polylang WordPress 插件,一切正常,除了有一些文本,例如页脚中的内容是硬编码的,它自己写在 footer.php 文件中,因此 Polylang 无法在 all.I 处触摸它 想使用 Polylang 字符串翻译选项来翻译页眉或页脚或我指定的任何地方的任何文本it.and这是我的问题。
我想要这个问题的解决方案,在此先感谢。
抱歉,如果有任何语言错误和布局错误,我是从 phone 发短信的。
我不了解 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!');
});
?>
希望这对您有所帮助,如果您需要任何帮助,请告诉我。
本地化或简称 l10n 有非常成熟的方法。由于您正在设计自己的主题,因此您应该阅读 WordPress l10n 以了解 PO 和 MO 文件。
通常在 Wordpress 中,您使用 _e('','') 和 __('','') 分别回显或 return 本地化字符串。这些函数使用 gettext 将第一个字符串与 MO 文件的本地化条目匹配,第二个参数定义您的文本域。
_e('I will echo text', 'my-theme');
为了使这些函数 return 从 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' );
}
N.B: 我今年 15 岁,仍在学习编码,所以如果你回答我,请彻底回答我....
大家好,我正在用WordPress制作自己的网站我也在制作自己的自定义主题我还在开发中,网站已经上线但还没有完成,我想尽快完成尽可能,因为当学校到来时,我将没有时间再编码了。
我的网站的一个主要特点是我希望它是一个多语言网站,至少是阿拉伯语和英语,所以我安装了 Polylang WordPress 插件,一切正常,除了有一些文本,例如页脚中的内容是硬编码的,它自己写在 footer.php 文件中,因此 Polylang 无法在 all.I 处触摸它 想使用 Polylang 字符串翻译选项来翻译页眉或页脚或我指定的任何地方的任何文本it.and这是我的问题。
我想要这个问题的解决方案,在此先感谢。
抱歉,如果有任何语言错误和布局错误,我是从 phone 发短信的。
我不了解 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!');
});
?>
希望这对您有所帮助,如果您需要任何帮助,请告诉我。
本地化或简称 l10n 有非常成熟的方法。由于您正在设计自己的主题,因此您应该阅读 WordPress l10n 以了解 PO 和 MO 文件。
通常在 Wordpress 中,您使用 _e('','') 和 __('','') 分别回显或 return 本地化字符串。这些函数使用 gettext 将第一个字符串与 MO 文件的本地化条目匹配,第二个参数定义您的文本域。
_e('I will echo text', 'my-theme');
为了使这些函数 return 从 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' );
}