web-dev-qa-db-ja.com

構成可能フィールドを翻訳可能にする

私は今テーマに取り組んでいます。管理者がテーマ内で使用されるさまざまなテキストを管理パネルで設定することによって設定できるようにします(たとえば404エラーが発生したときに表示されるテキスト)。

これらの設定フィールドを翻訳可能にしたいです。そのための最善の方法は何ですか、またはそうするために私は何を考慮に入れなければなりませんか。

ありがとうございます、
ルネ

3
René Schubert

私が翻訳プラグイン(qTranslate、WPML、Multilingual Press)で見たことは2つのアプローチです。


一つはqTranslate's(そして現存していないxLanguage):一つのフィールドを使う(一つはタイトル、その他のコンテンツなど)すべての翻訳を保持します。そして、フロントエンドで、実際の言語に従ってその出力をデコードします。

<!--en-->English<--:--><!--es-->Español<--:-->

バックエンドでは、プラグインはこれを異なる入力フィールドでデコード/エンコードします。それらは別々のエンティティとして動作しますが、データベース内では単一のエンティティです。必要に応じて、表記法[:en]English[:es]Españolをユーザーが直接適用できます。

ドキュメント化のために言及していますが、このアプローチは複雑で、問題があり、プラグインの運命が近づいています。


そして、WPML and MultilingualPress:言語ごとに異なるフィールド、投稿、サイトを使用し、それらを一緒にリンクします。

テーマ/プラグインオプションページでは、page_404_enpage_404_esの2つのフィールドを意味します。

the_contentに対するqTransインターフェースのアイデアをつかむ:
CSS/jQuery表示タブを作成します。 English|Español それぞれに1つのフィールドを表示します。

フロントエンドで、言語を検出して対応するフィールドを表示します。

$language = get_cookie_language(); // fake function
$the_text = get_option( 'page_404_' . $language );
2
brasofilo