2011-03-09 3 views
3

私のストーリーを多様な言語で再生できるようにするには、英語以外の言語に翻訳するためにストーリーからテキストを "抽出"する方法はありますか?Inform 7でi18nが可能です

私が考えているのは、Java Webアプリケーションのプロパティファイルのようなものです。

答えて

4

Inform 7コンパイラは、コード自体をInform 6に変換するときに、生成されたコード内のすべての文字列リテラルをConstantディレクティブとして取り出します。しかし、生成されたコードを編集することは、ゲームが終了し、I7で決して編集されないことを100%保証していない限り、問題を求めているだけです。

すべての文字列リテラルを置換句に移動することで、ゲームを国際化することができます。だから、代わりに:

Home is a room. "This is your house." 

あなたは持っていると思います:

Home is a room. "[home description]". 

To say home description: say "This is your house." 

を次にあなたがすべてのそれらの拡張子の定義を「言うこと」、および拡張の翻訳版を作成することによって、ゲームのローカライズを置くことができます。

ただし、これらの置換はの出力でのみ機能します。オブジェクト名、トピック、動詞の文法など、プレーヤーの入力と一致するテキストを国際化するには、関連する定義とルールをエクステンションに移動する必要があります。例えば

、オブジェクト名のために:あなたはしたくないので、

[in the main game code] 
The widget is a thing. It is privately-named. 

[in the English extension] 
Understand "widget" as the widget. 

ノート「個人の名前」の使用、プレイヤーの入力を照合するとき、オブジェクトのソースコード名を使用してからの通知を停止します翻訳されたゲームで一致させる英語の名前。

関連する問題