「自動翻訳」を使用する

question

「表示テキスト」アクションのテキストをpo形式で翻訳したかったのです。ポットジェネレーターにシーンを入れ、特に「表示テキスト」アクション内にテキストが含まれているこのtscnを選択しました。

problem

しかし、po editで読み込むと、なぜか空欄になっています。

何度か試しましたが結果が出ません。何か間違っているのでしょうか、それともポットジェネレーターに入れる前に何か準備が必要なのでしょうか?

空の POT ファイルが期待されるものであり、あなたの環境に問題があるわけではありません。Godot の POT ジェネレーターは、Label や Button ノードの text プロパティ、スクリプト内の tr() 呼び出しといった標準的なソースから文字列を取得する方法しか知りません。Display Text アクション内のテキストは AGMaker のビジュアルスクリプトデータに保存されており、ジェネレーターはそれを認識して抽出できません。

AGMaker には、そのアクション用の独自翻訳フックがあります。Display Text アクションの [Text Source] を確認すると、[Direct] の隣に [Transkey] オプションが表示されます。これは、入力されたテキストではなく翻訳キーを参照します。

Auto Translate が有効になっている場合、Poedit でアクションに入力されたテキストと完全に一致するソース文字列を手動でエントリを追加し、その翻訳をプロジェクトに読み込んで、ランタイムで置き換えられるか確認してみてください。

最初は少し混乱しましたが、カットシーンで動作するように調整できました。「meanwhile」と表示されるはずで、正しく「mientras tanto」と翻訳されていました。プレイヤーのPCの設定に応じて自動的に翻訳されるようです。例えば、私のPCはスペイン語設定なので、ES(スペイン語)の表示になっていました…これで正しいでしょうか?

はい、その通りです。デフォルトではGodotはプレイヤーのシステム言語を読み取り、それに一致する翻訳を自動的に選択するため、PCの言語設定がスペイン語になっているとスペイン語のテキストが表示されます。もしプレイヤーの言語に翻訳がない場合、ゲームは単に入力した元のテキストを表示するため、言語が欠落していても何も壊れません。

また、プロジェクト設定に「internationalization/locale/test」という設定があり、PCの設定に関係なく特定の言語でゲームを実行させることができます。これにより、システムを変更せずに各言語をプレビューできます。これを表示するには、プロジェクト設定で「詳細設定」のトグルをオンにする必要があるかもしれません。

さらに、PCの設定に従うのではなく、ゲーム内で言語を選択したい場合は、カスタムアクションを使用してそれを実現できるはずです。その段階に達した場合は、ここやDiscordで気軽に質問してください。私が、または他の誰かが喜んでそれを作成して差し上げます。

「いいね!」 3

おお、ありがとう!試してみたら、ばっちり動いたよ。