SlideShare a Scribd company logo
1 of 76
Download to read offline
NT Committee2         石坂忠広
MVP for Visual Developer C#
   http://www.isisaka.com/
   NT-Committee2会員
   PASS-Jスタッフ
   Microsoft MVP for Visual Developer C#
   なぜ国際化なのか
   従来の国際化(日本語化)
   World Ready
   ローカライズ
   文化・カルチャ?
   企業の多国籍化
   オフショア
     日本語がネイティブでない環境での開発
     コア部分開発とUI部分の分業
   国内市場の行き詰まり
     日本以外のマーケットを開拓する
   すべてが日本語化されるべきと期待される今
    の特権的地位はいつまで続くだろうか
   いずれかの言語でアプリケーションを開発す
    る
     たいていは英語で開発する。
   それを各国語に翻訳する。
     リソースDLLは分かれているか?
      バイナリリソースエディタでテキストを置き換える
     ソースコード内のテキスト文字の翻訳
      sed s/hoge/ほげ/でうまくいくのか
   バイナリリソースエディタ
     そもそもオリジナルの作成者が国際化を前提に、
      リソースを外部DLL化してくれていないといけな
      い。
     確かにテキストの置き換えは簡単にできる。
     エリアからはみ出す文字、余りすぎるテキスト
      ボックス。文字が途中でとぎれるボタン。
     エディタでリサイズ・チェック、リサイズ・
      チェック
     ああ「能」の字が化けてる。orz
   ソースの変更
     ああここも直ってない。。
     一千も二千もあるソースリソースからテキストを見
      つけ出さなくちゃいけない。
     エラーメッセージが英語だよ。
     そ、それは、英語ランタイムが出すメッセージだか
      ら直せないんだよ。。。
     やっぱり「能」の字が化けるよ。orz
     バックスペースしたら、漢字が半分無くなったよ。
   日本語ランタイムと英語ランタイムの違いが
    あり、日本語を正常に扱うには日本語の開発
    環境でビルドが必要。
   でも、どことは言わないけど日本語ランタイ
    ムには英語にないバグがっ
   そもそも開発元が日本語環境でのビルドを許
    してくれない。(ソースを渡してくれない)
   まだこの状態で苦しんでおられる方が多いと
    思います。
   根本的解決策は、なんとしてもソースコード
    を入手すること、翻訳後のソースは向こうで
    管理させることです。
 もしくは、根本的に作り替えるこ
    と!
   言語を問わずシングルバイナリを目指して開
    発すること
   Windowsのもつ国際化対応機能を柔軟に使用
    し、それらの支援を受けながらアプリケー
    ションの仕様決定、開発を行う。
     開発を二つに分ける
     Core CodeのGlobalization化
     リソースDLLによるLocalize
   Unicodeに完全対応したアプリケーションを記述す
    る
   コード内で数値、金銭、日付等のフォーマッティン
    グを直接行わない
   テキスト入力の言語、入力方法の違いを考慮する
   特定のフォントに依存させない
   テキスト中の複数言語混在に対応させる(m17n)
   MUIに対応させる
   UIのローカリゼーション容易性への配慮
   右から始まる言語への配慮(UIのミラーリング)
   UNICODE自体の説明は省きます。
   以下の点はまず注意してください
     Windowsのバージョンによって、対応している
      UNICODEのバージョンが違います。
     その他、Java, VB, VC++(CRT)のそれぞれのバージョ
      ンが持つランタイムでも対応しているUNICODEの
      バージョンが違います
     これで何がまずいか?
      使える文字と使えない文字が出て
       きます
   Windows 2000
     UNICODEに完全対応した最初のバージョン
     UNICODE 2.0
     UCS-2エンコード
   Windows XP / 2003
     UNICODE 3.0
     UTF-16LE以下同様
   .NET Framework
     UNICODE 3.2
     いわゆるJIS2004の文字を含む
   Windows Vista / 2008
     UNICODE 5.0
   SQL Server(7.0以降)
     UCS2 + サロゲートペアに対応
      一応UNICODE 3.0以降の文字もnchar, nvarchar
       フィールドには格納できる。
      ただ、いろいろ問題が。。
      詳しくはPASSJアフタースクールへ(宣伝)
   Officeは?Exchangeは? ???
   アプリケーションをUNICODE対応とするには
   ネイティブコード
     あんまり詳しくやりません(終わらなくなる)
     #define UNICODE
      Visual StudioではWizardの中でチェックをする/しない
     文字列
      LPTSTRマクロを使う(UNICODEがDefineされていれば
       自動的にLPWSTRに変えてくれる)
       文字列定数の前には大文字のLをつける
        LPTSTR str = L”僕の名前は石坂忠広です。”;
      MFCが使えるならCStringクラスを使う
      COMはVT_BSTRで
      これらは相互変換のマクロ、クラスメソッドがある
   .NET Frameworkでの開発
     .NET FxはUNICODEに完全に対応
     内部では文字列はUTF-16でエンコードされる。
      char型は2バイト
     ただし、テキスト入出力とXMLのデフォルトエン
      コーディングはUTF-8なので注意。
     基本的にIEが使用できる文字コード(Shift-
      JIS/EUC.jp)にはファイル入出力の時点で変換する
      ことが出来る。同様にコードページを指定したエ
      ンコード、デコードも可能。
   WEB Page
     基本的にはW3Cの標準通り。
     現状はUTF-8を推奨
   Java
     内部はUTF-8
   コマンドプロンプト
     基本的にUNICODEには対応していない
     ただし、表示できる範囲ではUNICODEとの相互
      変換が自動的に実行される
   Locale(ロケール)
     本来は英語の意味通り地域(ローカル)を表す。
     かつてC言語標準化の中で、ローカル変数の
      「ローカル」と紛らわしいとされ、訳語が「ロ
      ケール」に統一されたと聞いています
     Windowsでは特定の国や地域の言語と文化上の慣
      例を反映させた Windows 設定のコレクションの
      意味です。
   System Locale
     UNICODE以外での言語環境を特定します。
     DOS, OS/2, Win16でのCode Pageに該当します。
     いわゆるANSI APIが使用された場合、この設定に
      より実際の言語・文字コード(CP)が特定されます。
   User Locale
     User毎に設定するLocale。
     設定は小林さんスライド参照。
     名前と違い実際には非ログオンのサービスアカウ
      ントにも影響
   Thread Locale
     実行単位毎に持つLocale。何もしなければUser Locale
      を継承する。
     つまりUser Localeと違うロケールをスレッド毎に持
      つことも可能
   Input Locale
     文字入力のLocale。
     言語ツールバーで設定する。
     インプットメソッドの切り替え
   User Locale以降のLocale操作、状態の取得、機
    能の使用にはNLS APIを使用する。
   WindowsおよびWindows上に実装されたアプ
    リケーションで複数地域・複数言語に対応す
    るためのAPIセット
   NLS APIが持っている機能
       現在のLocale設定の取得
       動的なThread Localeの変更
       数値、日付等のフォーマット
       ロケールに合わせた並び替えの支援
       Input Method系のAPI
   NLSの各設定(書式とか)はLCIDで管理されている
   NLS APIに何か仕事をさせたい場合にはLCIDでロ
    ケールを指定して、仕事をさる。
   LCIDはロケール毎に一意に32ビットの整数値で番号
    を持つ。
   Windows Vista以降で追加されたAPIではLocale
    Name(Exp. Ja-Jp)で指定できる場合がある。
     Locale Name:
      ms-
      help://MS.MSDNQTR.v80.ja/MS.MSDN.v80/MS.WIN32CO
      M.v10.en/intl/nls_Locale_Name.htm
   LCID自体は16ビットのLanguage IDと4ビットのSort IDからなる。
     ms-
      help://MS.MSDNQTR.v80.ja/MS.MSDN.v80/MS.WINCE.v50.en/wceinter
      national5/html/wce50conSpecifyingLocaleswithNLS.htm
   Language IDは言語とその文字集合を表す数値
     ms-
      help://MS.MSDNQTR.v80.ja/MS.MSDN.v80/MS.WIN32COM.v10.en/msa
      gent/pacontrol_4w2y.htm
   Sort IDは照合順序(Collation)を表す数値

                                                          Language ID

          Reserve           Sort ID        Sub Language         Primary Language


           12bit             4bit               6bit                    10bit

                                    Locale ID
   .net FxではCultureInfoクラスでLCIDを管理す
    る。
   カルチャの名前、書記体系、使用される暦、
    日付の書式設定と文字列の並べ替え方法など、
    特定のカルチャに関する情報を提供する。
全ロケールの取得とカレントロケールの取得
   日付の書式
   通常どちらかの書式を使用する
     Long Format(長い形式)
      英語(US):Saturday , October 27, 2007
      日本語:2007年10月27日
     Short Format(短い形式)
      英語(US):10/27/07
      日本語:07/10/27
   日本の年号への対応、ヘブライ歴等の西暦以外
    への変換
   テキストフォーマッティングの書式で日付書
    式文字の”d”(Short Format)や”D”(Long
    Format)等を使用する。
   逆に”YYYY/mm/dd hh:mm”のような固定書式
    にしてはいけない。
     このように記述してしまったコードはもはや
      Globalization対応とは言えない
   http://msdn2.microsoft.com/ja-
    jp/library/az4se3k1(VS.80).aspx
日付のフォーマッティング
   12時間か24時間か
     時刻の書式文字で区別
     hまたはhh:12時間計、HまたはHH:24時間計
   時分秒の区切りに文字を使うのか
   タイムゾーンと現在時刻
     NLSのロケールで現在時刻を求めないので注意
     TimeZone設定でUTCから現地時間の算出を行う
     そのときには夏時間の設定がそのタイムゾーンに
      あればそれを考慮して現地時間を算出する
Vistaでは世界地図が無くなって寂しい
   時刻書式の詳細は書式文字列を使って行う
     カスタムの書式
       http://msdn2.microsoft.com/ja-
      jp/library/8kb3ddd4(VS.80).aspx
   TimeZone
     TimeZoneに関する操作はSystem.TimeZoneクラ
      スを使用します。
     http://msdn2.microsoft.com/ja-
      jp/library/system.timezone.aspx
時刻書式とTimeZoneの処理
   金銭の単位
     日本:¥
     アメリカ:$
   マイナス値の表示方法
   小数点
     日本・アメリカ:「.」
     欧州:「,」
   桁区切り
     日本・アメリカ:「,」
     欧州:「.」
   テキストフォーマッティングの書式で金銭書
    式文字の”c/C”や十進数書式”D”等を使用する。
   日付の場合と同様固定書式にしてはいけない。
     このように記述してしまったコードはもはや
      Globalization対応とは言えない
     標準の数値書式指定文字列
      http://msdn2.microsoft.com/ja-
      jp/library/dwhawy9k(VS.80).aspx
   ロケール毎に文字列の並び替えに使用するため
    の文字毎の重み付けと何と何を同じ文字として
    扱うかという設定がある。
   これをSQL Serverでは参照順序(Collation)と呼
    ぶ
   ロケール毎に複数の参照順序を持つ場合がある
     現在のWindows Vistaの場合Ja-JPの場合XJIS(デフォ
      ルト)と部首・画数の二種類がコントロールパネルか
      ら選択可能
     日本語関連 CompareInfo と、部首画数での並べ替え
      @河端善博 ブログ / SQL Server / PASSJ
      http://blogs.sqlpassj.org/yoshihirokawabata/archive/2007/
       07/27/23864.aspx
   .net FxのString.Compare()メソッドやArrayク
    ラスのSortメソッド等ではスレッドのカル
    チャが持つソート順序を使用して処理を行う
   並び替えの設定によっては単純なコード順並
    び替えや比較ではないので注意する
   ロケールの管理、各種機能はNLS APIにより
    提供される
   Locale, CultureはLCIDで管理される
   日時、金銭、数字のフォーマットは自分で
    コードに細かく記述せず、NLSに任せる
   テキスト比較はソート順序の設定が使用され、
    その設定が目的通りに設定され英無いと予想
    外の結果になる
   Input Language
   Complex Script
   Font
   Text Service Framework(TSF)
     Windows XP以降Input Method
      Manager(IMM/AIMM)がText Service
      Framework(TSF)に拡張されていく中で、ただの
      アジア言語(日本語)入力機能から、複数言語入力
      の切り替え、キーボードマップの動的な変更、音
      声入力、手書き入力等への拡張がなされた。
     .net FxではInputMethodクラスで制御を行う
   複数言語を同一データ内で同時に入力、表示、
    保存させること
   UniscribeといわれるUnicode Script
    Processor(USP10.DLL)がComplex Scriptの実行
    エンジンになっている
   Applicationは直接
    Uniscribeを呼び出すこと
    も出来るし、GDIを通し                    Aplication
    LPK.DLLにパーシングさ
    せることで間接的に使用
    することも出来る               User/GDI
                                    LPK.DLL
                                               Uniscribe
   Standard Edit Control
     Complex Scriptに関して標準的に対応されている。
     実装例:
       メモ帳(Notepad.exe)
   Rich Edit Control
     Text Object Model(TOM)のインターフェイス
     Uよりリッチな多言語環境、マルチフォント環境の提供
     実装例:
       ワードパッド
   アプリケーション開発においては、これらのコント
    ロールを使用するのが現実的
   .net Framework
     .NET Fx 2.0以降ではGDI+のComplex Script対応機能
      を使用し、Windows Formのすべてのコントロールで
      同レベルのサポートを実現している
     Application.SetUseCompatibleTextRenderingDefault
      メソッドをプロセスでFormを最初に作るときに呼び
      出すことで、個別コントロールでの設定をなくすこと
      が出来る
   Complex Scriptに関するMSDN Magazineの記事
     http://msdn.microsoft.com/msdnmag/issues/06/03/Text
      Rendering/
   最終的に文字を表示できるかどうかはFontで決まる。
   Globalizationに対応したFontを使用する
     UIにはシステムフォントを使う
     Windows XP / 2003 / VistaはTahomeを標準に
      はねのないゴシックのLattain-1、ヘブライ語用フォント
      フォントリンクもしくはFallbackでそのほかの言語用フォント
       がリンクされており、体裁はともかくとにかく表示はしてくれ
       る
     Arial Unicodeの問題
      Unicode 2.0「の」文字はすべて表示可能
      それゆえに表示できない文字がある
   Fallback
     Uniscribeが現状フォントで表示できない文字列がある
      と判断した場合に、その文字が表示可能なFontを割り
      当てる。
     GDI+のテキストレンダリングエンジンが使用する
     そのときにどのフォントを割り当てるか重み付けがあ
      るらしく、どうもそれがVistaで変更されようだ。
      かつて漢字が表示できない場合にはMSPゴシックが選択
       されたが、VistaではMingLiuが選択される確率が高いよ
       うに思える。MingLiuはセリフフォントなので、見た目
       が変わりすぎるので困るのだ
   Font Linking
     システムフォントが文字列を表示できなかった場
      合にどのフォントで代用するかを指定した設定
     レジストリの
      HKLM¥SOFTWARE¥Microsoft¥Windows
      NT¥CurrentVersion¥FontLink¥SystemLinkにその
      設定がある
     Font LinkはGDIのレンダリング、GDI+でFall Back
      がうまくいかなかったときに使用される
   アプリケーションのMUI
   MUIの戦略
     言語毎の実行ファイル。各言語リソースは、コー
      ドと一緒に一つのバイナリに
     一つの言語ニュートラルな実行ファイルと複数言
      語のリソースを含んだ1つのリソースDLL
     一つの言語ニュートラルな実行ファイルと格言午
      後とのリソースDLL
     今のWindowsそのものを含む一般的なMUIの戦略
   作成手順
     何かの言語で実行ファイルとリソースをビルドす
      る。(この時の言語がデフォルトリソースとなる)
     追加リソースのDLLを作成する。
   実行時のリソースの選択順序
     まずデフォルトリソースで起動される。
     現在システムのMUIで設定されているロケールと
      同じリソースDLLがあればそれをロードする。
     システムのMUI設定にかかわらずUIのロケールを
      User Localeにあわせて変更するにはカレントス
      レッドのCurrentUICultureプロパティをコンポー
      ネントの初期化前に変更する。
   @IT .NET Tips Windowsフォームを多言語対
    応にするには?
     http://www.atmarkit.co.jp/fdotnet/dotnettips/314win
      multilang/winmultilang.html
     一番簡単で、有用なチュートリアル
     作業が増えるだけで、これ以上でも以下でもない
WinFormでのMUIアプリケーションの作成
UIをUser Localeにあわせて変更する。
   ローカライズ対象となるリソースの分離
     文字列だけでなく、図、ビットマップ、ダイアログ
      ボックスも必要に応じてCoreのバイナリから分離する。
     .net Fxにおける詳細
      MSDN:リソースのパッケージ化と配置
       http://msdn2.microsoft.com/ja-
        jp/library/sb6a8618(VS.80).aspx
      MSDN:固有カルチャのリソースの検索と使用
       http://msdn2.microsoft.com/ja-
        jp/library/s9ckwb4b(VS.80).aspx
      MSDN: Windows フォーム リソースのローカライズ
       http://msdn2.microsoft.com/ja-
        jp/library/yys3e2fd(VS.80).aspx
   アラビア語のような右から書き始める言語に
    合わせ、諸々のUIを右から書き始めるように
    する。
     ツリービュー、グリッドコントロールの開始位置
      が右など
     標準コントロールや.net FxのWinFormのコント
      ロールでは、各コントロールの右から書き始めを
      示すプロパティをセットする。
      .NET Fx ではRightToLeftプロパティが一般的
http://msdn2.microsoft.com/ja-jp/library/aa350685(VS.80).aspx
NLSで対応できない文化的な違いをどうするのか
   日本人は感覚的に理解できない
   毎時処理等では、夏時間の開始時と終了時に
    は1日の時間が24時間ではないので注意が必
    要(特別な処理がたいていに場合には必要)
   可能な限り時刻をキーとしたデータ管理では、
    時刻データとしてはUTCを使用する。
     時差があってもデータの比較を行いやすくする
     夏時間の影響を排除する
   国や地域によって、住所のルールが違う
   特に日本は住所から位置の推定が全く出来な
    い。600番地の隣が865番地なんて欧米では
    ほぼあり得ない
   基本は可変長テキストで保存
   特定の位置情報が必要であれば、ジオメトリ
    のデータを使用する。(経度緯度情報など)
   米と欧・日での用紙サイズの違い
     米国はLetter, Legalが標準的な用紙サイズ
     欧・日その他多くの地域はISO(JIS)のA4, A3等の用紙
      サイズ
     特定の用紙を前提とした印字処理をしない
   プリンタの問題
     欧米:ビジネス用途ならHP-PLかPost Script何れか
     日本:メーカー毎のページ記述言語。。
     WindowsのAPI経由ではあまり大きな問題にならない
      が、プリンタドライバ、それの英語版があるか無いか
      はかなり問題が起こるポイント
     正直なところ世の中のプリンタメーカはHPだけでい
      いです
   正直NLS APIで面倒見てくれないかと思う
   EUが妥協して、イギリスはメートル法とヤー
    ド・ポンド制を併用してよくなった(Fack)
   アプリケーションで何とかするしかない
   基本はSI単位(SI条約)を使用する
   国内では非SI単位の使用は原則システム提供側
    が計量法違反
   商慣習上必要な場合、法適用外あるいはお目こ
    ぼしされる
     真珠の匁(もんめ)
     印刷でのヤード・ポンド制使用
   パッケージやアプリケーション内で人物写真
    を使う場合何か注意がいるのか?
     多分日本人(多分韓国人、中国人も)には感覚的
      に理解できない
     多くの国で、人種、性差に対しての配慮が必要
     子供の取り扱いもかなり微妙
   基本的に女性の写真を使うのはNG
   イスラム的正しさが必要
   ほかのアラブ諸国ではここまで厳しくない
   会議を表す図か写真をアプリケーションで使
    いたい場合
     あきらめてこれらの図の
      ように人物を入れないか、
      人としかわからない図に
      する
   NLSのCultureはあくまでもビジネスの世界か
    ら見た地域文化やルールのわずかな一側面に
    対応するだけ
   UIを翻訳すればLocalizeなんだろうか?
   Localizeとは結局その地域の文化にアプリ
    ケーションを対応させること
     Excelのふりがな
   基本は英語版OS, 英語版Visual Studio
     今でも原則はen-US版アプリケーションを作成し、そ
      れを別言語にする
   多言語化ターゲットの試験環境
     仮装化環境で用意するのが便利
     パフォーマンス試験が基本言語環境以外でも必要か設
      計時に見積もる
   MSDN サブスクリプションサービスの購入が必
    須
   Vistaは本当にシングルバイナリで、多言語開発
    環境として英語版以外でもそれが可能なのか?
   バージョン管理システムのスケール、柔軟性につい
    て考慮が必要
     インターネット環境ではVSSは使い物にならない
      国際イントラネットがある場合には何とかなることもある
     TFSは多国籍間の開発に耐えられるか?
      国をまたがる開発環境での調査、試験は未実施
     Subversion推奨
      TatoiseSVNがある
      Visual Studioのアドインもあるけど使っていません
     ディレクトリ構造にはVS管理のリソース以外のドキュメン
      ト等についても多言語であることを留意して標準化を
   コメント
     開発チームが複数にまたがる場合、コメントに日
      本語やその他のローカル言語を許容するのか決め
      る必要がある
   訳語の統一
     少なくともプロジェクト内ではExcelでもいいから
      訳語のデータベースを作って訳語の統一を図る
     マイクロソフトの取り組みが参考に
      前者および翻訳プロバイダまで含めた訳語データ
       ベースの作成による訳語の管理
   欧米人には漢字は絵にしか見えない。(文字
    として認識することにまず訓練がいる)
   欧州人開発者における国際化とは
    ISO-8859(Latin-1)の中で各国語とそれ用の
    キーボードに対応することであり、DBCS環
    境への対応ではない
   とにかく最初は理解されることは期待できな
    いので、粘り強く交渉
   Developing International
    Software, Second Edition
     著者 Dr. International
     ISBN 0-7356-1583-7
   CJKV日中韓越情報処理
     著者 Ken Lunde
     ISBN 4-87311-108-0
   文字コード超研究
     著者 深沢千尋
     ISBN 978-4899770510
   JIS X 0213:2004 / Unicode 実装ガイド
     http://download.microsoft.com/download/e/3/c/e3c
      1a451-1882-49fe-86a8-
      e25680f6c46c/JIS_Unicode_guide.pdf
   Microsoft SQL Server 2005 のインターナ
    ショナル機能
     http://www.microsoft.com/japan/msdn/sqlserver/sq
      l2005/bb330962.aspx
   Microsoft Global Development and
    Computing Portal
     http://www.microsoft.com/globaldev/default.mspx
   Sorting It All Out (Michael Kaplan's)
     http://blogs.msdn.com/michkap/default.aspx
   Windows XP Professional の多言語機能
     http://www.microsoft.com/japan/technet/prodtechn
      ol/winxppro/plan/multilingual.mspx
   NyaruruさんによるTFS解説
     http://d.hatena.ne.jp/NyaRuRu/20070308/p1
     http://d.hatena.ne.jp/NyaRuRu/20070309/p1
     http://d.hatena.ne.jp/NyaRuRu/20070310/p1
   Creative Commons Attribution-
    Noncommercial-Share Alike 2.1 Japan
   http://creativecommons.org/licenses/by-nc-
    sa/2.1/jp/

More Related Content

What's hot

Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Shin Ohno
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能Kohei Tokunaga
 
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ることGraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ることShingo Fukui
 
コンポーネント指向と余白の設計
コンポーネント指向と余白の設計コンポーネント指向と余白の設計
コンポーネント指向と余白の設計Manabu Yasuda
 
RESTful API (JAX-RS) 書くだけで仕様書も 自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open APIRESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も 自動で作られていく話 with MicroProfile Open APIKohei Saito
 
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」y torazuka
 
Word press初心者が 基本アーキテクチャを ざっくりと学ぶ
Word press初心者が 基本アーキテクチャを ざっくりと学ぶWord press初心者が 基本アーキテクチャを ざっくりと学ぶ
Word press初心者が 基本アーキテクチャを ざっくりと学ぶclimbFrog
 
超高速処理とスケーラビリティを両立するApache GEODE
超高速処理とスケーラビリティを両立するApache GEODE超高速処理とスケーラビリティを両立するApache GEODE
超高速処理とスケーラビリティを両立するApache GEODEMasaki Yamakawa
 
Node-red+JSONataでfunction地獄からの卒業
Node-red+JSONataでfunction地獄からの卒業Node-red+JSONataでfunction地獄からの卒業
Node-red+JSONataでfunction地獄からの卒業kazuhiro harada
 
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Taku Miyakawa
 
GoとDDDでモバイルオーダープラットフォームを 型安全に作り直した話
GoとDDDでモバイルオーダープラットフォームを 型安全に作り直した話GoとDDDでモバイルオーダープラットフォームを 型安全に作り直した話
GoとDDDでモバイルオーダープラットフォームを 型安全に作り直した話Takuya Kikuchi
 
リーダブルコード
リーダブルコードリーダブルコード
リーダブルコードGIG inc.
 
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発日本マイクロソフト株式会社
 
監視ってなんだっけ?
監視ってなんだっけ?監視ってなんだっけ?
監視ってなんだっけ?Ryotaro Kobayashi
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)NTT DATA Technology & Innovation
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでRyo Nakamaru
 
図解gitworkflows(7)
図解gitworkflows(7)図解gitworkflows(7)
図解gitworkflows(7)ktateish
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようShohei Okada
 
Ws2012フェールオーバークラスタリングdeep dive 130802
Ws2012フェールオーバークラスタリングdeep dive 130802Ws2012フェールオーバークラスタリングdeep dive 130802
Ws2012フェールオーバークラスタリングdeep dive 130802wintechq
 
細かすぎて伝わらないD3 ver.4の話
細かすぎて伝わらないD3 ver.4の話細かすぎて伝わらないD3 ver.4の話
細かすぎて伝わらないD3 ver.4の話清水 正行
 

What's hot (20)

Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ることGraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
 
コンポーネント指向と余白の設計
コンポーネント指向と余白の設計コンポーネント指向と余白の設計
コンポーネント指向と余白の設計
 
RESTful API (JAX-RS) 書くだけで仕様書も 自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open APIRESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
RESTful API (JAX-RS) 書くだけで仕様書も 自動で作られていく話 with MicroProfile Open API
 
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
 
Word press初心者が 基本アーキテクチャを ざっくりと学ぶ
Word press初心者が 基本アーキテクチャを ざっくりと学ぶWord press初心者が 基本アーキテクチャを ざっくりと学ぶ
Word press初心者が 基本アーキテクチャを ざっくりと学ぶ
 
超高速処理とスケーラビリティを両立するApache GEODE
超高速処理とスケーラビリティを両立するApache GEODE超高速処理とスケーラビリティを両立するApache GEODE
超高速処理とスケーラビリティを両立するApache GEODE
 
Node-red+JSONataでfunction地獄からの卒業
Node-red+JSONataでfunction地獄からの卒業Node-red+JSONataでfunction地獄からの卒業
Node-red+JSONataでfunction地獄からの卒業
 
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
 
GoとDDDでモバイルオーダープラットフォームを 型安全に作り直した話
GoとDDDでモバイルオーダープラットフォームを 型安全に作り直した話GoとDDDでモバイルオーダープラットフォームを 型安全に作り直した話
GoとDDDでモバイルオーダープラットフォームを 型安全に作り直した話
 
リーダブルコード
リーダブルコードリーダブルコード
リーダブルコード
 
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
 
監視ってなんだっけ?
監視ってなんだっけ?監視ってなんだっけ?
監視ってなんだっけ?
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
 
図解gitworkflows(7)
図解gitworkflows(7)図解gitworkflows(7)
図解gitworkflows(7)
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
 
Ws2012フェールオーバークラスタリングdeep dive 130802
Ws2012フェールオーバークラスタリングdeep dive 130802Ws2012フェールオーバークラスタリングdeep dive 130802
Ws2012フェールオーバークラスタリングdeep dive 130802
 
細かすぎて伝わらないD3 ver.4の話
細かすぎて伝わらないD3 ver.4の話細かすぎて伝わらないD3 ver.4の話
細かすぎて伝わらないD3 ver.4の話
 

Similar to 開発から見たWindowsの国際化機能

5分でわかるi18n
5分でわかるi18n5分でわかるi18n
5分でわかるi18nnouvellelune
 
Hello ".NET" World
Hello ".NET" WorldHello ".NET" World
Hello ".NET" World将 高野
 
2014年の社内新人教育テキスト #1(プログラミング言語概論)
2014年の社内新人教育テキスト #1(プログラミング言語概論)2014年の社内新人教育テキスト #1(プログラミング言語概論)
2014年の社内新人教育テキスト #1(プログラミング言語概論)Shin-ya Koga
 
TechDo Goハンズオン#3
TechDo Goハンズオン#3TechDo Goハンズオン#3
TechDo Goハンズオン#3privatemy
 
ゲーム組み込み用スクリプト言語を作ってみた
ゲーム組み込み用スクリプト言語を作ってみたゲーム組み込み用スクリプト言語を作ってみた
ゲーム組み込み用スクリプト言語を作ってみたMASA_T_O
 
Xamarinでアプリを作ったときのエトセトラ
Xamarinでアプリを作ったときのエトセトラXamarinでアプリを作ったときのエトセトラ
Xamarinでアプリを作ったときのエトセトラAkira Hatsune
 
デブサミ2008 .NETの仕組み
デブサミ2008 .NETの仕組みデブサミ2008 .NETの仕組み
デブサミ2008 .NETの仕組みTakeshi Shinmura
 
COBOL技術者のためのJava勉強会
COBOL技術者のためのJava勉強会COBOL技術者のためのJava勉強会
COBOL技術者のためのJava勉強会naka hide
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろうKota Mizushima
 
TypeScriptハンズオン第1回テキスト
TypeScriptハンズオン第1回テキストTypeScriptハンズオン第1回テキスト
TypeScriptハンズオン第1回テキストmizuky fujitani
 
大人の基礎C#【Niigat.NET 2015-10】
大人の基礎C#【Niigat.NET 2015-10】大人の基礎C#【Niigat.NET 2015-10】
大人の基礎C#【Niigat.NET 2015-10】Mitsuhito Ishino
 
F#のコンピュテーション式
F#のコンピュテーション式F#のコンピュテーション式
F#のコンピュテーション式pocketberserker
 
Introduction to VSCode
Introduction to VSCodeIntroduction to VSCode
Introduction to VSCodeYuki Igarashi
 
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)Shin-ya Koga
 
Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発Yuki Hattori
 

Similar to 開発から見たWindowsの国際化機能 (20)

5分でわかるi18n
5分でわかるi18n5分でわかるi18n
5分でわかるi18n
 
Hello ".NET" World
Hello ".NET" WorldHello ".NET" World
Hello ".NET" World
 
Ll tiger clojure
Ll tiger clojureLl tiger clojure
Ll tiger clojure
 
Nishimotz pycon2011jan
Nishimotz pycon2011janNishimotz pycon2011jan
Nishimotz pycon2011jan
 
2014年の社内新人教育テキスト #1(プログラミング言語概論)
2014年の社内新人教育テキスト #1(プログラミング言語概論)2014年の社内新人教育テキスト #1(プログラミング言語概論)
2014年の社内新人教育テキスト #1(プログラミング言語概論)
 
TechDo Goハンズオン#3
TechDo Goハンズオン#3TechDo Goハンズオン#3
TechDo Goハンズオン#3
 
JIS2004 with Windows SDK
JIS2004 with Windows SDKJIS2004 with Windows SDK
JIS2004 with Windows SDK
 
ゲーム組み込み用スクリプト言語を作ってみた
ゲーム組み込み用スクリプト言語を作ってみたゲーム組み込み用スクリプト言語を作ってみた
ゲーム組み込み用スクリプト言語を作ってみた
 
Xamarinでアプリを作ったときのエトセトラ
Xamarinでアプリを作ったときのエトセトラXamarinでアプリを作ったときのエトセトラ
Xamarinでアプリを作ったときのエトセトラ
 
デブサミ2008 .NETの仕組み
デブサミ2008 .NETの仕組みデブサミ2008 .NETの仕組み
デブサミ2008 .NETの仕組み
 
Nishimotz osc2011oct-v2
Nishimotz osc2011oct-v2Nishimotz osc2011oct-v2
Nishimotz osc2011oct-v2
 
COBOL技術者のためのJava勉強会
COBOL技術者のためのJava勉強会COBOL技術者のためのJava勉強会
COBOL技術者のためのJava勉強会
 
20010127
2001012720010127
20010127
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろう
 
TypeScriptハンズオン第1回テキスト
TypeScriptハンズオン第1回テキストTypeScriptハンズオン第1回テキスト
TypeScriptハンズオン第1回テキスト
 
大人の基礎C#【Niigat.NET 2015-10】
大人の基礎C#【Niigat.NET 2015-10】大人の基礎C#【Niigat.NET 2015-10】
大人の基礎C#【Niigat.NET 2015-10】
 
F#のコンピュテーション式
F#のコンピュテーション式F#のコンピュテーション式
F#のコンピュテーション式
 
Introduction to VSCode
Introduction to VSCodeIntroduction to VSCode
Introduction to VSCode
 
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)
 
Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発
 

More from Tadahiro Ishisaka

Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.8)Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.8)Tadahiro Ishisaka
 
Visual studioとそのライバル
Visual studioとそのライバルVisual studioとそのライバル
Visual studioとそのライバルTadahiro Ishisaka
 
Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)Tadahiro Ishisaka
 
Visual studio 2015 update1 ctpとcsi
Visual studio 2015 update1 ctpとcsiVisual studio 2015 update1 ctpとcsi
Visual studio 2015 update1 ctpとcsiTadahiro Ishisaka
 
Git for windows情報アップデート 2014年10月5日
Git for windows情報アップデート 2014年10月5日Git for windows情報アップデート 2014年10月5日
Git for windows情報アップデート 2014年10月5日Tadahiro Ishisaka
 
クラウド・コンピューティング サバイバルガイド
クラウド・コンピューティング サバイバルガイドクラウド・コンピューティング サバイバルガイド
クラウド・コンピューティング サバイバルガイドTadahiro Ishisaka
 
ビジネス向けアプリケーションにこそ進めるMicro orm
ビジネス向けアプリケーションにこそ進めるMicro ormビジネス向けアプリケーションにこそ進めるMicro orm
ビジネス向けアプリケーションにこそ進めるMicro ormTadahiro Ishisaka
 
Jazug3周年lt deployブランチを追加してみましょう
Jazug3周年lt deployブランチを追加してみましょうJazug3周年lt deployブランチを追加してみましょう
Jazug3周年lt deployブランチを追加してみましょうTadahiro Ishisaka
 
Build insider offline session チームでのgit
Build insider offline session チームでのgitBuild insider offline session チームでのgit
Build insider offline session チームでのgitTadahiro Ishisaka
 
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.jsHokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.jsTadahiro Ishisaka
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Tadahiro Ishisaka
 
私はこの本でネットワークを学んだ
私はこの本でネットワークを学んだ私はこの本でネットワークを学んだ
私はこの本でネットワークを学んだTadahiro Ishisaka
 
静岡Developers勉強会 第11回 第12章 遅延評価
静岡Developers勉強会 第11回 第12章 遅延評価静岡Developers勉強会 第11回 第12章 遅延評価
静岡Developers勉強会 第11回 第12章 遅延評価Tadahiro Ishisaka
 
Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境Tadahiro Ishisaka
 

More from Tadahiro Ishisaka (20)

Windowsでhaskell
WindowsでhaskellWindowsでhaskell
Windowsでhaskell
 
Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.8)Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.8)
 
Visual studioとそのライバル
Visual studioとそのライバルVisual studioとそのライバル
Visual studioとそのライバル
 
Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)
 
Visual studio 2015 update1 ctpとcsi
Visual studio 2015 update1 ctpとcsiVisual studio 2015 update1 ctpとcsi
Visual studio 2015 update1 ctpとcsi
 
Git for windows情報アップデート 2014年10月5日
Git for windows情報アップデート 2014年10月5日Git for windows情報アップデート 2014年10月5日
Git for windows情報アップデート 2014年10月5日
 
クラウド・コンピューティング サバイバルガイド
クラウド・コンピューティング サバイバルガイドクラウド・コンピューティング サバイバルガイド
クラウド・コンピューティング サバイバルガイド
 
Esentのススメ
EsentのススメEsentのススメ
Esentのススメ
 
ビジネス向けアプリケーションにこそ進めるMicro orm
ビジネス向けアプリケーションにこそ進めるMicro ormビジネス向けアプリケーションにこそ進めるMicro orm
ビジネス向けアプリケーションにこそ進めるMicro orm
 
Jazug3周年lt deployブランチを追加してみましょう
Jazug3周年lt deployブランチを追加してみましょうJazug3周年lt deployブランチを追加してみましょう
Jazug3周年lt deployブランチを追加してみましょう
 
Build insider offline session チームでのgit
Build insider offline session チームでのgitBuild insider offline session チームでのgit
Build insider offline session チームでのgit
 
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.jsHokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.js
 
Web matrix2とvisual studio
Web matrix2とvisual studioWeb matrix2とvisual studio
Web matrix2とvisual studio
 
Sysprep
SysprepSysprep
Sysprep
 
Shizudev git hub宿題
Shizudev git hub宿題Shizudev git hub宿題
Shizudev git hub宿題
 
Ossで作成するチーム開発環境
Ossで作成するチーム開発環境Ossで作成するチーム開発環境
Ossで作成するチーム開発環境
 
私はこの本でネットワークを学んだ
私はこの本でネットワークを学んだ私はこの本でネットワークを学んだ
私はこの本でネットワークを学んだ
 
Netduino
NetduinoNetduino
Netduino
 
静岡Developers勉強会 第11回 第12章 遅延評価
静岡Developers勉強会 第11回 第12章 遅延評価静岡Developers勉強会 第11回 第12章 遅延評価
静岡Developers勉強会 第11回 第12章 遅延評価
 
Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境Windows Windows上に作るチーム開発環境
Windows Windows上に作るチーム開発環境
 

Recently uploaded

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Recently uploaded (8)

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

開発から見たWindowsの国際化機能

  • 1. NT Committee2 石坂忠広 MVP for Visual Developer C#
  • 2. http://www.isisaka.com/  NT-Committee2会員  PASS-Jスタッフ  Microsoft MVP for Visual Developer C#
  • 3. なぜ国際化なのか  従来の国際化(日本語化)  World Ready  ローカライズ  文化・カルチャ?
  • 4. 企業の多国籍化  オフショア  日本語がネイティブでない環境での開発  コア部分開発とUI部分の分業  国内市場の行き詰まり  日本以外のマーケットを開拓する  すべてが日本語化されるべきと期待される今 の特権的地位はいつまで続くだろうか
  • 5. いずれかの言語でアプリケーションを開発す る  たいていは英語で開発する。  それを各国語に翻訳する。  リソースDLLは分かれているか?  バイナリリソースエディタでテキストを置き換える  ソースコード内のテキスト文字の翻訳  sed s/hoge/ほげ/でうまくいくのか
  • 6. バイナリリソースエディタ  そもそもオリジナルの作成者が国際化を前提に、 リソースを外部DLL化してくれていないといけな い。  確かにテキストの置き換えは簡単にできる。  エリアからはみ出す文字、余りすぎるテキスト ボックス。文字が途中でとぎれるボタン。  エディタでリサイズ・チェック、リサイズ・ チェック  ああ「能」の字が化けてる。orz
  • 7. ソースの変更  ああここも直ってない。。  一千も二千もあるソースリソースからテキストを見 つけ出さなくちゃいけない。  エラーメッセージが英語だよ。  そ、それは、英語ランタイムが出すメッセージだか ら直せないんだよ。。。  やっぱり「能」の字が化けるよ。orz  バックスペースしたら、漢字が半分無くなったよ。
  • 8. 日本語ランタイムと英語ランタイムの違いが あり、日本語を正常に扱うには日本語の開発 環境でビルドが必要。  でも、どことは言わないけど日本語ランタイ ムには英語にないバグがっ  そもそも開発元が日本語環境でのビルドを許 してくれない。(ソースを渡してくれない)
  • 9. まだこの状態で苦しんでおられる方が多いと 思います。  根本的解決策は、なんとしてもソースコード を入手すること、翻訳後のソースは向こうで 管理させることです。  もしくは、根本的に作り替えるこ と!
  • 10.
  • 11. 言語を問わずシングルバイナリを目指して開 発すること  Windowsのもつ国際化対応機能を柔軟に使用 し、それらの支援を受けながらアプリケー ションの仕様決定、開発を行う。  開発を二つに分ける  Core CodeのGlobalization化  リソースDLLによるLocalize
  • 12. Unicodeに完全対応したアプリケーションを記述す る  コード内で数値、金銭、日付等のフォーマッティン グを直接行わない  テキスト入力の言語、入力方法の違いを考慮する  特定のフォントに依存させない  テキスト中の複数言語混在に対応させる(m17n)  MUIに対応させる  UIのローカリゼーション容易性への配慮  右から始まる言語への配慮(UIのミラーリング)
  • 13. UNICODE自体の説明は省きます。  以下の点はまず注意してください  Windowsのバージョンによって、対応している UNICODEのバージョンが違います。  その他、Java, VB, VC++(CRT)のそれぞれのバージョ ンが持つランタイムでも対応しているUNICODEの バージョンが違います  これで何がまずいか?  使える文字と使えない文字が出て きます
  • 14. Windows 2000  UNICODEに完全対応した最初のバージョン  UNICODE 2.0  UCS-2エンコード  Windows XP / 2003  UNICODE 3.0  UTF-16LE以下同様  .NET Framework  UNICODE 3.2  いわゆるJIS2004の文字を含む  Windows Vista / 2008  UNICODE 5.0
  • 15. SQL Server(7.0以降)  UCS2 + サロゲートペアに対応  一応UNICODE 3.0以降の文字もnchar, nvarchar フィールドには格納できる。  ただ、いろいろ問題が。。  詳しくはPASSJアフタースクールへ(宣伝)  Officeは?Exchangeは? ???
  • 16. アプリケーションをUNICODE対応とするには  ネイティブコード  あんまり詳しくやりません(終わらなくなる)  #define UNICODE  Visual StudioではWizardの中でチェックをする/しない  文字列  LPTSTRマクロを使う(UNICODEがDefineされていれば 自動的にLPWSTRに変えてくれる)  文字列定数の前には大文字のLをつける  LPTSTR str = L”僕の名前は石坂忠広です。”;  MFCが使えるならCStringクラスを使う  COMはVT_BSTRで  これらは相互変換のマクロ、クラスメソッドがある
  • 17. .NET Frameworkでの開発  .NET FxはUNICODEに完全に対応  内部では文字列はUTF-16でエンコードされる。  char型は2バイト  ただし、テキスト入出力とXMLのデフォルトエン コーディングはUTF-8なので注意。  基本的にIEが使用できる文字コード(Shift- JIS/EUC.jp)にはファイル入出力の時点で変換する ことが出来る。同様にコードページを指定したエ ンコード、デコードも可能。
  • 18. WEB Page  基本的にはW3Cの標準通り。  現状はUTF-8を推奨  Java  内部はUTF-8  コマンドプロンプト  基本的にUNICODEには対応していない  ただし、表示できる範囲ではUNICODEとの相互 変換が自動的に実行される
  • 19. Locale(ロケール)  本来は英語の意味通り地域(ローカル)を表す。  かつてC言語標準化の中で、ローカル変数の 「ローカル」と紛らわしいとされ、訳語が「ロ ケール」に統一されたと聞いています  Windowsでは特定の国や地域の言語と文化上の慣 例を反映させた Windows 設定のコレクションの 意味です。
  • 20. System Locale  UNICODE以外での言語環境を特定します。  DOS, OS/2, Win16でのCode Pageに該当します。  いわゆるANSI APIが使用された場合、この設定に より実際の言語・文字コード(CP)が特定されます。  User Locale  User毎に設定するLocale。  設定は小林さんスライド参照。  名前と違い実際には非ログオンのサービスアカウ ントにも影響
  • 21. Thread Locale  実行単位毎に持つLocale。何もしなければUser Locale を継承する。  つまりUser Localeと違うロケールをスレッド毎に持 つことも可能  Input Locale  文字入力のLocale。  言語ツールバーで設定する。  インプットメソッドの切り替え  User Locale以降のLocale操作、状態の取得、機 能の使用にはNLS APIを使用する。
  • 22. WindowsおよびWindows上に実装されたアプ リケーションで複数地域・複数言語に対応す るためのAPIセット  NLS APIが持っている機能  現在のLocale設定の取得  動的なThread Localeの変更  数値、日付等のフォーマット  ロケールに合わせた並び替えの支援  Input Method系のAPI
  • 23. NLSの各設定(書式とか)はLCIDで管理されている  NLS APIに何か仕事をさせたい場合にはLCIDでロ ケールを指定して、仕事をさる。  LCIDはロケール毎に一意に32ビットの整数値で番号 を持つ。  Windows Vista以降で追加されたAPIではLocale Name(Exp. Ja-Jp)で指定できる場合がある。  Locale Name: ms- help://MS.MSDNQTR.v80.ja/MS.MSDN.v80/MS.WIN32CO M.v10.en/intl/nls_Locale_Name.htm
  • 24. LCID自体は16ビットのLanguage IDと4ビットのSort IDからなる。  ms- help://MS.MSDNQTR.v80.ja/MS.MSDN.v80/MS.WINCE.v50.en/wceinter national5/html/wce50conSpecifyingLocaleswithNLS.htm  Language IDは言語とその文字集合を表す数値  ms- help://MS.MSDNQTR.v80.ja/MS.MSDN.v80/MS.WIN32COM.v10.en/msa gent/pacontrol_4w2y.htm  Sort IDは照合順序(Collation)を表す数値 Language ID Reserve Sort ID Sub Language Primary Language 12bit 4bit 6bit 10bit Locale ID
  • 25. .net FxではCultureInfoクラスでLCIDを管理す る。  カルチャの名前、書記体系、使用される暦、 日付の書式設定と文字列の並べ替え方法など、 特定のカルチャに関する情報を提供する。
  • 27. 日付の書式  通常どちらかの書式を使用する  Long Format(長い形式)  英語(US):Saturday , October 27, 2007  日本語:2007年10月27日  Short Format(短い形式)  英語(US):10/27/07  日本語:07/10/27  日本の年号への対応、ヘブライ歴等の西暦以外 への変換
  • 28. テキストフォーマッティングの書式で日付書 式文字の”d”(Short Format)や”D”(Long Format)等を使用する。  逆に”YYYY/mm/dd hh:mm”のような固定書式 にしてはいけない。  このように記述してしまったコードはもはや Globalization対応とは言えない  http://msdn2.microsoft.com/ja- jp/library/az4se3k1(VS.80).aspx
  • 30. 12時間か24時間か  時刻の書式文字で区別  hまたはhh:12時間計、HまたはHH:24時間計  時分秒の区切りに文字を使うのか  タイムゾーンと現在時刻  NLSのロケールで現在時刻を求めないので注意  TimeZone設定でUTCから現地時間の算出を行う  そのときには夏時間の設定がそのタイムゾーンに あればそれを考慮して現地時間を算出する
  • 32. 時刻書式の詳細は書式文字列を使って行う  カスタムの書式 http://msdn2.microsoft.com/ja- jp/library/8kb3ddd4(VS.80).aspx  TimeZone  TimeZoneに関する操作はSystem.TimeZoneクラ スを使用します。  http://msdn2.microsoft.com/ja- jp/library/system.timezone.aspx
  • 34. 金銭の単位  日本:¥  アメリカ:$  マイナス値の表示方法  小数点  日本・アメリカ:「.」  欧州:「,」  桁区切り  日本・アメリカ:「,」  欧州:「.」
  • 35. テキストフォーマッティングの書式で金銭書 式文字の”c/C”や十進数書式”D”等を使用する。  日付の場合と同様固定書式にしてはいけない。  このように記述してしまったコードはもはや Globalization対応とは言えない  標準の数値書式指定文字列 http://msdn2.microsoft.com/ja- jp/library/dwhawy9k(VS.80).aspx
  • 36. ロケール毎に文字列の並び替えに使用するため の文字毎の重み付けと何と何を同じ文字として 扱うかという設定がある。  これをSQL Serverでは参照順序(Collation)と呼 ぶ  ロケール毎に複数の参照順序を持つ場合がある  現在のWindows Vistaの場合Ja-JPの場合XJIS(デフォ ルト)と部首・画数の二種類がコントロールパネルか ら選択可能  日本語関連 CompareInfo と、部首画数での並べ替え @河端善博 ブログ / SQL Server / PASSJ  http://blogs.sqlpassj.org/yoshihirokawabata/archive/2007/ 07/27/23864.aspx
  • 37. .net FxのString.Compare()メソッドやArrayク ラスのSortメソッド等ではスレッドのカル チャが持つソート順序を使用して処理を行う  並び替えの設定によっては単純なコード順並 び替えや比較ではないので注意する
  • 38. ロケールの管理、各種機能はNLS APIにより 提供される  Locale, CultureはLCIDで管理される  日時、金銭、数字のフォーマットは自分で コードに細かく記述せず、NLSに任せる  テキスト比較はソート順序の設定が使用され、 その設定が目的通りに設定され英無いと予想 外の結果になる
  • 39. Input Language  Complex Script  Font
  • 40. Text Service Framework(TSF)  Windows XP以降Input Method Manager(IMM/AIMM)がText Service Framework(TSF)に拡張されていく中で、ただの アジア言語(日本語)入力機能から、複数言語入力 の切り替え、キーボードマップの動的な変更、音 声入力、手書き入力等への拡張がなされた。  .net FxではInputMethodクラスで制御を行う
  • 41. 複数言語を同一データ内で同時に入力、表示、 保存させること  UniscribeといわれるUnicode Script Processor(USP10.DLL)がComplex Scriptの実行 エンジンになっている  Applicationは直接 Uniscribeを呼び出すこと も出来るし、GDIを通し Aplication LPK.DLLにパーシングさ せることで間接的に使用 することも出来る User/GDI LPK.DLL Uniscribe
  • 42. Standard Edit Control  Complex Scriptに関して標準的に対応されている。  実装例:  メモ帳(Notepad.exe)  Rich Edit Control  Text Object Model(TOM)のインターフェイス  Uよりリッチな多言語環境、マルチフォント環境の提供  実装例:  ワードパッド  アプリケーション開発においては、これらのコント ロールを使用するのが現実的
  • 43. .net Framework  .NET Fx 2.0以降ではGDI+のComplex Script対応機能 を使用し、Windows Formのすべてのコントロールで 同レベルのサポートを実現している  Application.SetUseCompatibleTextRenderingDefault メソッドをプロセスでFormを最初に作るときに呼び 出すことで、個別コントロールでの設定をなくすこと が出来る  Complex Scriptに関するMSDN Magazineの記事  http://msdn.microsoft.com/msdnmag/issues/06/03/Text Rendering/
  • 44. 最終的に文字を表示できるかどうかはFontで決まる。  Globalizationに対応したFontを使用する  UIにはシステムフォントを使う  Windows XP / 2003 / VistaはTahomeを標準に  はねのないゴシックのLattain-1、ヘブライ語用フォント  フォントリンクもしくはFallbackでそのほかの言語用フォント がリンクされており、体裁はともかくとにかく表示はしてくれ る  Arial Unicodeの問題  Unicode 2.0「の」文字はすべて表示可能  それゆえに表示できない文字がある
  • 45. Fallback  Uniscribeが現状フォントで表示できない文字列がある と判断した場合に、その文字が表示可能なFontを割り 当てる。  GDI+のテキストレンダリングエンジンが使用する  そのときにどのフォントを割り当てるか重み付けがあ るらしく、どうもそれがVistaで変更されようだ。  かつて漢字が表示できない場合にはMSPゴシックが選択 されたが、VistaではMingLiuが選択される確率が高いよ うに思える。MingLiuはセリフフォントなので、見た目 が変わりすぎるので困るのだ
  • 46. Font Linking  システムフォントが文字列を表示できなかった場 合にどのフォントで代用するかを指定した設定  レジストリの HKLM¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥FontLink¥SystemLinkにその 設定がある  Font LinkはGDIのレンダリング、GDI+でFall Back がうまくいかなかったときに使用される
  • 47. アプリケーションのMUI  MUIの戦略  言語毎の実行ファイル。各言語リソースは、コー ドと一緒に一つのバイナリに  一つの言語ニュートラルな実行ファイルと複数言 語のリソースを含んだ1つのリソースDLL  一つの言語ニュートラルな実行ファイルと格言午 後とのリソースDLL  今のWindowsそのものを含む一般的なMUIの戦略
  • 48. 作成手順  何かの言語で実行ファイルとリソースをビルドす る。(この時の言語がデフォルトリソースとなる)  追加リソースのDLLを作成する。  実行時のリソースの選択順序  まずデフォルトリソースで起動される。  現在システムのMUIで設定されているロケールと 同じリソースDLLがあればそれをロードする。  システムのMUI設定にかかわらずUIのロケールを User Localeにあわせて変更するにはカレントス レッドのCurrentUICultureプロパティをコンポー ネントの初期化前に変更する。
  • 49. @IT .NET Tips Windowsフォームを多言語対 応にするには?  http://www.atmarkit.co.jp/fdotnet/dotnettips/314win multilang/winmultilang.html  一番簡単で、有用なチュートリアル  作業が増えるだけで、これ以上でも以下でもない
  • 51. ローカライズ対象となるリソースの分離  文字列だけでなく、図、ビットマップ、ダイアログ ボックスも必要に応じてCoreのバイナリから分離する。  .net Fxにおける詳細  MSDN:リソースのパッケージ化と配置  http://msdn2.microsoft.com/ja- jp/library/sb6a8618(VS.80).aspx  MSDN:固有カルチャのリソースの検索と使用  http://msdn2.microsoft.com/ja- jp/library/s9ckwb4b(VS.80).aspx  MSDN: Windows フォーム リソースのローカライズ  http://msdn2.microsoft.com/ja- jp/library/yys3e2fd(VS.80).aspx
  • 52.
  • 53. アラビア語のような右から書き始める言語に 合わせ、諸々のUIを右から書き始めるように する。  ツリービュー、グリッドコントロールの開始位置 が右など  標準コントロールや.net FxのWinFormのコント ロールでは、各コントロールの右から書き始めを 示すプロパティをセットする。  .NET Fx ではRightToLeftプロパティが一般的
  • 56. 日本人は感覚的に理解できない  毎時処理等では、夏時間の開始時と終了時に は1日の時間が24時間ではないので注意が必 要(特別な処理がたいていに場合には必要)  可能な限り時刻をキーとしたデータ管理では、 時刻データとしてはUTCを使用する。  時差があってもデータの比較を行いやすくする  夏時間の影響を排除する
  • 57. 国や地域によって、住所のルールが違う  特に日本は住所から位置の推定が全く出来な い。600番地の隣が865番地なんて欧米では ほぼあり得ない  基本は可変長テキストで保存  特定の位置情報が必要であれば、ジオメトリ のデータを使用する。(経度緯度情報など)
  • 58. 米と欧・日での用紙サイズの違い  米国はLetter, Legalが標準的な用紙サイズ  欧・日その他多くの地域はISO(JIS)のA4, A3等の用紙 サイズ  特定の用紙を前提とした印字処理をしない  プリンタの問題  欧米:ビジネス用途ならHP-PLかPost Script何れか  日本:メーカー毎のページ記述言語。。  WindowsのAPI経由ではあまり大きな問題にならない が、プリンタドライバ、それの英語版があるか無いか はかなり問題が起こるポイント  正直なところ世の中のプリンタメーカはHPだけでい いです
  • 59. 正直NLS APIで面倒見てくれないかと思う  EUが妥協して、イギリスはメートル法とヤー ド・ポンド制を併用してよくなった(Fack)  アプリケーションで何とかするしかない  基本はSI単位(SI条約)を使用する  国内では非SI単位の使用は原則システム提供側 が計量法違反  商慣習上必要な場合、法適用外あるいはお目こ ぼしされる  真珠の匁(もんめ)  印刷でのヤード・ポンド制使用
  • 60. パッケージやアプリケーション内で人物写真 を使う場合何か注意がいるのか?  多分日本人(多分韓国人、中国人も)には感覚的 に理解できない  多くの国で、人種、性差に対しての配慮が必要  子供の取り扱いもかなり微妙
  • 61.
  • 62. 基本的に女性の写真を使うのはNG  イスラム的正しさが必要  ほかのアラブ諸国ではここまで厳しくない
  • 63. 会議を表す図か写真をアプリケーションで使 いたい場合  あきらめてこれらの図の ように人物を入れないか、 人としかわからない図に する
  • 64. NLSのCultureはあくまでもビジネスの世界か ら見た地域文化やルールのわずかな一側面に 対応するだけ  UIを翻訳すればLocalizeなんだろうか?  Localizeとは結局その地域の文化にアプリ ケーションを対応させること  Excelのふりがな
  • 65.
  • 66. 基本は英語版OS, 英語版Visual Studio  今でも原則はen-US版アプリケーションを作成し、そ れを別言語にする  多言語化ターゲットの試験環境  仮装化環境で用意するのが便利  パフォーマンス試験が基本言語環境以外でも必要か設 計時に見積もる  MSDN サブスクリプションサービスの購入が必 須  Vistaは本当にシングルバイナリで、多言語開発 環境として英語版以外でもそれが可能なのか?
  • 67. バージョン管理システムのスケール、柔軟性につい て考慮が必要  インターネット環境ではVSSは使い物にならない  国際イントラネットがある場合には何とかなることもある  TFSは多国籍間の開発に耐えられるか?  国をまたがる開発環境での調査、試験は未実施  Subversion推奨  TatoiseSVNがある  Visual Studioのアドインもあるけど使っていません  ディレクトリ構造にはVS管理のリソース以外のドキュメン ト等についても多言語であることを留意して標準化を
  • 68. コメント  開発チームが複数にまたがる場合、コメントに日 本語やその他のローカル言語を許容するのか決め る必要がある  訳語の統一  少なくともプロジェクト内ではExcelでもいいから 訳語のデータベースを作って訳語の統一を図る  マイクロソフトの取り組みが参考に  前者および翻訳プロバイダまで含めた訳語データ ベースの作成による訳語の管理
  • 69. 欧米人には漢字は絵にしか見えない。(文字 として認識することにまず訓練がいる)  欧州人開発者における国際化とは ISO-8859(Latin-1)の中で各国語とそれ用の キーボードに対応することであり、DBCS環 境への対応ではない  とにかく最初は理解されることは期待できな いので、粘り強く交渉
  • 70.
  • 71. Developing International Software, Second Edition  著者 Dr. International  ISBN 0-7356-1583-7  CJKV日中韓越情報処理  著者 Ken Lunde  ISBN 4-87311-108-0
  • 72. 文字コード超研究  著者 深沢千尋  ISBN 978-4899770510
  • 73. JIS X 0213:2004 / Unicode 実装ガイド  http://download.microsoft.com/download/e/3/c/e3c 1a451-1882-49fe-86a8- e25680f6c46c/JIS_Unicode_guide.pdf  Microsoft SQL Server 2005 のインターナ ショナル機能  http://www.microsoft.com/japan/msdn/sqlserver/sq l2005/bb330962.aspx
  • 74. Microsoft Global Development and Computing Portal  http://www.microsoft.com/globaldev/default.mspx  Sorting It All Out (Michael Kaplan's)  http://blogs.msdn.com/michkap/default.aspx
  • 75. Windows XP Professional の多言語機能  http://www.microsoft.com/japan/technet/prodtechn ol/winxppro/plan/multilingual.mspx  NyaruruさんによるTFS解説  http://d.hatena.ne.jp/NyaRuRu/20070308/p1  http://d.hatena.ne.jp/NyaRuRu/20070309/p1  http://d.hatena.ne.jp/NyaRuRu/20070310/p1
  • 76. Creative Commons Attribution- Noncommercial-Share Alike 2.1 Japan  http://creativecommons.org/licenses/by-nc- sa/2.1/jp/