1read 100read
2012年6月プログラム357: アプリケーションの国際化対応の話題スレ (234) TOP カテ一覧 スレ一覧 2ch元 削除依頼
【えっ】Perlに未来はあるのか?【終わり?】 (821)
【次世代】 Jxtaお勉強スレッド 【P2P】 (600)
【魔法】リリカル☆Lisp【言語】 (209)
強いAI(人工知能)ver0.0.1 (889)
Excel VBA 質問スレ Part24 (908)
Perlを使って2ちゃんねるにHello Worldを書き込む (213)

アプリケーションの国際化対応の話題スレ


1 :05/03/10 〜 最終レス :12/03/19
国際化対応の際の問題全般を扱うスレです。

2 :
ドイツとかフランスで、小数点区切りに . じゃなくて , 使うのは
マジでやめて欲しい。
地域設定をドイツにして Excel で =pi() って入れると、
3,1415 のように表示されるのを真似ろ、ってくらいなら難しくは
ないけど、Excel の CSV 形式入出力をミミックしろとか言われても
ヤヤコシクてやってられん(CSV 形式ってカンマ区切り形式って
覚えてたんだが、欧州ロケールじゃちっともカンマで区切って
ないじゃんかよぅ)

3 :
TSVに統一すればいいジャン
---------------------- 終了 -----------------

4 :
3/10が3月10日なのか10月3日なのかはっきりしてくれ

5 :
そこで10, Marですよ

6 :
XMLだろ。

7 :
当方洋物ソフトの日本語化をやってるんだが
8pt MS Sans Serif で定義したダイアログ テンプレート上で
無理やり日本語表示すると
・2000→文字化け
・XP→異常に汚い
韓国語版や中国語版の Windows ではハングルも漢字もちゃんと
表示できるんじゃん。なぜ日本語版だけ弱いんだろう…
OS X とかはサスガにそういう事ないんだろうなぁ、と隣の芝生を
青く見てみたり

8 :
国際化プログラミング 〜 I18N ハンドブック 〜
http://www.geocities.co.jp/SiliconValley-PaloAlto/8090/
Introduction to i18n
http://www.debian.org/doc/manuals/intro-i18n/
Debian:i18n
http://ukai.org/wiliki/wiliki.cgi?Debian%3ai18n&l=jp

9 :
Java Internationalization & Multilingualization
http://www.ingrid.org/java/i18n/
GNU gettext
http://www.gnu.org/software/gettext/
Pango
http://www.pango.org/
SIL Graphite
http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&cat_id=RenderingGraphite
The International Components for Unicode (ICU)
http://ibm.com/software/globalization/icu

10 :
Windows で同じ 0x005c が、日本語環境では¥マーク、韓国語環境では
ウォンマーク、それ以外(含む英語)ではバックスラッシュが表示される
のはどうかと思う。外人に日本語OSを見せると必ずたまげる
(文字化けしてると思うらしい)
っても、今さら変えられないか。

11 :
\マークはプログラムやTeXなどで頻繁に使うからね

12 :
Java ってよく知らないんだけど、文字列型が Unicode になってるから
国際化が楽、とか聞いた記憶があるんですが、本当の所どうなんでしょう?
文字型は 16 bit 幅? UTF-16 でサロゲートペアで BMP 外の文字を
扱うんだとしたら、Windows のMBCS 処理みたく文字列操作の関数とか
いろいろヤヤこしそうだけど、そういうのもスッキリしてるのかしらん?
どうせメモリなんて数 GB 積める時代だし、文字型 = 32 bit として、
内部表現 UTF-32 などにしたら CJK Extension-B 領域とかも楽に処理
できそうだなー、なんて思うんですが

13 :
知らないなら語るな。

14 :
半可通が跋扈するイソターネットはここでつね?

15 :
Win32APIにUTF-32版さえ加わってくれればUTF-32を使うんだがなぁ。

16 :
http://pc5.2ch.net/test/read.cgi/tech/1109171258/
のスレでやればいいじゃん

17 :
日付、通貨、文字の方向、文字のソート順
単に文字コードだけの問題じゃないんだよね・・・

18 :
>>17
外国語のソートで先頭のtheとかaとか冠詞を無視するやつがあるね。
ラテン語なんぞ性別無視してソートできるのかな。

19 :
>>17にあることなら
ほとんど解決できる問題だね。
Javaなら大抵国際化に対応してる感じだね。
Currencyクラスで通過を設定できる
Localeクラスで国や言語を設定できる。
Localeクラスのフィールドにはすでにいくつか素十ヶ国の言語、国を
表すオブジェクトが用意されており知られた国のロケールは即座に簡単に対応できる。
Dateクラス、CalendarクラスのコンストラクタにもLocaleクラスの
オブジェクトを設定することで国毎に異なる日付フォーマットを
簡単に設定できる。
ResourceBundleクラスで
プロパティファイルを言語毎にわけて管理できる。
config_ja.properties
config_ja_JP.properties
config_us.properties
みたいな感じで
あとは各国の言語に詳しい人間に任せれば済んでしまう問題だね。

20 :
> Javaなら大抵国際化に対応してる感じだね。
冗談キツい

21 :
言語・ロケールさえ決定してしまえばどうにかなると思っている英語圏に人間が多いのが痛い。
日本語でもShift_JIS、EUC-JP、JISなど複数の文字エンコーディングが混在していることまで
アタマが回ってないとしか思えない実装が多いな。

22 :
あと、何でもかんでも国際化すりゃいいってもんでもない。
本文が Shift JIS な出力データに、勝手にプログラムが勝手に UTF-8 な日本語で付加情報をつけたり・・・。
subversion、おまいだよ(w

23 :
文字のソートって難しそうだけど、データベース関連とかどうやってるの?
日本語や中国語が混在したテキストで画数順とかに並べるのって簡単なの?
例えば読み順で並べ替えとか簡単にできるような仕組みがあるんですか?
Win32 ソフト開発しかやってないうちは Unicode コードポイント順に
ソートしてるんだけど、東欧のアクセント文字とか中国語とか、かなり
デタラメに並ぶので非常に評判が悪い

24 :
Unicodeの文字照合ってTRになってたろ。

25 :
TR って何?

26 :
Technical Reportsのことではないかと。
http://www.unicode.org/unicode/reports/

27 :
http://pc5.2ch.net/test/read.cgi/linux/1105419571/562-566

28 :
GB 18030 対応ってどうよ?
中国市場で売るには、GB 18030 エンコードをサポートしなきゃ
だめよん、って法律があるって聞いたんですが、実際に発売中止に
なったという話は Windows ME 以外には聞いたことない
ユニコードすら通らないアプリも多いんだから、今中国で売ってる
ソフトが全部対応済みとは思えんのだが…

29 :
このスレ意味わからん
簡単に説明してくれ

30 :
>>28
libcレベルの話ならwchar_tが4オクテットあるシステムならGB18030なlocale
を用意すればOK。wchar_tが2オクテットしかないWindowsについては知らん。

31 :
>>30
Windows は wchar に格納されるのは UTF-16 エンコードされてるんで
コード自体は問題なく格納される。サロゲート ペアの文字もエディット
コントロールなどでちゃんと1文字づつ編集できる
なのだが問題はOSのUIが標準で使ってるフォントに GB 18030 で拡張
された文字のグリフが入ってない事。データを渡しても□□□□
みたいに表示される(.NET Windows Form のデフォルト フォントもそうだ)
非Windows 系のOSの標準UIフォントってちゃんと多言語対応してんの?

32 :
GB18030サポートパッケージとそのSDK入れれ
簡体字中国語版Windowsには標準で入ってるんだろ

33 :
GB 18030 インストールすると SimSun-18030 ってゆーフォントが追加
されるんだけど、ダイアログとかにそのフォントを使ってやらないと
ダメじゃん。自動で Tahoma に Fontlink してくれたらいいのに
で、それなら、という事で UI のフォントを全部 SimSun-18030 固定で
作ると、小サイズの英文や日本語のビットマップが入ってないので、
今度は 8 - 9 pt の非中国語表示がガタガタになるという
(+ Simsun (Founder Extended) だと表示できる非BMPのコードポイント
の表示もダメになっちゃう)
あちらを立てればこちらが立たず。Longhorn 待ちというのがFA?

34 :
メニューがOSによって英語になったり日本語になったりするソフトはどのようにすれば作れるのですか?

35 :
>>34
WindowsでもLinuxでもSunOSでもMacOSでも動くプログラムの作り方?

36 :
GetLang()="日本語"なら日本語のメニューを作成する
GetLang()="英語語"なら英語のメニューを作成する

37 :
>>34
.NET だと言語サブフォルダにUIだけ含めたサテライトDLL入れて実現可
フレームワークが勝手にOS言語拾って切り替えてくれる
EXE 置いてあるフォルダの下に ja-JP とか en とかあったらたぶんそれだ
MFC も同じような感じで言語DLLを拾ってくれる機能があったはず
Mac や Linux はどうやってんの?

38 :
C++Builderの場合はどうしたらよいのでしょうか?

39 :
>>37
gettext
英語の文字列を埋め込んどいて、それを元に引っ張ってくる感じ

40 :
>>33
あれ、リンクしてくれなかったっけ? と思ったらMingLiU-HKSCSとごっちゃにしてた
スマン

41 :
>>37
Win32にでも言語の数だけリソース入れとけばOSがテキトーに選んで拾ってくれる

42 :
そーいやぁ想像を超えるすごい国際化してるソフトを思い出した
値段を入れる欄に100と入れると自動的に\100と表示される
でもって同じソフトを英語OSにインストールしてそのデータファイルを
開くと、同じ物が$100と表示されるという

43 :
どうせ実はエクセルというMSに対する皮肉と見た

44 :
テキストファイルでも100円が100ウォンに化ける罠

45 :
>>41
そういやーそうだった
しかし VS .NET 2003 になっても未だにフル Unicode でソース
やらリソース書いてすっきり国際化、ってわけにはいかんのは
ちと残念
.NET の .cs ファイルとかデフォルトで Unicode エンコーディング
にしちゃえばいいのに、とか素人は考えるのだが...

46 :
Visual SourceSafe 6.0 がUTF-8非対応っていう罠があったりするんだよね。

47 :
オープンソースで国際化の参考になるやつはありますか?
(OpenOfficeとかFirefoxとかではない、単純で理解しやすいものが希望です)

48 :
ワードプロセッサのような、言語ごとの記法(禁則処理とか、ハイフンとか、
縦書きとか双方向テキストとか)までは考えなくていい、単なるメッセージ
のみの置き換えのことなら、それこそgettext使ってるものならなんでも
よいでしょう。

49 :
おまいら、Unicode でデータ書くとき UTF-16 にする? それとも UTF-8?
あるいはまんま UTF-32?
UTF-8 にすると非ASCII 文字は3バイト以上になるから…と思ってると
案外ASCIIの割合が大きくてファイル サイズは大して変らないって
経験あり
Windows メモ帳の"Unicode"は UTF-16 LE (BOM付き)だから、なんとなく
それにあわせてるが、世の中一般ではやってるのは何?

50 :
UTF-32は聞いたことがないな

51 :
UTF-8。
UTF-16はもう死滅すべきものではないかと思うんだが。

52 :
UTF-8はBOM付ける派? つけない派?

53 :
自分はブラ着けずに寝る派です

54 :
>>53
地味に面白い。
おまえのようなセンスの人間と仕事をしたい

55 :
>>50
つ【http://www.unicode.org/reports/tr19/tr19-9.html
>>53
や・ら・な・い・か?

56 :
せっかくインターネットをしてるのに情報源はほとんど日本ばかり。
寂しい話だよな。ネットやマシンについて詳しいのに だ。
インターネットでやり取りされる70%以上は英語だ。
遊びで使うならともかく 最低限のこととして言語部の国際化くらいはしようぜ!

57 :
>56
日本語覚えてから言え。

58 :
>>56
同意 インターネットをすると日本はひょっこりひょうたん島って感じやな

59 :
>>56
お前が言っている国際化とソフトウェアにおける国際化は全くの別物なのだが。

60 :
WindowsでOSの言語を知りたい場合、どのようにすればよいのでしょうか?

61 :
マイコンピュータのところを見て、
我的電脳って書いてあったら中国語版。

62 :
WindowsでWindowsAPIを使ってOSの言語を知りたい場合、どのようにすればよいのでしょうか? 

63 :
GetLocaleInfo

64 :
Windows OS の言語とは別にコンパネから「標準と形式」、「場所」の2箇所の
設定ができるけど、これを取得するにはどうすんの?
あとマルチリンガル ユーザ インタフェースってのが MSDN にあるけど
これ入れると GetLocaleInfo ってだまされるの?

65 :
Linuxの現在のOSの仕様言語を取得する方法を教えてください

66 :
仕様言語って?

67 :
犬板に帰れクズ

68 :
こまるのが日付の表示フォーマット
m/d/y
なのか
d/m/y
なのか表示だけでは判断できない事がある

69 :
>>68
そんな貴方にISO 8601。

70 :
>>65
localeのことなら、プロセスごとに指定できる。
分野(日付時刻・エラーメッセージ・通貨単位・文字照合規則etc.)
ごとに個別指定もできる。

71 :
C++のロケール(stl::locale)回りについて、詳しい参考文献かサイトがあれば教えてください。

72 :
12-04-03
mm/dd/yy
dd/mm/yy

73 :
多国語に対応する場合、どうやるのが定石ですか?
リソースDLLを各国語ごとに用意して起動時に読み込み?

74 :
UNICODEも一つの方言になりかねなさそうだな

75 :
yy/mm/ddもあるよ

76 :
>>72
dd/mm/yy は少数派な希ガス。

77 :
>>73
MFC開発関係のスレで聞いた方が良いと思うぞ。
ちなみに、先日、客にDLLを作成しますと言ったら、工数がかかるから止めてくれと言われてしまったよ。
とほほ。

78 :
C++Builderを使っています。

79 :
なら、C++ Builderのスレか、Windows開発のスレだ。

80 :
Delphiでの国際化対応の話はここでいいのでしょうか?

81 :
それではどうぞ

82 :
>>77
リソースをDLLに分けるのってアホらしくない?
UIかえたらそのつど整合性保たなきゃいけないし。
Unicodeでソース内部で保持しておいて
言語とID指定してmapから取り出すほうが簡単なんだけど...
ただ、リソースの編集とかはできなくなりますが...

83 :
別にexeに統合したってかまわないし

84 :
WindowsXPで中国語にトライしています。
Windowsの国を判断し、フォントと文字を切り替えるようにしています。
日本語でコンパイルし、地域と言語オプションの地域オプションと詳細を中国語にし
て起動すると、
簡字体中国語が正しく表示されません。
中国語でCBuilderを起動し(文字がくちゃくちゃ)調べると、フォントプロパ
ティの文字セットのところが空白になっていました。
もともと日本語にしてあったので、当然かもしれませんが。
そこでフォントプロパティの文字セットを中国語にすると表示されました。
フォントプロパティの文字セットをソフトで切り替えたいのですが、
どなたかフォントプロパティの文字セットを設定する方法ご存じありませんか。

85 :
>>82

OSのバージョンによって、読み出されるリソースの優先順位が異なるからさ。
NT4.0とか、Win2kのインターナショナル版とか、ちゃんとサポートしろといわれたら
DLL決めうちでリソース選択するしかない。
英語+日本語ぐらいならあんまり変なことにならないけど、四カ国語ぐらいサポートする場合はさ。
が、確認してないけど最新のMFCでは問題ないという噂もあるけどさ。

86 :
http://www.codeproject.com/cpp/mult_lang_support.asp
(AfxSetResourceHandleを使って)上記通りにやると
ツールバーのツールチップ、ステータスバー
の文字列がおかしいな...とVC6で思ってて
VC7.1で試したらあっさりOKに...

87 :
>>83
たぶん文字(Unicode)リソースをexeに統合という意味だよね。
DLL統合してもメモリからロードできないみたいだし...orz
>>85
そんな事情があったのね。thx.
とにかく明示的にロードしろと、次のバージョンではすっきり記述できるようになってたらいいな...

88 :
scpとrsyncのファイル名に関するI18Nを目論んでいます。
とりあえずはcygwin(cp932)とLinux(EUC-JP設定/UTF-8設定どちらでも)とMacOSXで
cp932相当の文字セットが扱えることが目標です。で、以下のどっちでやるのが正義(ぉ)でしょう?
1) ローカル/リモート双方で、環境依存文字コード⇔UTF-8 NFC 変換する。
⇒ 正義っぽい。でもリモート側も対応バイナリをインストールしてないとNG。
2) ローカル側でローカル⇔リモート変換する。リモート側は単なるバイト列として扱う。
⇒リモート側が未対応でも動く。でもぶっちゃけ美しくない。

89 :
ガキ。随分安直な正義だな。あとそれのどこがI18Nなん? なんか違うような。

90 :
どうもNGワード使ってしまったみたいなんで、そこはスルーで。
(本気で「正義」と思ってるわけじゃないです。為念)
あと、一応多言語対応の枠組みが定められればI18Nになると思ってたんですが、
誤解があったらご指摘ください。
ttp://www.atmarkit.co.jp/icd/root/63/50872763.html
ここからはそれほど外れてないと理解してるのですが。

91 :
ホッシュ ホッシュ

92 :
test

93 :
ほsyr

94 :
http://m17n.org/aboutus.ja.html

95 :
MinGWで作成されてるアプリケーションのメッセージカタログを翻訳したら、作者に
「MinGWは国際化でいろいろ問題あるから、どうにかしようと思っている。gettextかなぁと思うんだけど、どう?」
と軽く聞かれました。
といってもプログラミング上の国際化の手法とかよくわからないので、どなたか詳しい方、
教えてもらえませんか?
gettextでバッチリならそれでいいですし、他にもっと楽/現実的/今風なものがあれば、
それを知りたいのです。

96 :
Windowsってややこしいよ。
日本語版Windowsってコードページ932(Shift-JIS)だけど、この設定って具体的に
どこに影響してるの??
この設定がShift-JISだから、RegsiterClassAで登録したウィンドウの文字絡みの
メッセージ(例えば、WM_CHAR)などでは、Shift-JISコードでやってくることになるの?
これを変えれるかわからんけど、日本語EUCに変えたら日本語EUCでメッセージやってくるのかな?
他にもSakuraエディタ?だけっかなで、フォントの情報みるとMSゴシックとかUnicodeフォントってなってるんだが、
これも意味わからん。どこでどんな変換されてるのか。

97 :
>>96だけど、
Sakuraエディタじゃない、フォントインストーラSakuraだった。
後、MSゴシックはShift-JISになってた。嘘だった。

98 :
>>96
簡体、日本語、韓国語、ドイツ語、英語、の共通アプリ開発したときに調べたが。
その程度でややこしいとか言ってたら、Windowsで国際化対応アプリは作れないぞ。

99 :
>>96
地域・言語の設定の影響がありそうなところををざっと考えて
WideCharToMultiByte/MultiByteToWideChar(CP_ACP/CP_THREAD_ACP)や
日付・時刻の書式関数、文字列比較、CharNext/CharPrevとかが思いついた。

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
プログラミング言語、いくつ使える? (327)
WindowsDDK各種についてのスレ (734)
Gtkプログラミング on Windows!!! (328)
プログラマー的"女の口説き方" (710)
コーディングルールの怪しい伝説 (224)
Androidプログラミング質問スレ Part23 (421)
--log9.info------------------
アタックNo.1 第5セット (481)
だって!!魔法のマコちゃん!!年頃なんですもの (263)
樫の木モック (599)
宇宙大帝ゴッドシグマ (873)
【タイムボカンシリーズ】ヤッターマンPart12 (400)
【がんばれ!渚】戦え!!イクサー1 Act.V (776)
【メーテルのパンティ】銀河鉄道999【24枚目】 (245)
超時空世紀オーガス Part2 (717)
【ロンリー】超攻速ガルビオンpart3【チェイサー】 (832)
プロジェクトA子について語るスレ2 (469)
昔のアニメは古い (760)
◆◆野球狂の詩◆◆ (675)
宇宙皇子スレ (264)
【ぽっちり】じゃりン子チエ【2つめ】 (539)
■■■ジャングル黒べえ■■■ (420)
まんが世界昔ばなし (582)
--log55.com------------------
【XX】ロッシバギー【XXX】
ラジコンボーイを語るスレ
ハイラックス&F-350&タンドラ 8台目
埼玉の良いサーキットについて語る。。W
飛行機・ヘリのラジコンを墜落させたら報告するスレ
【待とう】TB-Evolutionスレ【楽しもう】エボ4
RCラリージャパン Leg1
トップフォース・エボリューション