web-dev-qa-db-ja.com

テーマをWPML用に翻訳可能にする

私は自分のサイトを翻訳するのに本当に苦労しました。
私はMOファイルとPOファイルを持っていますが、私のテーマはWPMLと互換性がなく、開発者チームはそれを変更しません。

そのため、自分でプラグインや互換性コーディングを作成する必要があるかもしれません。しかし、私はどうすればいいのか、そして私がしなければならないことを本当に見つけることができません。

誰かがやり方を知っていますか?それともそれのための任意のチュートリアル?私は本当にWMPLサイトも見つけることができません。

1
pulla

通常の翻訳コードを使用すれば、WPMLに特別なものを追加する必要はありません。 Codexの WordPress開発者向けの国際化 を参照してください。

コード作成

style.css

テーマのText DomainDomain Pathstyle.cssを追加します。

例:

/*
 * Theme Name:    My awesome theme
 * Text Domain:   my_awesome_theme
 * Domain Path:  /languages
 */

テンプレート

翻訳する必要があるすべての文字列を見つけて、適切な翻訳関数でText Domain値を使用します。

例:

交換してください…

echo 'Comments'

…と…

esc_html_e( 'Comments', 'my_awesome_theme' );

利用可能な関数についてはwp-includes/l10n.phpを、そして前述のCodexの記事のリンクをたどってください。

テーマディレクトリ

Domain Pathの値から翻訳ファイル用のディレクトリを作成します。

例:

my-awesome-theme/languages

これでWPMLは翻訳のためのすべての文字列を見つけて適切な言語ファイルを作成することができるはずです。

最後に、言語ファイルが実際にロードされていることを確認してください。次のコードをあなたのテーマのfunctions.phpに追加してください。

add_action( 'wp_loaded', 'my_awesome_theme_load_theme_language' );

/**
 * Load translations.
 *
 * @wp-hook wp_loaded
 * @return  bool
 */
function my_awesome_theme_load_theme_language()
{
    $lang_dir = get_stylesheet_directory() . '/languages';
    return load_theme_textdomain( 'my_awesome_theme', $lang_dir );
}
5
fuxia

WPMLには にテーマの互換性を持たせる方法 に関するかなり良いドキュメントがあります。

ほとんどの場合、テーマ設計者が国際化のためのwp標準に準拠していれば、すべてのテーマはWPMLをそのまま使用できます。

あなたがそのリンクを詳しく調べず、私たちがあなたを手助けすることができる具体的な問題を抱えているならば、何がうまくいかなかったか、そしてあなたがそれをあなたの質問にどうやって直そうとしたかの詳細を加えてください。

2
s1lv3r