私は wordpress プラグインを書いていて、drupal の実装を計画しています。wordpress 関数をアダプターにラップしています。だから私__()
は単純なためのアダプターを書きました
class Ai1ec_Wordpress_Template_Adapter implements Ai1ec_Template_Adapter {
...
public function translate( $text ) {
return __( $text, AI1EC_PLUGIN_NAME );
}
私は gettext の専門家ではなく、同僚が次のように書いてくれました。
コードが xgettext によって解析されて .pot ファイルが生成されると失敗します。__() などの WP i18n 関数では、文字列リテラルが最初の引数として渡される必要があり、変数ではありません。そして IIRC、Drupal の t() 関数についても同じことが言えます。
コーデックスのエントリ
http://codex.wordpress.org/I18n_for_WordPress_Developers#Placeholdersを読みました
http://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/t/7
そして、これに正確に関連するものを見つけることができませんでした。なぜこれが機能しないのか、Wordpress や Drupal と互換性のあるものを書くにはどうすればよいのか、semoone が正確に説明してくれますか?