jw.org enu getect – ウィキペディア

before-content-x4

GNU getText
Official gnu.svg
基本データになります
メンテナー Daiki Ueno
デベロッパー GNU-GetText-Team
公開年 1995年
現行版 0.21.1 [初め]
9. 2022年10月 ))
オペレーティング·システム Unixのようなオペレーティングシステム、Windows(Webリンクを参照)
プログラミング言語 c
カテゴリー ローカリゼーション
ライセンス GPL:アプリケーションおよびLebgetTextpoライブラリ、LGPL:LibinlおよびLibasprintfライブラリ
ドイツ語 – スピーキング いいえ
GNU GetText HomePage

GNU getText ソフトウェアの国際化のためのGNUプログラムライブラリです。通常、多言語プログラムを開発するために使用されます。

プログラマー [ 編集 | ソーステキストを編集します ]

after-content-x4

まず、ソーステキストが変更され、GNUテキスト関数を呼び出すようになります。これは、文字列を包むことにより、ほとんどのプログラミング言語で実現されます。 getText 出力する必要があります。明確な理由から、この機能は名前の下にあります _ 次のコードの例(c)が

printf 「私の名前は%sです。 n  自分の名前 );  

 printf _ 「私の名前は%sです。 n )、、  自分の名前 );  

変更する必要があります。これは同義語です

 printf getText 「私の名前は%sです。 n )、、  自分の名前 );  

GNU GetTextは、C ++、Objective-C、SH Script、Bash Script、Python、Ruby、Gnu Clisp、Emacs Lisp、Librep、Gnu Smalltalk、Java、Gnu Awk、Pascal、Delphi、Gambas、WXWidgets(wxlocal classs)、ycp、permed、aast2、wxwidgetsにも含まれています。の用法 getText これらのシステムでは、通常はCのシステムと非常によく似ています。

xgetText ソースファイルはaに分析されます 。ポット -ファイル ( ポータブルオブジェクトテンプレート )すべての翻訳可能なテキスト(文字列)のリストを含む。上記の例では、.potファイルのエントリは次のようになります。

#:src/name.c:36  msgid  「私の名前は%s.n」  MSGSTR  ""  

翻訳者 [ 編集 | ソーステキストを編集します ]

翻訳者はaを作成します 。後 -ファイル ( ポータブルオブジェクト )プログラムのテンプレートから msgin そして、翻訳を作成します。 msgin 翻訳を初期化するので、英語の翻訳を作成したい場合は、 msgin 次のように呼び出します:

msginit  -  locale = en  -  input = name.pot  

この呼び出しはファイルen.poを作成し、このファイルのエントリはzになります。 B.次のように見えます:

after-content-x4
#:src/name.c:36  msgid  「私の名前は%s.n」  MSGSTR  「私の名前は%s.n」  

翻訳者は、対応するテキストを手動で、またはPoEDITやローカライズ(以前のKbabel)などのツールを使用して置き換える必要があります。作業が完了した後、サンプルエントリは次のようになります。

#:src/name.c:36  msgid  「私の名前は%s.n」  MSGSTR  「私の名前は%s.n」  

最後に、.poファイルはあります msgfmt バイナリで .mo – ( 機械オブジェクト ) また。 .gmo -files( GNUマシンオブジェクト )翻訳。これらは、ソフトウェアパッケージで配信できるようになりました。ライブラリがファイルを見つけるように、それは現在1つにあります(たとえば、関数によってCで bindtextdonomain( 名前 、「/usr/share/locale」) )事前定義されたディレクトリをコピーしました。呼ばれるオブジェクト name.mo 名前 それは ドメイン 、したがって、例えばB.最初の議論として与えられたプログラムパッケージの名前 bindTextDomain() )。 メッセージオブジェクト その後、中にあります /usr/share/locale/ /lc_messages/name.mo

ドイツのプログラマーが英語で元のテキストを書くことも望ましいことがよくあります。そうしないと、翻訳者はドイツ語とターゲット言語の両方を習得する必要があります。別の戦略は、文の代わりに短い用語(「Form_Submit」など)を使用することです。一方では、これらの一般的な「スニペット」をコード内のいくつかの場所で使用できるが、ローカリゼーションファイルで1回だけ翻訳する必要があるという利点があります。文全体で同じ効果を達成するためには、兆候のこれらの兆候は同一である必要があり、これは非常にエラーが発生しやすいです。一方、このコンテキストの維持により、特に短い文や個々の単語でも発生する可能性のある言語的曖昧さを回避できます。たとえば、一方では並べ替え順序で「注文」を「注文」し、他方で「注文」として使用する場合、1対1の翻訳で困難がありますが、コンテキストに敏感な用語を使用するときに「Order_by」を使用し、「submit_ Order」を使用できます。

ユーザー [ 編集 | ソーステキストを編集します ]

UNIX(またはUNIXのような)システムのユーザーは、周囲変数を使用してローカルを定義します lc_all LC_MESSAGES また。 ラング 言語

言語は、「領域」で設定されているWindowsで自動的に使用されます。

プログラムは、1つの.MOファイルが存在する場合、対応する言語でテキストを発行します。適切な.MOファイルがない場合、プログラムは、通常は英語で書かれた言語を使用します。

  1. ftp.gnu.org (2022年11月5日アクセス)。
after-content-x4