[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:10324] Re: Draft 1 (Re: I18N Document)



岡@奈良先端ã§ã™ã€‚


At Wed, 8 Sep 1999 17:14:34 +0900,
Tomohiro KUBOTA <kubota@xxxxxxxxxxxxxxxxxxxxx> wrote:
> 
> ä¹…ä¿ç”°ã§ã™ã€‚

> SS3 以下㯠JIS X 0212 ã ã¨æ€ã£ã¦ãŸã‚“ã§ã™ã‘ã©ã€‚「Linux/FreeBSD
> 日本語環境ã®æ§‹ç¯‰ã¨æ´»ç”¨ã€ï¼ˆã„ã¾ã®ã¨ã“ã‚主è¦ãªè³‡æ–™ã«ã—ã¦ã„ã¾ã™ã€‚
> ã¾ãˆã«èª­ã‚“ã ã®ã§ï¼‰ã§ã¯ã€ãã†ãªã£ã¦ã„ãŸã¨æ€ã„ã¾ã™ã€‚(ã„ã¾æ‰‹å…ƒã«ãªã„)

ã»ã‚“ã¨ã ã€‚å…ˆã®ãƒ¡ãƒ¼ãƒ«ã®å†…容ã¯ã©ã£ã‹ã®è³‡æ–™ã‚’メモã—ã¦ã„ãŸã®ã§æ€ª
ã—ã‹ã£ãŸã‚ˆã†ã§ã™ã€‚


> 岡ã•ã‚“:
> > ãã¡ã‚“ã¨I18N化ã§ãã¦ãªãã¦æ”¯éšœã‚’æ¥ã—ã¦ã„るソフトウェアã®ä¾‹ã€‚
> > gettextã§ã™ã€‚msgmergeを使ã†ã¨ã€ã—ã°ã—ã°EUCã®æ—¥æœ¬èªžã§ã•ãˆ1ãƒ
> > イト目ã¨2ãƒã‚¤ãƒˆç›®ã®é–“ã§åˆ†æ–­ã•ã‚Œã¦ã—ã¾ã„ã¾ã™ã€‚wchar化ã™ã‚Œã°è§£
> > 決ã—ã¾ã™(ãŒã€ã‚³ãƒ¼ãƒ‰å…¨ä½“を一掃ã—ãªã‘ã‚Œã°ãªã‚‰ãªã„)。
> 
> ã§ã¯ã€ã„ã¾ã®ã¨ã“ã‚ã€msgmerge を使ã†ãƒ—ログラムãŒã‚„ã‚‹ã¹ãã“ã¨ã¯
> 何ã§ã™ã‹ï¼Ÿï¼ˆå²¡ã•ã‚“ã¯ã€ç§ã¯ãã‚“ãªã“ã¨ç™¾ã‚‚承知ã ã‚ã†ã¨æ€ã£ã¦ã„ã¾ã›ã‚“ã‹ï¼Ÿ
> ç§ã¯ã€ã»ã‚“ã¨ã†ã«ç„¡çŸ¥ãªã®ã§ã™ï¼‰ã€‚
> 
> 分断ã£ã¦ã©ã†ã„ã†ãµã†ã«èµ·ã“ã‚‹ã®ã§ã™ã‹ï¼Ÿ EUC ã ã¨ " ã¨ã‹ \ ã¨ã‹ % ã¯
> 出ã¦ã“ãªã„ã‹ã‚‰ã€8 ビットクリーン化ã ã‘ã§å分ãªæ°—ãŒã™ã‚‹ã‚“ã§ã™ãŒã€‚
> (ãŸã ã€æ—¥æœ¬èªžã¯ãã‚Œã§ã‚‚ã„ã„ã‘ã©ã€ä»–ã®è¨€èªžãŒã©ã†ã‹ã‚ã‹ã‚‰ãªã„ã‹ã‚‰ã€
> wchar 化ã¯å¿…é ˆã ã¨ã¯æ€ã„ã¾ã™ã€‚日本語ã§ã‚‚ ISO-2022-JP ã¨ã‹ SHIFT-JIS
> ã ã¨ã ã‚ã§ã™ã—)。

基本的ã«ã¯8ビットクリーンã§EUCã§ã¯ã©ã†ã«ã‹æ©Ÿèƒ½ã—ã¦ã„ã¾ã™ãŒã€
msgmergeプログラムã ã‘ã¯ã†ã¾ãã„ã‹ãªã„ã®ã§ã™ã€‚å¤ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³
ã®ç¿»è¨³æ¸ˆã¿ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚«ã‚¿ãƒ­ã‚°(ja.po)ã¨æ–°ãŸãªç”Ÿã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚«
タログ(app.pot)ã‹ã‚‰æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ç¿»è¨³ç”¨ã®ã‚«ã‚¿ãƒ­ã‚°(ja.po)
を生æˆã™ã‚‹éš›[図1]ã€msgmergeã¯ä½“è£ã‚’æ•´ãˆã‚‹ãŸã‚ã«æ–‡å­—列を複数
è¡Œã«æŠ˜ã‚Šç•³ã‚€ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ãã®æ™‚ã«ãƒ†ã‚­ã‚¹ãƒˆãŒç ´å£Šã•ã‚Œã‚‹ã®ã§ã™ã€‚

  [図1]
  app.pot       \    msgmerge
                | ----------------> (new) ja.po
  (old) ja.po   /

  [図2] 変æ›æˆåŠŸä¾‹
  msgstr ""
  "@DESCRIPTION=å…¨ã¦ã®å€¤ãŠã‚ˆã³å¼•æ•°ãƒªã‚¹ãƒˆã§å‚ç…§ã•ã‚Œã¦ã„るセルã®æ¨™æº–å差を計算ã—ã¾ã™ã€‚ã“ã‚Œã¯åˆ†æ•£(VARIANCE)ã®å¹³æ–¹æ ¹ã¨åŒç­‰ã§ã™ã€‚\n"
    ↓
  msgstr ""
  "@DESCRIPTION=å…¨ã¦ã®å€¤ãŠã‚ˆã³å¼•æ•°ãƒªã‚¹ãƒˆã§å‚ç…§ã•ã‚Œã¦ã„るセル"
  "ã®æ¨™æº–å差を計算ã—ã¾ã™ã€‚ã“ã‚Œã¯åˆ†æ•£(VARIANCE)ã®å¹³æ–¹æ ¹ã¨åŒ"
  "ç­‰ã§ã™ã€‚\n"

ãã®ãŸã‚ã€EUCã«ç‰¹åŒ–ã—ãŸæŠ˜ã‚Šç•³ã¿è¦å‰‡ã‚’é©ç”¨ã™ã‚‹ãƒ‘ッãƒã‚’作æˆã—
ã¦ã„ã¾ã™ã€‚ã„ã‚ゆるãã®å ´ã—ã®ãŽã¨ã„ã†ã‚„ã¤ã§ã™ã€‚最åˆã¯wchar化
を考ãˆã¦ã„ã¾ã—ãŸãŒã€gettext全部直ã™å¿…è¦ãŒã‚ã‚Šãã†ã ã£ãŸã®ã§ã€
「å•é¡Œå›žé¿ã€ã«çµ‚ã‚ã‚Šã¾ã—ãŸã€‚

  http://www.aist-nara.ac.jp/~mitsu-o/junkbox/message.diff

当然本家ã¨ãƒžãƒ¼ã‚¸ã§ãるよã†ãªä»£ç‰©ã§ã¯ãªã„ã®ã§æ”¾ç½®ã—ã¦ã„ã¾ã™ã€‚
翻訳ã™ã‚‹äººã¯æ¯”較的å°æ•°ãªã®ã§ã€ã“ã®ãƒ‘ッãƒã§ã—ã®ã„ã§ã„るよã†ã§ã™ã€‚

> 後藤ã•ã‚“:
> > i18n ã¨ã‚°ãƒªãƒ•ã¨è¨€èªžã¨ã‚³ãƒ¼ãƒ‰ç³»ã¯ã€ã‚¤ã‚³ãƒ¼ãƒ«ã§
> > çµã°ã‚Œã‚‹ã‚‚ã®ã§ã¯ãªã„ã¨æ€ã„ã¾ã™ãŒã€ã„ã‹ãŒã§ã—ょã†ã‹ã€‚
> > ã¾ãŸã€ãã‚Œãžã‚Œã®é–¢ä¿‚ãŒè¨˜è¿°ã•ã‚Œã‚‹ã¨ã‚ˆã‚Šä¸€å±¤
> > 詳ã—ã説明ã§ããã†ã§ã™ã­ã€‚
> 
> ã™ã¿ã¾ã›ã‚“ã€ç§ã¯è©³ã—ããªã„ã®ã§åˆ†ã‹ã‚Šã¾ã›ã‚“。
> 
> ã¨ã“ã‚ã§ã€ã²ã¨ã¤è³ªå•ãŒã‚ã‚Šã¾ã™ã€‚ãŸã¨ãˆã°ã€ŒISO-2022-JP ã¨ã„ã†
> coding system ã¯ã€ASCIIã€JIS X 0201ã€JIS X 0208ã€JIS X 0212
> ã®å„ coding system を切り替ãˆã¦ä½¿ã†ã€ã¨ã„ã†æ–‡ã«ãŠã„ã¦ã€
> coding system ã¨ã„ã†èªžãŒ2回出ã¦ãã¾ã™ãŒã€ã‚ãらã‹ã«ã€1回目ã¨
> 2回目ã§ã¯æ„味ãŒé•ã„ã¾ã™ã‚ˆã­ã€‚æ­£ã—ã表ç¾ã™ã‚‹ã«ã¯ã©ã†ã™ã‚Œã°ã„ã„ã§ã—ょã†ï¼Ÿ
> ã ã‚Œã‹æ•™ãˆã¦ãã ã•ã„。

「ISO-2022-JP ã¨ã„ㆠ(coded character set|codeset)  ã¯ã€
ASCIIã€JIS X 0201ã€JIS X 0208ã€JIS X 0212 ã®å„ character set
を切り替ãˆã¦ä½¿ã†ã€

  文字集åˆã€ã‚­ãƒ£ãƒ©ã‚¯ã‚¿ã‚»ãƒƒãƒˆ = character set

  符å·åŒ–æ–‡å­—é›†åˆ = coded character set
  コードセット   = codeset

#「国際化プログラミングã€p53〜p54

> 岡ã•ã‚“:
> > 高ã„æ„è­˜ã§ç§é”ã®å›½ã®è¨€è‘‰ã‚’守ã‚ã†ã€ã¨ã„ã†ã“ã¨ã§ã™ã€‚
> 
> ç§ã«å‘ã‹ã£ã¦ãれを言ã†ã¨ã¨ã‚ã©ã‚‚ãªã„ framewar ã«ãªã‚‹ã®ã§ã€
> ã‚„ã‚ã¦ãã ã•ã„。ç§é”ã®è¨€è‘‰ã‚’守ã‚ã†ã ã£ãŸã‚‰ã¾ã  OK ã§ã™ãŒ
> (自分ã®åˆ©ç›Šã‚’守るã“ã¨ãŒãŸã¾ãŸã¾éš£äººã®åˆ©ç›Šã‚’守るã“ã¨ã«ã‚‚
> ãªã£ã¦ã‚‹ã€ã¨ã„ã†ã“ã¨ã ã‹ã‚‰ï¼‰ã€ç§é”ã®å›½ã®è¨€è‘‰ãªã‚“ã¦
> 言ã‚れるã¨å«Œæ‚ªæ„ŸãŒã—ã¾ã™ã€‚ç§ã¯ã€ã€Œæ—¥æœ¬äººã€ã¨ã„ã†è¨€è‘‰ã•ãˆã€
> 存在をèªã‚ã¦ãªã„ã§ã™ã‹ã‚‰ã€‚
> (文脈ã«ã‚ˆã£ã¦æ—¥æœ¬å›½ç±ä¿æœ‰è€…ã¨ã‹æ—¥æœ¬èªžè©±è€…(日本語人)ã¨ã‹ã„ã†
> 言葉を使ã„ã‚ã‘ã‚ã€ã£ã¦æ€ã„ã¾ã™ã€‚ã¡ãªã¿ã«ã€å›½ç±ãªã‚“ã¦ã€
> ã»ã‚“ã®ç´™ä¸€æžšã®é‡ã•ã§ã‚ã‚‹ã¹ã)。
> 
> 話ãŒéŽç†±ã—ãªã„ã†ã¡ã«ã‚„ã‚ã¾ã™ã€‚

éŽç†±ã—ãªã„よã†ã«ã—ã¾ã™ãŒã€ä½•ã‹å‹˜é•ã„ã•ã‚Œã¦ã‚‹ã‚ˆã†ã§ã™ã€‚

ã”ã事務的ã«è¨€ã†ãªã‚‰ã€éš£äººã¨åˆ©ç›Šã‚’共有ã™ã‚‹ãŸã‚ã®ä»•çµ„ã¿ãŒ
「国ã€ã§ã€ãã‚“ãªã«ç…™ãŸã„ã‚‚ã®ã˜ã‚ƒãªã„ã¨æ€ã„ã¾ã™ã€‚
JISè¦æ ¼ãªã‚“ã¦ã®ã‚‚言ã£ã¦ã¿ã‚Œã°å›½å®¶çš„財産ãªã‚ã‘ã§ã—ょã†ã€‚
ãã†ã„ã†æ„味ã§å›½ã¨æ›¸ãã¾ã—ãŸã€‚

 # ã§ã‚‚日本ã£ã¦ãã‚“ãªæ‚ªã„イメージãªã®ã‹ãªã...。
 # ã¨ã¦ã‚‚特徴的ãªå›½ãªã®ã«ã€‚

> 岡ã•ã‚“:
> > ã¨ã„ã†ã‹ã€EUC-JPã«ãƒ™ãƒƒã‚¿ãƒªä¾å­˜ã™ã‚‹ã¨çµ¶å¯¾å¾Œã§ç—›ã„ç›®ã«é­ã„ãã†
> > ã§ã™ã€‚コードéžä¾å­˜ã«è¨˜è¿°ã§ãる抽象化を行ã†ãƒ©ã‚¤ãƒ–ラリを通ã—ã¦
> > 処ç†ã§ãã‚‹å¿…è¦ãŒã‚ã‚Šã€wcstombsçš„ãªé–¢æ•°ç¾¤ã¯ã‚る程度ã“れをサãƒãƒ¼
> > トã—ã¦ã„ã‚‹ã¨è¨€ãˆã¾ã™ãŒã€ãŸã¶ã‚“全然足りãªã„ã¨æ€ã„ã¾ã™ã€‚
> 
> ã˜ã‚ƒã‚ã©ã†ã™ã‚Œã°ã„ã„ã‚“ã§ã™ã‹ã€‚コードéžä¾å­˜ã«ã—よã†ã¨æ€ãˆã°ã€
> ã›ã„ãœã„ I18Nã€ãれも中途åŠç«¯ãª I18N ã©ã¾ã‚Šã§ã€M17N ãªã©ã¯çµ¶å¯¾ã«
> 実ç¾ã§ããªã„ã€ã¨ã„ã†ã®ãŒç¾çŠ¶ãªã‚“ã§ã™ã‚ˆã­ï¼Ÿãã®ç¾çŠ¶ã®ä¸­ã§ã§ãã‚‹ã“ã¨ã¯
> 何ã‹ã€ã‚’考ãˆãªãゃãªã‚‰ãªã„ã¨æ€ã†ã‚“ã§ã™ãŒã€‚ãã®ä¸€æ–¹ã§ã€ã‚³ãƒ¼ãƒ‰éžä¾å­˜ã§
> M17N ãŒã§ãã‚‹ãŸã‚ã®æž çµ„ã¿ä½œã‚Šã¨ã„ã†ã®ã‚‚é‡è¦ã«ãªã£ã¦ãã‚‹ã§ã—ょã†ãŒã€
> ãã‚Œã®ãŸã‚ã®æŒ‡é‡ãŒç¤ºã›ã‚‹ã‚ˆã†ãªæ–‡æ›¸ã‚’書ãã¤ã‚‚ã‚Šã¯å…¨ç„¶ã‚ã‚Šã¾ã›ã‚“。
> ãã‚Œã ã‘ã®æŠ€è¡“力ãŒãªã„ã§ã™ã‹ã‚‰ã€‚読む人㮠M17N ã®æž çµ„ã¿ä½œã‚Šã¸ã®
> æ„欲をã‹ããŸã¦ã‚‹ã‚ˆã†ãªæ–‡æ›¸ã€ã¨ã„ã†ã®ãªã‚‰ã€ã¾ã ã—ã‚‚...。

今ã§ãã¦ã„ã‚‹ã“ã¨ã¨ã€ã§ãã¦ã„ãªã„ã“ã¨ã‚’分類ã™ã‚‹ã“ã¨ã«ã‚‚価値ãŒ
ã‚ã‚‹ã¨æ€ã†ã®ã§ã™ãŒã€‚

ãã‚Œã‹ã‚‰ã€è¶³ã‚Šãªã„ã¨æ›¸ã„ãŸã®ã¯ã€ŒI18Nã§ã¯è¶³ã‚Šãªã„ã€ã¨æ›¸ã„ãŸã®
ã§ã¯ãªãã¦ã€ã€Œwcstombsçš„ãªé–¢æ•°ç¾¤ã€ã ã‘ã§ã¯I18Nã‚’ã™ã‚‹ã«ã¯è¶³ã‚Š
ãªã„ã¨æ›¸ã„ãŸã¤ã‚‚ã‚Šã§ã™ã€‚ã“ã“ã§ã¯M17Nã®äº‹ã¯ä¸€åˆ‡é–¢ä¿‚ã‚ã‚Šã¾ã›ã‚“。

# 作業ã€å¤§å¤‰ã ã¨æ€ã„ã¾ã™ãŒã€æ„Ÿæƒ…çš„ã«æ·±èª­ã¿ã—ãªã„よã†ã«ã—ã¦ä¸‹
# ã•ã„。話ãŒè¤‡é›‘ã«ãªã£ã¦ã—ã¾ã„ã¾ã™ã€‚

> 岡ã•ã‚“:
> > Xã®å ´åˆã«é™ã‚‹ã¨XFontStructã¨XFontSetã«é›†ç´„ã•ã‚Œã‚‹ã‚ã‘ã§ã™ãŒã€
> > 一般化ã—ã¦ä¸‹ã•ã„。
> 
> ãˆã£ã¨ã€ãã‚Œã¯ç›®æ¬¡ã®é …ç›®ã¥ã‘ã«å¯¾ã™ã‚‹æ„見ã§ã™ã­ã€‚ç§ã¯ X ã¨ã‚³ãƒ³ã‚½ãƒ¼ãƒ«ã§
> 分類ã™ã‚‹ã“ã¨ãŒå¿…è¦ã ã¨æ€ã£ãŸã‹ã‚‰åˆ†é¡žã—ãŸã®ã§ã™ãŒã€ã”ã£ã¡ã‚ƒã«ã™ã‚‹ã¨
> ã©ã†ãªã‚‹ã‹ã€ã¡ã‚‡ã£ã¨æƒ³åƒã‚‚ã¤ãã¾ã›ã‚“。

ã„ãˆã€‚ä¹…ä¿ç”°ã•ã‚“ãŒXFontStructãªã©ã®è¨€è‘‰ã‚’直接使ã‚ãšä¸€èˆ¬åŒ–ã—
ã¦æ›¸ããŸã„ã¨æ›¸ã‹ã‚Œã¦ã„ãŸã®ã§ã€ã“ã†æ›¸ãã¾ã—ãŸã€‚ãã‚“ãªã«æ°—ã«ã—
ãªã„ã§ä¸‹ã•ã„。

> 岡ã•ã‚“:
> >> フォントã§ã¯ãªãã¦(コードセットã”ã¨ã®)フォントã®é›†åˆã‚’扱ã†
> >> å¿…è¦ãŒã‚ã‚‹ã€ã¨ã„ã†ã“ã¨ã§ã—ょã†ã‹ï¼Ÿ
> > 最終的ã«ã¯ãã®ã‚ˆã†ã§ã™ã€‚ãŒã€ãƒ•ã‚©ãƒ³ãƒˆã‚»ãƒƒãƒˆã‚’é¸æŠžã™ã‚‹ã‚ˆã†ãªãƒ€
> > イアログã¯è€ƒãˆãŸã ã‘ã§ã‚‚鬱陶ã—ã„ã®ã§ã€é¸æŠžã™ã‚‹ã®ã¯ãƒ•ã‚©ãƒ³ãƒˆã€
> > ダイアログã‹ä½•ã‹ãŒãã“ã‹ã‚‰ãƒ•ã‚©ãƒ³ãƒˆã‚»ãƒƒãƒˆã‚’推論ã™ã‚‹ã¨ã„ã†ã®ãŒ
> > 妥当ãªã®ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“(ãれも最é©ã‹ã©ã†ã‹ç–‘å•)。
> 
> ã“ã®å ´åˆã®ã€ã€Œãれも最é©ã‹ã©ã†ã‹ç–‘å•ã€ã¨ã„ã†ã®ã¯ã€æŠ€è¡“çš„ãªå•é¡Œ
> ã¨ã„ã†ã‚ˆã‚Šã¯ã€ã™ãã‚ŒãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã¯ã©ã†ã‚ã‚‹ã¹ãã‹ã€
> ã¨ã„ã†å•é¡Œã§ã™ã­ã€‚ã¨ã“ã‚ã§ã€æŠ€è¡“çš„ãªå•é¡Œã¯ã“ã‚Œã§è§£æ±ºã¨è€ƒãˆã¦
> ã„ã„ã®ã§ã—ょã†ã‹ï¼Ÿï¼ˆã¤ã¾ã‚Šã€ãã†ã™ã‚Œã°æ–‡å­—化ã‘ã¯ã—ãªã„)

ã¯ã„ã€ãã†ã§ã™ã€‚
# 文章ã«é›‘音ãŒå¤šãã¦ç”³ã—訳ã‚ã‚Šã¾ã›ã‚“。
--
岡 充 (Mitsuru Oka)
奈良先端科学技術大学院大学