如何使用 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' );
}