次のようなコードを簡単に記述できるようにしたいと考えています。
#include <iostream>
int main (){
std::cout << "hello, world!\n";
}
しかし、それはi18nをサポートしています。を使用した例を次に示しgettext()
ます。
#include <libintl.h>
#include <iostream>
int main (){
std::cout << gettext("hello, world!\n");
}
これを xgettext で処理して、翻訳者がさまざまなバージョンを作成するために使用できるメッセージ カタログ ファイルを生成できます。これらの追加ファイルをターゲット システムで処理して、ユーザーが好みの言語で対話できるようにすることができます。
代わりに、次のようなコードを書きたいと思います。
#include <i18n-iostream>
int main (){
i18n::cout << "hello, world!\n";
}
ビルド時に、引用符で囲まれた文字列が xgettext などのプログラムによって調べられ、ベース メッセージ カタログ ファイルが生成されます。 <<
引数付きの演算子はi18n::cout
、メッセージ カタログから使用するランタイム テキストをルックアップするためのキーとして文字列リテラルを取ります。
それはどこかに存在しますか?