多言語対応プログラムの実際2

多言語対応プログラムについて、実際の苦労についてのつぶやきをまとめました。 その1はこちら http://togetter.com/li/498837
2

--ルビ

たいにゃん @bugnekotinyan

ルビがめんどくさかった。1文字ずつ表示していくときに、どう表示させるのがよいかという話になって、結局画像と割り切って下の文字にあわせて表示することに、表示途中は文字が途中で切れてたりするけど、「きにしない」で解決

2013-05-06 22:40:14
まかべひろし @sinpen

あー、ルビも面倒ですよね。対象の単語に対してどこまで開くか、みたいな感じにして、ルビが収まらないときはその対象の頭からルビを並べていって、みたいな実装したことあります

2013-05-06 22:56:44

まかべひろし @sinpen

とはいえ、ローカライズの話はプログラマ視点から見て面白いことも多いので、一度どっかで話してみたいことでもあるなー

2013-05-06 22:53:12
じん @jin1016

@sinpen 他言語処理ライブラリをオープンソースで作るしかw みんなに拡張してもらって、世界中の言語に対応するw

2013-05-06 22:55:33
まかべひろし @sinpen

@jin1016 初期設計は、マルチリンガルな人にしてもらいたいですなそれwww

2013-05-06 22:57:14

--UIの文字レイアウト

まかべひろし @sinpen

多言語対応するゲームだと、UIの文字レイアウトが怖い。日本語や英語はまだ単語短いけど、ドイツ語が入るだけで、UIの文字レイアウトどうするのか本気で頭抱えたりする。ヘルプ表示なんかは、ついつい横長スクロールのテロップ表示に逃げたりしたくなる。

2013-05-06 22:24:43
かじわら ゆたか @yutaka_1119

@sinpen たしかにドイツ語と日本語の文字のレイアウトはハマりますね。ドイツのパッケージを日本語化する仕事の時に、一列に入力欄二個並べることできないんですか?みたいな事言われたことあります。

2013-05-06 22:29:23
まかべひろし @sinpen

@yutaka_1119 無理矢理2行化は最初に考えるよねwww その後は、メッセージ表示領域の縦スクロールバー付・・

2013-05-06 22:59:26

--改行

まかべひろし @sinpen

けど、メッセージウィンドウとかあるゲームだと、テロップ表示じゃなく改行せざるを得ない。できることなら、改行は、その文章リソースを用意する時点で「ここで改行する」と指定して欲しい。読みやすさを考えると、手間はかかるけどそれが一番良い、とは思う。

2013-05-06 22:27:51
忍者犬☆乳丸 @opaimar

@sinpen 堀井さんはその辺徹底してたらしいですね。最近のは知らないですが、ピっと押すと展開するという。

2013-05-06 22:31:03
まかべひろし @sinpen

@opaimar ドラクエ初期は特に、漢字使えなかったですしねー。ひらがな+カタカナで読ませる工夫満載ですよアレ

2013-05-06 23:00:25

--禁則処理

まかべひろし @sinpen

もー、そうなると仕方が無いから、禁則処理をプログラムで書くわけなんだけど。日本語でも面倒だよね。自動改行によって行頭に「。」が来ないようにする、とか。でも「名前を変えられる」システムにすると、禁則処理書かないわけにはなかなかいかない。ぐぬぬ、と思いつつ書くわけだ。

2013-05-06 22:33:22
MSX研究所長 @yoshimatsuTUQ

@sinpen 禁則処理をMSXで書いたときは死ねました。ある程度行くと「もういっそのこと、濁点が行頭に来てもいいよね…」とか考えたくなります。

2013-05-06 22:43:04
まかべひろし @sinpen

@yoshimatsuTUQ MSXの時に書いたADVシステムは、そのあたり妥協しまくってましたw 若かった・・

2013-05-06 23:00:55

--禁則処理 その2

まかべひろし @sinpen

日本語は自分の中の常識としてわかるけど、英語やドイツ語でも同じように「!」「?」「;」「:」などを行頭に表示しちゃだめなだけでなく、基本的には「単語も2行にわけちゃいけない」。改行できるのは単語間のスペースだけだったりして、日本語の自動改行処理とは全然違う

2013-05-06 22:38:21
勝(まさる) @masaru0714

@sinpen LaTeX のフォーマッティングを思い出します。行ごとに文字間の幅を調整して、でこぼこにならないようにがんばりますね、あれ。

2013-05-06 22:41:14
まかべひろし @sinpen

@masaru0714 「綺麗な文字表示」は永遠の課題かもしれませんねー。最近はフォントメーカーさんが無茶苦茶頑張ってくれてますけど

2013-05-06 23:01:46

--種類による表現の変更

まかべひろし @sinpen

手に入れるアイテムの種類によっても、表現を変える必要があったりもする。日本語は「**を手に入れた」でいいのに、それが装備なのか、アイテムなのか、お金なのか、魔法みたいなスキルなのかで、英語やフランス語は言い回し変えたりする。勘弁・・

2013-05-06 22:45:57