1 / 7

SWAT I18N

SWAT I18N. 概要 swat は cgi タイプのプログラム。 web ブラウザから入力しサーバの smb.conf に書きこむ。 swat の国際化を目指す。 付け足した機能 ( 実行時に言語の切り替え -i18n の範囲で ) 問題点 ( 細かい技術的問題、根本的問題 ) 今後. 付け足した機能 (1). HTTP の ACCEPT-LANGUAGE ヘッダを読む部分を付け足した。 HTTP の言語ネゴシエーション IE, Netscape, w3m, lynx など、対応ブラウザは多い。 英語 / 日本語の切り替えも容易。

taran
Download Presentation

SWAT I18N

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SWAT I18N • 概要 • swatはcgiタイプのプログラム。webブラウザから入力しサーバのsmb.confに書きこむ。 • swatの国際化を目指す。 • 付け足した機能(実行時に言語の切り替え-i18nの範囲で) • 問題点(細かい技術的問題、根本的問題) • 今後

  2. 付け足した機能(1) • HTTP の ACCEPT-LANGUAGE ヘッダを読む部分を付け足した。 • HTTP の言語ネゴシエーション • IE, Netscape, w3m, lynxなど、対応ブラウザは多い。 • 英語/日本語の切り替えも容易。 • cookieやメニューを使った切り替えをサポートするべきか。

  3. 付け足した機能(2) • gettextを使ってメッセージを切り替えられるようにした。 • プログラミングは容易。すでにgnomeなどで使われて移植性なども実績がある。 • gettextそのものの簡単な説明。printf(“hello, world.\n”); => printf(gettext(“hello, world.\n”)); • ACCEPT-LANGUAGEヘッダからlocaleの変換。

  4. 問題点(1) • catgets互換機能も使えるようになるはずだが、sjisのメッセージカタログの生成が今うまく行ってない。 • gettextがなくてもcatgetsはあるシステムは多い。 • 現在euc/sjisどちらでも動くようにswatを改良中。 • gettextを使ったためswatのあるサーバでサポートされるlocaleの言語でないと使えない。(webブラウザを使ってるにもかかわらず) • 自分でgettext風ライブラリを作るべきだったか? (移植性の問題、バグを作りこんじゃう)

  5. 問題点(2) • データの問題 • パラメータ名やメッセージをどう訳すか。 何らかのポリシーが必要では? • 画面のレイアウトは?日本語、英語パラメータ併記で良いのか? • swat/sambaでの文字コードの扱い • 内部はdosコード(sjis)。smb.confの文字コードは codingsystem=で決まる。 • 読み取りはこの扱いに応じて適正に文字コードが変換される。 • swatからの書き込みには文字コード変換にバグがいくつもあり現在は出来ない(現在修正中)。

  6. 問題点(3) • swat/sambaでの文字コードの扱い(その2) • デバッグ方法がよく分からない。(特定の文字コードで起きる問題について) • codingsystem=はsjis,euc,jisなど日本語のコードしかサポートしていないが、将来的にはもっと大変になるかもしれない。

  7. 今後は? • とりあえずgettext/catgetsを使ってsjis,eucをサポートし、 自由に読み書きできるようにする。 • 文字コードの扱いはi18nの範囲でもまだまだ統一的で一般的なものにする必要がある。(内部/外部の厳密な変換) これにあわせてメッセージ変換のライブラリも考えたい。 • 日本語以外の外国語のサポート (特にマルチバイト文字)が出来るか? • ドキュメント翻訳との連携(画面の用語を合わせるなど)

More Related