25/06/15 23:33:18.07 5+yigztT.net
相変わらず遅々として進まない、父の日だけにね(ニゴッ
まさかこのスレでこのネタを4回もやるとは思わなかったよ……
英語翻訳は上記のようにAI君にやってもらっているのだが、
単なる作業と思いきや会話していると色々英語の勉強になって意外と楽しい。例えば
中央都市:国の首都であり、高い教育水準を誇っています。 この都市の出身者は技量値が高くなる傾向があります。
の「中央都市」の英訳を幾つかオナシャス!と頼むと
この都市の特徴を考慮すると、以下のような英訳が適しています:
- Capital City(シンプルに「首都」を表す一般的な訳)
- Metropolitan Capital(教育水準が高い都会的な首都を強調)
- Academic Capital(学問や教育の中心であることを強調)
- Scholar’s Haven(学者が集まる知識の中心地というニュアンス)
- High Education Capital(高い教育水準を持つ都市であることを強調)
「技量値が高くなる傾向がある」という点を考慮すると、「Refined Capital City」 や 「Skillful Metropolitan」 という表現も適しているかもしれません。
イメージに合うものはありますか?
と返してくる
だが、地理的に「中央」であることを強調したいので「Central Capital City」はどないや?と聞くと、
"Central Capital City" は、都市の特徴を明確に伝えつつ、首都であることを強調できる良い選択肢です!
ただ、英語では通常「Capital City」で首都の意味が十分伝わるため、「Central Capital City」は強調しすぎて少しくどい印象かもしれません!
と持ち上げつつやんわりとダメ出しされ、ぐぬぬ……となったりして割と楽しい(結局シンプルに「Central City」にした)
まあAI君、たまに堂々と間違ったことを言うので裏取りは必要になるんだけどね
でもこのペースだとマジで3か月コースになりそう、まあ父の日だからね、しょうがないね(意味不明)
951:Text Dungeon(英語化)
25/06/19 23:51:01.13 rg8+gcaO.net
↑で「20か国語対応いける!」などとはしゃいでいたが、翻訳作業を進めるにつれ、
んなわきゃないことがようやく分かってきた(知力3)
固定の文章だったらその対訳をデーターベース(JSONファイル)に登録するだけでいいが、
ゲームなので当然ながら文章は常に固定ではなく一部が動的に変わるケースがある
例えば「輝くロングソードを拾った」という文章だったら「ロングソード」が「バックラー」になったり、
また、「輝く」が「光る」や「古ぼけた」になったり、ゲーム中の状況に応じて単語が動的に変わるわけだが、
言語によっては冠詞や形容詞が名詞の性(男性名詞か女性名詞か中性名詞か)、数(単数か複数か、言語によっては双数という区分もある)、
格(名詞の文章上の役割、主格、所有格、目的格など)によって変化することがある
例えばドイツ語の場合、「輝くロングソードを拾った」はロングソードが男性名詞で、単数で、直接目的格なので
冠詞はein、形容詞(輝く)はglanzendes になるが、これがバックラーだと女性名詞なので冠詞がeinen、形容詞はglanzendenになる
また、「輝くロングソードは炎に包まれた」のようにロングソードが主格になった場合も冠詞、形容詞が変化するし、
さらにロングソードが単数か複数かによっても変化する
おまけに変化の仕方も必ずしも一定の規則に従うとは限らず、不規則変化する単語もある
(ドイツ語はほぼ規則的に変化するが、フランス語やロシア語などは不規則変化する単語が多い)
よって、単に「ロングソード」や「輝く」の対訳を一つ登録するだけでなく、
名詞ならそれが男性名詞か女性名詞か中性名詞かを登録する必要があるし、
不規則変化する形容詞だったらその変化形をデータとして登録する必要がある
さらに冠詞や形容詞を動的に変化させるための処理をプログラム側で実装する必要もある
無論、変化の仕方(どういう場合にどう変化するか)は言語によって異なるので、
言語ごとにその処理を実装しなければならない
要するに言語ごとのJSONファイルを用意さえすれば多言語対応できる、
などという甘い夢はひとひらの幻となり、時の淵へと沈んでいったのである(唐突な文学的表現@AI)
952:Text Dungeon(英語化)
25/06/20 00:14:53.92 4tDnrhMf.net
で、結局どうするかだけど「英語だけ対応してあとは諦める」方向にしようかと(人生諦めが肝心)
もしかしたら中国語(簡体字)にも対応するかもしれない
(中国語には冠詞も形容詞の変化もないようなので比較的楽そうな気がする、気がするだけかもしれないが)
そもそもText Dungeonをローカライズしたいという有志が現れる可能性は0.01ppmくらい(適当)だし、
億が一そんな人が現れたら、その時はその時で対応すればいいと思うのである
一応、固定文でない言葉はクラス化して属性なり変化形なりのプロパティを後からつけ足せるようにしておけば
億が一の事態が発生した場合も柔軟に対応しやくなる、はず
例えばクリーチャーの名前だったら
public class CreatureName
{
public string Name { get; set; }
public string Plural { get; set; } //複数形
public string Quantifier { get; set; } //量数詞
//public int Gender { get; set; } //性(後で追加する……かも)
public CreatureName() //コンストラクタは日本語とする
{
Name = "名無し";
Plural = string.Empty; //
Quantifier = "体の";
//Gender = 0;
}
}
みたいにしておいて、後から男性名詞やらなんやらに対応するときはGenderプロパティを追加する形にしようと思う
他にも「こうしといた方がいいよ」とか「こういう場合はどうするんだ」など意見や疑問があったら書いて貰えるとありがたい
なんて言ってもレスは無いことは分かっている。いいんだ、AIと勇気と456氏だけがともだちさ(一方的な友達認定)
953:456
25/06/20 00:45:15.12 CAVCWRzU.net
こまけえことは気にすんな
誤訳も個性って事にしとけばええんよ(思考停止)
954:Text Dungeon(英語化)
25/06/20 21:22:53.20 4tDnrhMf.net
すみません、バックラーは男性名詞でした
なんてこった、これがゲルマン魂ってやつか(意味不明)
>>951の「バックラー」は「プレートメイル」に置き換えてお読みください
>>953
そうですね、某ファイナルソードも翻訳がアレで却ってウケた感がありますし(尚、日本でしかウケなかった模様)
JSONファイルでの単語置き換えは簡易翻訳ということで、良かったら使ってください(自己責任で!)という感じにしようかと
955:Text Dungeon(英語化)
25/06/24 22:01:27.89 P292I//X.net
キャラメイク画面の英語化がようやく一通り完了
URLリンク(imgur.com)
だが、また細かいところで気になっていて、「通称」「名前」が今はこの順で並んでいるのだが、
英語だと異名や二つ名などは名前の後に来ることが多い
例えば「ドラゴン殺しのローレ」なら「Lore the Dragonslayer」になるので、
英語版では「名前」「通称」の順に変えるか、また、多言語対応するならJSONファイルで順序を設定出来るようにすべきかもしれない
この行き当たりばったりで作るわりに細けえところで妙に悩む癖、どうにかなりませんかね(他人事)
まあ悩んだ挙句、とりあえず保留にするのがいつものパティンなんですけどね
さらに「体力」「技量」「運勢」の3つの能力値は某ゲームブックをパ、参考にしているのだが、
元は英語で「Stamina」「Skill」「Luck」で、「Stamina」は何となくしっくりこないのでVitarityに変えるとして、
「Skill」をそのまま採用すると剣術、呪文詠唱などの「スキル」と被ってしまう
「Skill」をProficiencyとかCompetencyにするとやはりしっくりこない上に長すぎるし、
いっそPowerにするか、或いは「スキル」の方をTalentとでも訳すか、なかなか悩ましい
……とりあえず保留にしとこう(いつものパ)
956:Text Dungeon(英語化)
25/06/28 00:59:31.23 zzXrp4sr.net
名前などの個別設定画面も英語化完
URLリンク(imgur.com)
タイプと出身地は選択すると説明が表示されて、それからEntで決定するように仕様変更
URLリンク(imgur.com)
英語
URLリンク(imgur.com)
これからようやっとゲーム本編の英語化に移るが、本編もチップツールなどを使って、
アイテムや呪文などの情報を簡単に見られるようにUIを改良したいと妄想している
あと、日本語を英語化するとどうしても文字数が増えがちなので(漢字って便利)、
改行をオートで行うなどメッセージ周りの仕様を変更する必要もあるかもしれない
3か月コースと言ったが6か月コースになりそうな悪寒……でもまあ少しずつ作っていきますよ!(次スレ必須)
957:Text Dungeon(英語化)
25/07/07 22:58:56.10 O48nZ/qv.net
本編を英語化し始めてからようやく気づいたのだが(またこのパ)、
今のやり方だと「続きから」でゲームを再開したとき、一部が英語化されないことが判明した
何故かと言うと、現在の仕様ではゲーム内のアイテムやクリーチャーは
ゲーム開始時に生成用テーブルに従って名前、重さ、体力などの各プロパティが割り振られる
例えば「治療の薬」や「ゴブリン」がそれぞれのテーブルからインスタンス化される
しかし今のやり方では、その生成テーブル(の一部)を英語化しているだけなので、
すでに生成された後のインスタンス(=セーブデータに保存された情報)には反映されない
つまり再開しても英語にならないのである
それで、幾つか対応を考えてみた
(1) セーブデータをロードする時、データ内の全てのインスタンスをスキャンして、
英語化すべきプロパティがあったら英語にセットし直す
(2) インスタンスごとにプロパティを持たせるのではなく、
共通の値を持つプロパティは1つのデータとして共有参照し、そこを英語化する。
(例:ゴブリンの「ゴブリン」という名前は全インスタンスで共通 → 名前は共有参照データとして「Goblin」に置き換え)
(3) 諦める(人生諦めが肝心)
「今日は日本語でプレイしよう」、「今日は英語の気分だな」みたいな感じで
ゲーム再開のたびに言語を切り替える奴はおらんやろ……
正直(3)で誰も困らない気はするのだが、これまで各インスタンスが全プロパティを保持していたのは
はっきりいって冗長すぎた(ゲーム本体は1MB足らずなのにセーブデータは5、6MBあったのはこのせい)ので、
この機に(2)のやり方でデータ構造を見直そうと思っている
何が言いたいかというと、6か月コースが早くも9か月コースになりそうってこと(期間が3か月ずつ延びていく恐怖)
こんなに苦労しているのだから、リリースされたら大ヒット間違いなしだな!(エフォート・ジャスティフィケーション)
958:Text Dungeon(英語化)
25/07/07 23:11:10.12 O48nZ/qv.net
で、早速(って言うか、しばらくこれに手こずっていたのだが)ポーションのデータ構造を一部共有化してみた
こんな感じで日本語版でデータをセーブして
URLリンク(imgur.com)
タイトルに戻って英語版に切り替えて、ゲームを再開すると……
URLリンク(imgur.com)
ちゃんとポーションの名前が英語化されてる!(ご満悦)
URLリンク(imgur.com)
尚、共有化すべきなのは名前だけじゃなく、複数形の名前やポーションの説明文などもある
こういう「一種別について複数のプロパティをまとめて共有化/英語化」したい場合、JSONよりもCSVのほうが扱いやすいので
それ用のCSVを準備することにした、こんな感じ↓
URLリンク(imgur.com)
準備するファイルが増えていってどんどん複雑化していく悪寒……
まあ、なるようになーれ(AA略)
959:Text Dungeon(英語化)
25/07/17 21:57:49.42 BQA9x4Yr.net
Potionのデータ構造を見直したついでに、MODでユーザーが新規ポーションを追加できるようにしてみた
需要があるか分からないが(無い)、以下コード込みで手順を公開
まずMod製作用に公開するAPI(DLL)を用意
URLリンク(imgur.com)
全てinterfaceで定義して、ゲーム本体のクラスには直接アクセスしない方式にした
が、全部(または一部)publicにして本体を参照するやり方が簡単でいいかもしれない……次回作はそうしようかしら(10年後)
Mod(DLL)のコード
URLリンク(imgur.com)
上のAPIを使って新規ポーションの実装とDLL読み込み時の初期化処理(インスタンス受け取り)を行う
今回は「エリ草ー」(Potionじゃないし)と「ヤバい薬」(飲むと死ぬ)を実装
世界観ぶち壊しだけどModならまあええやろ(自作自壊派)
本体側のMod呼び出しクラス
URLリンク(imgur.com)
Modsフォルダー内の.dllを検索して、初期化(必要なインスタンスの引き渡し)とIPotionの登録を行う
現状では初期化処理を必ずMOD側で記述してもらう必要があり、この辺はまだまだ検討の余地がありそう
その他、IPotionをDictionaryに登録するクラスを作ったり、IPotionをPotionに変換するラッパーを作ったり、
必要なら不確定名を割り振ったり、登録情報を元に実際にPotionをゲームに登場させるメソッドを作ったりで、
実際のところAPIやModを作るよりこれらの方が大変だったが、長くなるので割愛
興味ある人がいたら公開しますよ!(いない)
960:Text Dungeon(英語化)
25/07/17 22:15:48.06 BQA9x4Yr.net
そして作成したMod(.dll)をModsフォルダに入れていざゲームを起動すると
怪しいポーションが登場
URLリンク(imgur.com)
飲むと……
URLリンク(imgur.com)
エリ草―の場合、不確定名を""(空文字)にしているので他のPotionと同様にランダムな名前が割り振られる
URLリンク(imgur.com)
飲むと鑑定されて、以後は「エリ草ー」になる
URLリンク(imgur.com)
尚、Modで作ったポーションの英語化(または日本語化)対応は……諦めようと思う(人生諦めが肝心)
Mod(DLL)のstringを自動でJSONやCSVに追加する仕組みとかできなくもないかもしれないが、それはそれでファイルの管理がややこしくなるし、
他のゲームのModでも他言語への翻訳はそれぞれのMod側で対応するのが主流っぽい
それに実際のところこのゲームのModを作る人は多分おらんやろうし……(そもそもプレイする人がいn)
本体の英語化はどうなったかって?じゃまた来週!(遁走)
961:Text Dungeon(英語化)
25/07/17 22:23:33.51 BQA9x4Yr.net
>>457氏
以前MOD用APIについて言及されていたと思いますが、
具体的にこんなAPIがほしいとか、こういう機能を実現したいとかありますかね
わしの実力的に対応できるかは置いといて、検討したいと思います
そんな昔のことは忘れたならば無理に思い出すことはないですが
962:456
25/07/17 23:18:06.35 DOoBRGzR.net
848の発言の事ですかね?
多分アレは自分では無いです。
欲しいAPIがあるかと言われると...無いw
と言うのも人から出されたゲームをクリアしたり出されたお題でゲーム作るのは好きなんですが人の作った物を改造するのは嫌いなんですw
〇〇だったら良いのにと思ったり言ったりはするんですが自分で触ると急に冷めてしまって...嵌ったゲームは逆に縛りプレイを始めてしまうような奴でして...
物語に入り込んでる所メタ発言で急に現実に戻されるのが嫌みたいな?何かめんどくさい奴ですねw
あったら良い機能としてはスイッチかXBoxコントローラーで全部操作可能とか
寝っ転がってやるときはこれが楽でいいんですよね(典型的ダメ人間)
963:Text Dungeon(英語化)
25/07/17 23:39:56.93 BQA9x4Yr.net
>>962
あれ、そうだったんですか
すみません、てっきり456氏の発言かと思い込んでいました
確かにModはメタ的というか、特にDLLだとプログラミングなので現実世界に引き戻される感がありますね
コントローラー対応は確かにあった方がいいですね(販売する気なら尚更)
ぼちぼち検討してみたいと思います
>>851氏
失礼しました
改めて何かご意見や希望等ありましたらお願いします
そんな昔のことは忘れたならば無理にry