(実験的)(plain)メニューの多言語サポート
これを使用するには、nPose V3.10 以降が必要です。
これを使用する手順
- すべての詳細に問題がなくなるまで、通常どおりプロジェクトをセットアップします。
- すべての
SET:ノートカードをインベントリにコピーします。 - すべてのカードの名前を選択した言語に変更します。また、
SET接頭辞を、目的の言語の大文字 2 文字の ISO 639-1 コードに置き換えます https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes 。
例: ドイツ語メニューを実装したい場合は、カードの名前をSET:swimからDE:schwimmenに変更します。 また、カード内に何か置き換える必要があるかどうかを調べます (たとえば、MENUPROMPT のテキストなど)。 - すべてのカードをオブジェクトにコピーして戻します。
- オブジェクトをテストします。 ドイツ語ビューアでメニューを使用すると、ドイツ語メニューが表示されるはずです。 ビューアが他の言語を使用している場合は、SET: カードで定義されたメニューが表示されるはずです。
言語を表示したいがビューア言語を切り替えたくない場合は、OPTION|autoLanguage=0|defaultLanguagePrefix=DEを設定することでメニューにその言語を強制的に表示できます (DE (ドイツ語) を言語コードで置き換えます) あなたの選択)。テストが終了したら、この行を忘れずに削除してください。 - 別の言語を追加する場合は、上記の手順を繰り返します。
制限事項
- このアプローチは、ボタンの数が少ないメニューにのみ適しています (LSL メモリ制限のため)。
リード:追加言語の数 = RoundDown(300 / yourNumberOfSETCards) - 1 - 言語の選択は自動的に行われます。 (LSL メモリ制限のため) 別の言語に手動で切り替えることはできません。
- 選択は、ビューアの言語文字列に基づいて行われます。 ユーザーは、スクリプトで読み取れなくなるように文字列を (ビューアのデバッグ設定を介して) 操作できます。 その後、デフォルトの言語 (「SET:」 カード) にフォールバックします。
- ユーザーは、スクリプトによる言語文字列の読み取りを禁止することもできます。これにより、スクリプトはデフォルトの言語 (
SET:カード) にフォールバックします。 - 一部の文字列はスクリプトにハードコードされている場合があります。 翻訳できません。
- 言語検出は
llGetAgentLanguageに基づいています。その他の制限については、http://wiki.secondlife.com/wiki/LlGetAgentLanguageを参照してください。