08/05/04 15:42:01
サロゲートペアよりも合成文字の方がやっかいだと思う。
158:デフォルトの名無しさん
08/05/04 15:53:31
ケンタッキーフライドチキンとか
159:デフォルトの名無しさん
08/05/05 01:34:14
サロゲートと結合文字の処理は.NETでも開発者まかせみたいだし、ある程度妥協が必要かも。
・サロゲートペア304文字はどうせマイナーな漢字だけだから入力の時点で強制削除。
・結合文字はJIS0213に規定されてる200種類ぐらいを等価の1文字に置換。その他は結合せず放置。
とした上でwchar_tの1要素1文字を実現するのはどうか?
どこかに真面目に処理してる実装例はないものかね。
160:デフォルトの名無しさん
08/05/05 02:02:55
Vistaのメモ帳(っていうかEditコントロール?)は真面目にやってるね。
「は」と「゜」の合成で「ぱ」にするとちゃんと1文字になって、BackSpaceで削ると
「は」になる。
161:デフォルトの名無しさん
08/05/06 23:10:31
windowsのwchar_t(UCS2)を素直に使おうかどうか迷ってます。
あまり問題にならないなら使いたいのですけど、
特定の言語では困るなんて事例があれば聞きたいです。
162:デフォルトの名無しさん
08/05/08 00:10:22
>>155
IS_SURROGATE_PAIRか何か
163:デフォルトの名無しさん
08/05/12 15:27:46
VisualStudioでは各国語のリソースDLLを作るのが普通なの?
gettext的な手段の方がユーザサイドで対応できる分、優れている気がする。
164:デフォルトの名無しさん
08/05/12 19:47:18
リソース追加だってユーザサイドで対応できるだろう。
俺が配布してた日本語・英語対応のツールでも、台湾人が勝手に
中国語リソース追加して再配布してたよ。
165:デフォルトの名無しさん
08/05/12 20:04:18
敷居が上がる上に色がつくけどな
166:デフォルトの名無しさん
08/05/15 21:19:21
WindowsのサテライトDLLは便利なんだが、ユーザー別で指定した言語
にしたい場合(例:日本語OSで一時的に英語表示で動かしたい等)には、
むしろ邪魔なんだが、サテライトDLLをロードしてくる挙動をMFCアプリ
ケーション内でオーバーライドしたい場合、なんかいい方法を知ら
ないか?
URLリンク(msdn.microsoft.com)
ユーザーのデフォルト言語を設定するSetUserDefaultUILanguage()なんて
APIは存在しないので、とりあえずCWinApp派生クラスのコンストラクタ
内で、
SetThreadLocale(MAKELCID(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US),SORT_DEFAULT));
とかやったみたが、ダメだった。
167:デフォルトの名無しさん
08/05/17 10:11:46
>gettext的な手段
ってなに?
168:デフォルトの名無しさん
08/05/17 10:52:44
URLリンク(www.sepia.dti.ne.jp)
169:デフォルトの名無しさん
08/05/17 20:24:49
サンクス
170:デフォルトの名無しさん
08/05/18 10:00:14
メッセージカタログってのもあるよ。
171:デフォルトの名無しさん
08/05/19 15:10:48
サロゲートペアや合成文字を処理するのに使う.NETのSystem.Globalization.StringInfoクラスみたいなのを
Win32で記述したものはないんですかね。
172:デフォルトの名無しさん
08/06/28 15:35:42
日本語化職人が見てるかもしれないから残しとく
gettextを使ってるソフトの日本語化(Win)
・.moファイルとは日本語翻訳ファイル(バイナリ形式)
・編集するのは.moを変換する前の.poファイル(テキスト形式)じゃないと出来ない。
・PoMoConverterを使うとGUIで分かりやすく.moと.poを相互変換できる。
・.poファイルの編集はPoedit(テキストエディッタで開いて直接弄っても出来る)
・Poeditで文字化けするときはリンク先URLリンク(wiki.livedoor.jp)
・.poから.moへの変換はPoeditでもPoMoConverterでも
173:デフォルトの名無しさん
08/06/29 10:02:42
まとめ乙
174:デフォルトの名無しさん
08/07/11 22:44:29
多言語対応の必要があって、gettextについて調べてみた。
ググってすぐ見つかる例では英語の文章をそのままキーにしてるみたいだけど、
例えばキーが動詞+目的語みたいな英文の場合、
GUIのボタンのラベルの場合 -> 多分直訳でOK
その他の表示メッセージの場合 -> 多分~して下さいと訳す必要がある。
というような文脈による違いがあると思う。
そのへんはどうやって解決するのがスタンダードなやり方なんだろう。
メッセージのカテゴリを示すような複合キーがどうしても必要な気がする。
175:デフォルトの名無しさん
08/07/12 12:24:29
そりゃメッセージごとにキーを定義して文章本体はカタログに移すんでしょ。
キーはたとえば
MSG_HOGE_HOGE (普通のメッセージ), TIT_HOGE_HOGE (ウィンドウタイトル),
TT_HOGE_HOGE (ツールチップ)とか。
176:デフォルトの名無しさん
08/07/12 14:41:50
>>175
なんか違うツールの話をされてる気がする。
gettextでもソースに埋め込むリテラルを英文じゃなく、
抽象的なキー文字列にすれば、曖昧さはなくなるだろうけど、
そんな例はググってもでないので一般的じゃないんじゃないかと。
177:デフォルトの名無しさん
08/07/12 22:27:44
だったらそれは君の要求が一般的じゃないということでは。
何をもって一般的というかは人それぞれだけど、君の定義ではそうなんだろう。