7

gettext() を使用して、Web サイトのテキストの一部を翻訳しています。ほとんどの場合、これらは「戻る」、「名前」などの短いテキスト/ボタンです...

// I18N support information here
$language = "en_US";
putenv("LANG=$language");
setlocale(LC_ALL, $language);


// Set the text domain as 'messages'
$domain = 'messages';
bindtextdomain($domain, "/opt/www/abc/web/www/lcl");
textdomain($domain);

echo gettext("Back");

私の質問は、このテキスト (id) が echo gettext("") 部分にどれくらい「長く」あることができるかということです。

長いテキストの処理が遅くなりますか? それとも、それもうまく機能しますか?たとえば、次のようにします。

echo _("LZ adfadffs is a VVV contributor who writes a weekly column for Cv00m. The former Hechinger Institute Fellow has had his commentary recognized by the Online News Association, the National Association of Black Journalists and the National ");
4

3 に答える 3

6

公式のgettext ドキュメントには、次のアドバイスしかありません。

翻訳可能な文字列は 1 つの段落に制限する必要があります。1 つのメッセージが 10 行を超えないようにしてください。その理由は、翻訳可能な文字列が変更されると、翻訳者は翻訳された文字列全体を更新するタスクに直面するからです。英語の文字列で 1 つの単語だけが変更されている可能性がありますが、翻訳者は (現在の翻訳ツールでは) それを確認できないため、メッセージ全体を校正する必要があります。

文字列の長さに公式の制限はなく、明らかに少なくとも「1 段落/10 行」を超えることができます。

長い文字列による測定可能なパフォーマンスの低下は事実上ありません。

于 2013-08-14T10:24:41.177 に答える
0

関数 gettext http://www.php.net/manual/en/function.gettext.php

文字列入力として定義されているため、マシンのメモリが制限要因になります。

開発マシンにある場合は、xdebug を使用して microtime またはそれ以上のベンチマークを試してください。

于 2013-08-14T10:22:56.267 に答える