é»’ç”° æ‹“ ã¨è¨€ã„ã¾ã™ã€‚
個人的ãªå¿…è¦ã«ã‹ã‚‰ã‚Œã¦ã€RDocã‚’i18n化ã—ã¦ã¿ã¾ã—ãŸã€‚パッãƒã¯1.8.6-p36ã«å¯¾
ã™ã‚‹ã‚‚ã®ã§ã™ã€‚
Rubyã®ã‚½ãƒ¼ã‚¹ã«æ¬¡ã®è¦é ˜ã§è¤‡æ•°ã®è¨€èªžã§è¨˜è¿°ã—ãŸã‚³ãƒ¡ãƒ³ãƒˆã‚’書ã„ã¦ãŠã„ã¦ã€
Print out `hoge’
lang: ja
「ã»ã’ã€ã‚’出力
def hoge
puts “hoge”
end
ã“れã‹ã‚‰ãƒ‰ã‚ュメントを生æˆã™ã‚‹ã¨ãã«
*日本語ã®ã¿
*英語ã®ã¿
*日本語ã¨è‹±èªžä¸¡æ–¹
ã‹ã‚‰é¸ã¹ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
詳細㯠http://www.hinet.mydns.jp/~hiraku/hiki/hiki.cgi?RDoci18n ã«æ›¸ã„ã¦
ãŠãã¾ã—ãŸã€‚
ã‚‚ã—å–り込んã§ã„ãŸã ã‘れã°å…‰æ „ã§ã™ã€‚
e$B$J$+$@$G$9!#e(B
At Sat, 4 Aug 2007 19:09:46 +0900,
KURODA Hiraku wrote in [ruby-dev:31345]:
e$B8D?ME*$JI,MW$K$+$i$l$F!"e(BRDoce$B$re(Bi18ne$B2=$7$F$_$^$7$?!#%Q%C%A$Oe(B1.8.6-p36e$B$KBPe(B
e$B$9$k$b$N$G$9!#e(B
e$B4pK\E*$K$O!"$3$&$$$C$?5!G=DI2C$Oe(B1.8e$B$G$O$J$/e(B1.9e$B$G$7$g$&!#e(B
e$B$3$l$+$i%I%-%e%a%s%H$r@8@.$9$k$H$-$Ke(B
*e$BF|K\8l$N$_e(B
*e$B1Q8l$N$_e(B
*e$BF|K\8l$H1Q8lN>J}e(B
e$B$+$iA*$Y$k$h$&$K$J$j$^$9!#e(B
e$B8D?ME*$J46A[$H$7$F$Oe(B
- lang: e$B$,;k3PE*$J6h@Z$j$H$7$FG’<1$7$E$i$$e(B
- e$B=PNO$5$l$?e(BHTMLe$B$Ne(Bcharsete$B$,e(Biso8859-1e$B$N$^$^e(B
- e$B0[$J$k%(%s%3!<%G%#%s%0$O$I$&07$&$Y$-$+e(B
e$B$H$$$C$?$"$?$j$,5?Ld$G$9!#e(B
e$B:Y$+$$$3$H$r$$$&$H!"e(Bremove_unwanted_lange$B$,$A$g$C$H$^$I$m$C$3$7$$e(B
e$B$+$J!#e(B
def remove_unwanted_lang(comment)
dl = @options.lang # Document Language
strict = @options.lang_strict
sl = nil # Section Language
r = []
comment.each_line do |l|
if l.sub!(/^(\s*\#?)\s*lang:\s*([a-z]{2})(?=\s|$)/n, '\1')
sl = $2
r << l
elsif sl == dl or !(strict || (dl && sl))
r << l
end
end
comment.replace(r.join)
end
é»’ç”°æ‹“ã§ã™ã€‚
ãªã‹ã ã•ã‚“ã€ãŠè¿”事ã‚りãŒã¨ã†ã”ã–ã„ã¾ã—ãŸã€‚
Nobuyoshi N. ã•ã‚“ã¯æ›¸ãã¾ã—ãŸ:
基本的ã«ã¯ã€ã“ã†ã„ã£ãŸæ©Ÿèƒ½è¿½åŠ ã¯1.8ã§ã¯ãªã1.9ã§ã—ょã†ã€‚
言ã‚れã¦ã¿ã‚Œã°ãã†ã§ã—ãŸã€‚
é ‚ã„ãŸåŠ©è¨€ã‚’å…ƒã«ãƒ‘ッãƒã‚’作り直ã—ãŸã®ã§ã™ãŒã€ä»Šå›žã€ãƒ‘ッãƒå…ƒã¯1.9ã«ã—ã¾ã—ãŸã€‚
ç´°ã‹ã„ã“ã¨ã‚’ã„ã†ã¨ã€remove_unwanted_langãŒã¡ã‚‡ã£ã¨ã¾ã©ã‚ã£ã“ã—ã„
ã‹ãªã€‚
ä¿®æ£ã€ã‚りãŒã¨ã†ã”ã–ã„ã¾ã—ãŸã€‚è‡ªåˆ†ã®æ›¸ã„ãŸã‚³ãƒ¼ãƒ‰ãŒãˆã‚‰ãスッã‚リã¨å¤‰ã‚ã£
ã¦ã„ã¦é©šãã¾ã—ãŸã€‚
- lang: ãŒè¦–覚的ãªåŒºåˆ‡ã‚Šã¨ã—ã¦èªè˜ã—ã¥ã‚‰ã„
ã¨ã‚Šã‚ãˆãš:section:ã¨ã‹ã¨åŒæ§˜ã«ã€:lang: を区切りã«ã™ã‚‹ã‚ˆã†ã«ã—ãŸã®ã§ã™
ãŒã€ã‚ã¾ã‚Šå¤‰ã‚らãªã„ã§ã™ã。悩ã¾ã—ã„ã¨ã“ã‚ã§ã™ã€‚
ä»–ã«ã€
if l.sub!(/^(\s*\#?).*\s*lang:\s*([a-z]{2})/n, '\1')
sl = $2
ãªã©ã¨ã—ã¦ã€Œ`:lang: ja’ã®å‰å¾Œã«ä»»æ„ã®æ–‡å—を入れられるã€ã¨ã‹ã‚‚考ãˆã¦ã¿ãŸ
ã®ã§ã™ãŒã€æ¡ä»¶ãŒã‚†ã‚‹ã™ãŽã‚‹ã‚ˆã†ãªæ°—ãŒã—ã¦ä»Šå›žæå‡ºã®ãƒ‘ッãƒã«ã¯å…¥ã‚Œã¦ã„ãªã„
ã§ã™ã€‚
後ã¯ä½¿ã„æ–¹ã®å•題ã«ã—ã¦ã€ãƒ‰ã‚ュメントを書ãéš›ã«è¨€èªžæŒ‡å®šã®å‰ã«ç©ºè¡Œã ã‘ã®ã‚³
メント行を入れã¦ç›®ç«‹ãŸã›ã‚‹ã¨ã‹ã§ã—ょã†ã‹ã€‚
- 出力ã•れãŸHTMLã®charsetãŒiso8859-1ã®ã¾ã¾
- ç•°ãªã‚‹ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã¯ã©ã†æ‰±ã†ã¹ãã‹
ã¨ã„ã£ãŸã‚ãŸã‚ŠãŒç–‘å•ã§ã™ã€‚
ã¾ãšã€ãƒ‡ãƒ•ォルトã®charset指定をUTF-8ã«å¤‰æ›´ã—ã¦ã¿ã¾ã—ãŸã€‚
ãã—ã¦ã€å‡ºåŠ›ã™ã‚‹charsetã«å¿œã˜ã¦ã€Kconvを使ã£ã¦å¤‰æ›ã™ã‚‹ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’è¿½åŠ ã—
ã¦ã¿ã¾ã—ãŸã€‚
起動時ã«
- -K ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒæŒ‡å®šã•れã¦ã„ãŸã‚‰Kconvを使ã£ã¦å¤‰æ›ã™ã‚‹
- `-k euc’ ãªã©ã¨ã—ã¦å¤‰æ›å…ƒã®æ–‡å—コードを指定出æ¥ã‚‹
- -kã«ã‚ˆã‚‹æŒ‡å®šãŒãªã„å ´åˆã¯ã€å¤‰æ›å…ƒæ–‡å—コードã«ã¯Kconv::AUTOを使ã†
ã¨ã„ã†å‹•作ã§ã™ã€‚
~/$ rdoc -l ja -K -k euc -c Shift_jis
ã¨ã„ã£ãŸå…·åˆã§ã™ã€‚
ä»–ã®è¨€èªžãŒã©ã†è¨˜è¿°ã•れるã‹è¦‹å½“ãŒã¤ã‹ãªã‹ã£ãŸã®ã§(本当ã«å¤šè¨€èªžãªãƒ‰ã‚ュメ
ントをソースã«å…¥ã‚Œã‚‹ãªã‚‰UTF-8を使ã†ã“ã¨ã«ãªã‚‹ã®ã§ã—ょã†ã‹)ã€åƒ•ã®æ–¹ã§ã¯ã¨
りã‚ãˆãšæ—¥æœ¬èªžã®ã¿ã‚’念é ã«è€ƒãˆã¦ã„ã¾ã™ã€‚