ストーリーをさまざまな言語で再生できるようにしたい場合、英語以外の言語に翻訳するためにストーリーからテキストを「抽出」する方法はありますか?
私が考えているのは、JavaWebアプリケーションのプロパティファイルのようなものです。
ストーリーをさまざまな言語で再生できるようにしたい場合、英語以外の言語に翻訳するためにストーリーからテキストを「抽出」する方法はありますか?
私が考えているのは、JavaWebアプリケーションのプロパティファイルのようなものです。
あまり。Constant
Inform 7コンパイラは、これ自体の一部を実行します。コードをInform 6に変換するときに、生成されたコード内のディレクティブとしてすべての文字列リテラルを引き出します。ただし、生成されたコードを編集することは、ゲームが終了し、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.
翻訳されたゲームで英語名を一致させたくないため、Informがプレーヤー入力と一致するときにオブジェクトのソースコード名を使用しないようにするために「private-named」を使用していることに注意してください。