gpt4 book ai didi

wordpress - 如何翻译任何语言的 WordPress 插件?

转载 作者:行者123 更新时间:2023-12-04 16:27:43 25 4
gpt4 key购买 nike

我已经完成了我的插件,现在想为我的用户提供多语言功能。我对它进行了研究,但很难实现。

我见过WordPress translation但需要遵循和翻译我的插件的基本步骤。

我做了这些

  • 下载 POEdit。
  • 在插件目录中创建了“french.po”文件
  • 遵守 'french.po' -> 'french.mo'

  • 需要做的
  • 如何定义 msgstr & msgstr 在 po 文件中?
  • 如何在插件中加载 po/mo 文件?
  • 如何通过 po/mo 文件替换标签/文本?
  • 如何使用 __e() & ___() 替换插件页面中的'msgstr'?
  • 最佳答案

    使用名为 Codestyling Localization 的插件,您不需要使用 POEdit。

    我将向您展示一个使用“localizationsample”作为文本域的示例。在这种情况下,语言文件位于/lang/目录中。它们不需要是您实际插件中的那些名称;它们只是示例。

    步骤

  • 在插件注释标题中添加这些行,以便代码样式本地化识别。

    文本域:localizationsample
    域路径:/lang
  • 创建一个名为 lang 的目录在你的插件目录中。
  • 安装并激活 Codestyling Localization插入。
  • 转至 Tools -> Localization
  • 找到您的插件并点击 Add New Language
  • 在单选按钮中选择要本地化的语言(国家/地区),然后按 Create po-file此时确保在 lang 文件夹中创建了一个 .po 文件。
  • Rescan -> scan now这是推荐的,因为在我的系统中没有这样做,插件总是显示一个错误,说“并非所有项目都使用相同的文本域”。
  • Edit这将为您带来另一个页面,其中列出了可供翻译的消息。这些消息是传递给函数 __() 的消息。和 _e()在插件代码中。
  • 点击 EditCopy 旁边的表中然后你会得到一个对话框来为每条消息输入你的翻译。完成翻译。
  • generate mo-file此时,您应该看到在 lang 中创建了一个 .mo 文件。文件夹。
  • 更改您在 wp-config.php 中指定的区域设置以反射(reflect)翻译。默认为 define('WPLANG', '');

  • 示例插件
    /*  
    Plugin Name: Sample Localization
    Description: Demonstrates how to localize your plugin.
    Text Domain: localizationsample
    Domain Path: /lang
    */

    // Localization
    add_action('init', 'localizationsample_init');
    function localizationsample_init() {
    $path = dirname(plugin_basename( __FILE__ )) . '/lang/';
    $loaded = load_plugin_textdomain( 'localizationsample', false, $path);
    if ($_GET['page'] == basename(__FILE__) && !$loaded) {
    echo '<div class="error">Sample Localization: ' . __('Could not load the localization file: ' . $path, 'localizationsample') . '</div>';
    return;
    }
    }

    // Add Admin Menu
    add_action('admin_menu','localizationsample_menu');
    function localizationsample_menu() {
    add_options_page(
    'Localization Demo', // admin page title
    'Localization Demo', // menu item name
    'manage_options', // access privilege
    basename(__FILE__), // page slug for the option page
    'localization_demo_adminpanel' // call-back function name
    );
    }
    function localization_demo_adminpanel() {

    echo '<div class="wrap"><div id="icon-themes" class="icon32"></div>';
    echo '<h2>' . __('Hi there!', 'localizationsample') . '</h2>';
    echo '<p>';
    _e('Hello world!', 'localizationsample');
    echo '</p>';
    echo '</div>'; // end of wrap
    }

    关于wordpress - 如何翻译任何语言的 WordPress 插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12638547/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com