Rechercher une page de manuel
po4a
Langue: ja
Version: 2010-06-01 (fedora - 01/12/10)
Section: 7 (Divers)
Sommaire
- åå
- æ¦è¦
- ç®æ¬¡
- ãªã po4a ã使ããªãã¦ã¯ãªããªãã®ã§ããã? ä½ããããã¨ãããã¾ãã?
- po4a ã®ä½¿ãæ¹ã¯?
- æ¦è¦å³
- æ°è¦ç¿»è¨³ãå§ããã«ã¯?
- 翻訳ãããã¥ã¡ã³ããã¡ã¤ã«ã«é©ç¨ããã«ã¯?
- po4a 翻訳ãæ´æ°ããã«ã¯?
- æ¢åã®è¨³ã po4a ã«ã³ã³ãã¼ãããã«ã¯?
- 翻訳ã«ãã¾ãã®ããã¹ã (翻訳è åãªã©) ã追å ããã«ã¯?
- ä¸åº¦ã®ããã°ã©ã å®è¡ã§ãã®ãã¹ã¦ãè¡ãã«ã¯?
- ã©ã®ããã«åä½ãã¾ãã?
- FAQ
- ä½æ 段è½ãã¨ã«åå²ãã¦ç¿»è¨³ããã®ã§ãããã?
- æã¬ãã« (ã¾ãã¯ãã以ä¸) ã§åå²ããªãã®ã¯ä½æ ã§ãã?
- ãªãªã¸ãã«ãã³ã¡ã³ãã¨ãã¦ç¿»è¨³ä¸ (ããã®ä»ã®ã¨ãã) ã«ã¤ããªãã®ã¯ä½æ ã§ãã?
- ããããgettext ã¯ãããªç¨éåãã«ã¯è¨è¨ããã¦ãã¾ãã!
- gettext ã使ã£ãããã¥ã¡ã³ã翻訳ãã¼ã«ã¯ä»ã«ä½ãããã¾ãã?
- 翻訳ã«ã¤ãã¦ã®éçºè æè²
- gettext ãã¼ã¹ã¢ããã¼ãã®å©ç¹ã¾ã¨ã
- æ¢ç¥ã®ãã°ã¨æ©è½ã®ãªã¯ã¨ã¹ã
- èè
- 訳è
åå
po4a - ããã¥ã¡ã³ãããã®ä»ã®ç¿»è¨³ãã¬ã¼ã ã¯ã¼ã¯æ¦è¦
po4a (po for anything) ããã¸ã§ã¯ãã¯ãgettext ãã¼ã«ãæ³å®ãã¦ããªãããã¥ã¡ã³ãã®ãããªé åã§ç¿»è¨³ãããããããã㨠(ã¾ãããèå³æ·±ãã®ã¯ã翻訳æã®ä¿å®ããããããªããã¨) ãç®æ¨ã«ãã¦ãã¾ããç®æ¬¡
ãã®ããã¥ã¡ã³ãã¯ä»¥ä¸ã®ãããªæ§æã¨ãªã£ã¦ãã¾ãã- 1 ãªã po4a ã使ãã®ã§ãããã? ãªã«ãããã®ã§ãããã?
- ãã®å°å ¥ã®ç« ã§ã¯ãããã¸ã§ã¯ãã®åæ©ã¨ãã®å²å¦ã«ã¤ãã¦èª¬æãã¾ãã翻訳ãè¡ãã«å½ãã£ã¦ po4a ãè©ä¾¡ä¸ã§ãããªããã¾ããã®ç« ãèªãã§ãã ããã
- 2 po4a ã®ä½¿ãæ¹ã¯?
- ãã®ç« ã§ã¯ãå¦çå
¨ä½ãç解ãã¦ããã ããããã«ãã¦ã¼ã¶ã®è³ªåã«çããå½¢ã®ãªãã¡ã¬ã³ã¹ããã¥ã¢ã«ã®ä¸ç¨®ã§ããpo4a ãã©ã®ããã«ä½¿ç¨ããããç´¹ä»ããç¹å®ã®ãã¼ã«ã®ããã¥ã¡ã³ãã«å°å
¥ããæ¹æ³ãæä¾ãã¾ãã
-
- æ°è¦ç¿»è¨³ãå§ããã«ã¯?
- 翻訳ãããã¥ã¡ã³ããã¡ã¤ã«ã«é©ç¨ããã«ã¯?
- po4a 翻訳ãæ´æ°ããã«ã¯?
- æ¢åã®è¨³ã po4a ã«ã³ã³ãã¼ãããã«ã¯?
- 翻訳ã«ãã¾ãã®ããã¹ã (翻訳è åãªã©) ã追å ããã«ã¯?
- ä¸åº¦ã®ããã°ã©ã å®è¡ã§ãã®ãã¹ã¦ãè¡ãã«ã¯?
-
- 3 ã©ã®ããã«åä½ãã¾ãã?
- ãã®ç« ã§ã¯ãä¿å®æ¹è¯ãèªä¿¡ãæã£ã¦å©ãã¦ããã ãããã po4a å é¨ã®æ¦è¦ã説æãã¾ããã¾ããä½æ æã£ãããã«åä½ããªãããã©ã®ããã«åé¡ã解決ããã°ããããç解ããå©ãã«ãªãããããã¾ããã
- 4 FAQ
- æ¬ç« ã§ã¯ããè¨ããã質åãåé¡ãã¾ããå®éã以ä¸ã®ãããªå½¢ã§ã»ã¨ãã©ã®è³ªåãå®ååã§ãã¾ãããããªãããã§ã¯ãªãããã®ãããªè¨è¨ãããã®ã§ãã?ã po4a ãããã¥ã¡ã³ãã翻訳ããæ£ããæ¹æ³ã§ã¯ãªãã¨æãããããã®ç¯ãèªãããã«ããã¹ãã§ããããªãã®çåã¸ã®çãã«ãªããªããªãã<po4a-devel@lists.alioth.debian.org> ã¡ã¼ãªã³ã°ãªã¹ãã§ç§ãã¡ã«ãåãåãããã ãããç§ãã¡ã¯ãã£ã¼ãããã¯ã大好ãã§ãã
- 5 ã¢ã¸ã¥ã¼ã«åºæã®è¨è¿°
- ãã®ç« ã§ã¯ã翻訳è
ã¨ãªãªã¸ãã«ã®ä½è
ã®è¦ç¹ã§ãããããã®ã¢ã¸ã¥ã¼ã«ã®ä»æ§ã示ãã¦ãã¾ãã翻訳çæ´»ããã楽ã«ããããã«ããã®ã¢ã¸ã¥ã¼ã«ã§ç¿»è¨³ããéã«ééããææ³ãããªãªã¸ãã«ã®ããã¥ã¡ã³ããå¾ããªããã°ãªããªãã«ã¼ã«ã«ã¤ãã¦å¦ã¶ã«ã¯ãããããèªã¿ãã ããã
å®éããã®ç¯ã¯æ¬ããã¥ã¡ã³ãæ¬æ¥ã®é¨åã§ã¯ãªããåã¢ã¸ã¥ã¼ã«ã®ããã¥ã¡ã³ãã«ããã¾ããããã«ãããããã¥ã¡ã³ãã¨ã³ã¼ããå ±ã«ä¿å®ãã確å®ã«æ å ±ãææ°ã¨ãªãã®ãå©ãã¾ãã
- 6 æ¢ç¥ã®ãã°ã¨æ©è½è¦æ
- æ¢ã«ããããããã¾ãã:(
ãªã po4a ã使ããªãã¦ã¯ãªããªãã®ã§ããã? ä½ããããã¨ãããã¾ãã?
誰ã§ãã½ããã¦ã§ã¢ããã®ã½ã¼ã¹ã³ã¼ãã«ã¢ã¯ã»ã¹ã§ããããã«ããããªã¼ãã³ã½ã¼ã¹ã®èãæ¹ãç§ã¯å¥½ãã§ããããããã©ã³ã¹äººã§ãããã½ããã¦ã§ã¢ã®ãªã¼ãã³åº¦ãã©ã¤ã»ã³ã¹ã®ã¿ã§ãªããã¨ãããæèãã¦ãã¾ãã翻訳ããã¦ããªãããªã¼ã½ããã¦ã§ã¢ã¯ãéè±èªåã®äººã ã«ã¯å½¹ã«ç«ããªãã®ã§ããã§ãããæ¬å½ã«èª°ã§ãå©ç¨ã§ããããã«ãã¾ã ä½æ¥ãè¡ã£ã¦ãã¾ãããªã¼ãã³ã½ã¼ã¹æ´»å家ã®ãã®ç¶æ³ã®èªç¥åº¦ã¯ãæè¿åçã«åä¸ãã¾ããã翻訳è ã¨ãã¦æåã®æ¦ãã«åå©ãã翻訳ã®éè¦æ§ãå¨ç¥ã§ãã¾ããããããæ®å¿µãªãããããã¯ã¾ã ç°¡åãªé¨é¡ã§ãããä»åº¦ã¯ããã¹ã¦ã翻訳ããããä½æ¥ããªããã°ãªãã¾ããã
å®éã«ã¯ããªã¼ãã³ã½ã¼ã¹ã½ããã¦ã§ã¢èªèº«ã¯ããã°ããã gettext ãã¼ã«ç¾¤ã®ãããã§ãããªããã¡ãã¨ç¿»è¨³ã®æ©æµã«ãããã£ã¦ãã¾ããããã¯ããã°ã©ã ãã翻訳ããæååãæ½åºãã翻訳è ã«æ±ºã¾ã£ãå½¢ã§æä¾ããå®è¡æã«ã¯ãä½æ¥ã®ææã§ãã翻訳æ¸ã¿ã®ã¡ãã»ã¼ã¸ãã¦ã¼ã¶ã«è¡¨ç¤ºã§ãã¾ãã
ããããããã¥ã¡ã³ãã®ãã¨ã¨ãªãã¨ç¶æ³ã¯å¤ãã£ã¦ãã¾ãã翻訳ãããããã¥ã¡ã³ãã¯ãååè¦ããªã (ããã°ã©ã ã®ä¸é¨ã¨ãã¦é å¸ãããªã)ãä¸é¨ã®ã¿ã§ãããæ´æ°ããã¦ããªãã¨ãã£ããã¨ãããã¾ãã«ãé »ç¹ã«ããã¾ããæå¾ã®ç¶æ³ãããå¾ãä¸ã§ææªãªãã®ã§ããå¤ããªã£ã翻訳ã¯ããã使ããã¦ããªãå¤ãããã°ã©ã ã®åä½ã«ã¤ãã¦èª¬æãã¦ãããããå ¨ã翻訳ããã¦ããªãã¨ããç¶æ ãããæªãç¶æ ã§ãã
åé¡è§£æ±º
ããã¥ã¡ã³ãã®ç¿»è¨³ã¯ãæ¬æ¥ãããªã«é£ããããã¾ãããããã¹ãã¯ããã°ã©ã ã®ã¡ãã»ã¼ã¸ããããã£ã¨é·ãã訳äºããã®ã«æéããããã¾ãããæè¡ã¹ãã«ãæ¬å½ã«å¿ è¦ã¨ããããã§ã¯ãªãã®ã§ããé£ããé¨åã¯ææç©ãä¿å®ãããã¨ããã¨ãã«ç¾ãã¾ããå¤æ´ç®æãæ´æ°ãã¹ãç®æãæ¢ãåºãã®ã¯é常ã«é£ããã誤ãããããè¦çãã¨ããªãä½æ¥ã§ããä¸ã®ä¸ã«ãããªã«ãæ代é ããªããã¥ã¡ã³ããåå¨ãã¦ããã®ã¯ããããåå ã ã¨èãã¦ãã¾ããpo4a ã®è§£
以ä¸ãããpo4a ã®å ¨ä½ã®ç®æ¨ã¯ãããã¥ã¡ã³ãã®ç¿»è¨³ã ä¿å®ã§ãã ããã«ããäºã§ãããã®æ°ããåéã« gettext ã®æ¹æ³è«ãåå©ç¨ãããã¨èãã¦ãã¾ããgettext ã®ããã«ããªãªã¸ãã«ã®å ´æããããã¹ããæ½åºãã決ã¾ã£ããã©ã¼ãããã§ç¿»è¨³è ã«æ示ãã¾ããå¤å ¸ç㪠gettext ãã¼ã«ã¯ãªãªã¸ãã«ãæ°ãããªãªã¼ã¹ãããã¨ãæ´æ°ããã®ãå©ãã¦ããã¾ããããããå¤å ¸ç㪠gettext ã¢ãã«ã¨ã¯ç°ãªãã翻訳ãããã®ããªãªã¸ãã«ã®æ§é ã«ååº¦æ³¨å ¥ãã¦ãè±èªçã¨åãããã«å¦çã»é å¸ã§ããããã«ãã¾ãããã®ãããã§ãããã¥ã¡ã³ãã®ã©ããå¤æ´ããã¦ãä¿®æ£ããå¿ è¦ãããããè¦ã¤ããã®ããé常ã«ç°¡åã«ãªãã¾ãããä»ã®é·æã¨ãã¦ã¯ããªãªã¸ãã«ããã¥ã¡ã³ãã®æ§é ãæ ¹æ¬çã«åç·¨æããã¦ãç« ã移åã»çµåã»åå²ãããã¨ãã¦ããã»ã¨ãã©ãã¹ã¦ã®ä½æ¥ããã¼ã«ãè¡ãã¨ãããã¨ãããã¾ãã翻訳ç¨ã«ããã¥ã¡ã³ãæ§é ããããã¹ããæ½åºãããã¨ã§ãè¤éãªããã¹ããã©ã¼ãããã«è§¦ãããããã¥ã¡ã³ããå£ãã¨ãã£ãç¶æ³ã«ãªãå¯è½æ§ã (å®å ¨ã«ãªããã¨ããããã«ã¯è¡ãã¾ããã) ä½ãã§ãã¾ãã
ãã®ã¢ããã¼ãã®å©ç¹ã¨æ¬ ç¹ã®ããå®å ¨ãªä¸è¦§ã¯ããã®ããã¥ã¡ã³ãä¸é¨ã® FAQ ãã覧ãã ããã
ãµãã¼ããããã©ã¼ããã
ç¾å¨ããã®ã¢ããã¼ãã§å®è£ ã«æåãã¦ããã®ã¯ã以ä¸ã®ããã¹ãæ´å½¢ãã©ã¼ãããã§ããnroff
ããããã®ããã°ã©ã ã§ä½¿ããã¦ãããå¤ãè¯ãããã¥ã¢ã«ãã¼ã¸ã®ãã©ã¼ãããã§ãããã®ãã©ã¼ãããã¯ããããé£ãããåå¿è ã«ã¯æ¬å½ã«æãããªãã®ã§ po4a ã®ãµãã¼ãã¯é常ã«æè¿ããã¦ãã¾ããLocale::Po4a::Man(3pm) ã¢ã¸ã¥ã¼ã«ã¯ãBSD man ãã¼ã¸ (Linux ã§ãæ¬å½ã«ä¸è¬ç) ã§ä½¿ç¨ããã¦ãã mdoc ãã©ã¼ãããããµãã¼ããã¦ãã¾ãã
pod
Perl ã®ãªã³ã©ã¤ã³ããã¥ã¡ã³ããã©ã¼ãããã§ããè¨èªãæ¡å¼µã¯ãæ¢åã® Perl ã¹ã¯ãªããã¨åãããã«è¨è¿°ããã¦ãã¾ããåããã¡ã¤ã«ã«çµã¿è¾¼ãã§ãå®éã®ã³ã¼ãã®ãã°ã«ããã¥ã¡ã³ããè¨è¿°ãä¿å®ãããããã¦ãã¾ããããã°ã©ãã¼ã®çæ´»ã¯æ¥½ã«ãªãã¾ãããæ®å¿µãªãã翻訳è ã®çæ´»ã¯æ¥½ã«ã¯ãªãã¾ããã
sgml
ãã®ãã㯠XML ã«ãã£ã¦ããããåã£ã¦ä»£ãããã¾ãããããã®ãã©ã¼ãããã¯é·ãéããªãå¤ãã®ããã¥ã¡ã³ãã§ä½¿ç¨ããã¦ãã¾ããããã§å®å ¨ãªæ¬ãä½ããã¨ãã§ãã¾ãããã¾ãã«ãããã¥ã¡ã³ããé·ãããã翻訳ãæ´æ°ããã®ã¯ã¾ãããæªå¤¢ã¨ããã¾ããã¾ãããªãªã¸ãã«ããã¥ã¡ã³ããæ´æ°ããã¨ãã¤ã³ãã³ããåæ§æããããããdiff ããã¾ãå½¹ã«ç«ã¡ã¾ããã幸ããpo4a ã¯ãã®å¦çã§ãå©ãã«ãªãã¾ãã
ç¾å¨ãdebiandoc 㨠docbook DTD ã®ã¿ãµãã¼ããã¦ãã¾ãããæ°ãããµãã¼ããããã®ã追å ããã®ã¯ãæ¬å½ã«ç°¡åã§ããã¾ããã³ãã³ãã©ã¤ã³ã«å¿ è¦ãªæ å ±ãä¸ããã³ã¼ããå¤æ´ããã«æªç¥ã® sgml dtd ã po4a ã§ä½¿ç¨ãããã¨ãã§ãã¾ãã詳細㯠Locale::Po4a::Sgml(3pm) ãã覧ãã ããã
TeX / LaTeX
LaTeX ãã©ã¼ãããã¯ããªã¼ã½ããã¦ã§ã¢çãåºççã§ä½¿ããã¦ããæåãªãã©ã¼ãããã§ããLocale::Po4a::LaTeX(3pm) ã¢ã¸ã¥ã¼ã«ã¯ Python ã®ããã¥ã¡ã³ããæ¸ç±ãå種çºè¡¨ã§ãã¹ãããã¦ãã¾ãã
texinfo
GNU ã®ããã¥ã¡ã³ãã¯ãã¹ã¦ãã®ãã©ã¼ãããã§æ¸ããã¦ãã¾ã (å ¬å¼ GNU ããã¸ã§ã¯ãã«ãªãå¿ è¦æ¡ä»¶ã®ä¸ã¤ã§ã)ãpo4a ã®Locale::Po4a::Texinfo(3pm) ãµãã¼ãã¯å§ã¾ã£ãã°ããã§ãããã°å ±åãæ©è½ã®ãªã¯ã¨ã¹ãããé¡ããã¾ãã
xml
XML ãã©ã¼ãããã¯å¤ãã®ããã¥ã¡ã³ããã©ã¼ãããã®åºç¤ã«ãªã£ã¦ãã¾ãã
ç¾å¨ãpo4a ã§ã¯ docbook ã® DTD ããµãã¼ããã¦ãã¾ãã詳細ã¯ãLocale::Po4a::Docbook(3pm) ãã覧ãã ããã
ãã®ä»
po4a ã¯ãã«ã¼ãã« 2.4.x ã®ã³ã³ãã¤ã«ãªãã·ã§ã³ã®ããã¥ã¡ã³ãããdia ãã¼ã«ã§ä½¿ç¨ããå³ã¨ãã£ãããã£ã¨ã¬ã¢ã ã£ããç¹æ®ãªãã©ã¼ãããããµãã¼ããã¦ãã¾ããæ°ãããã®ã追å ããã®ã¯é常ã«ç°¡åã§ãç®æ¨ãã©ã¼ãããã®ãã¼ãµã追å ããã®ã主ãªã¿ã¹ã¯ã¨ãªã£ã¦ãã¾ãããã®è©³ç´°æ å ±ã¯ Locale::Po4a::TransTractor(3pm) ãã覧ãã ããã
ãµãã¼ãå¤ã®ãã©ã¼ããã
æ®å¿µãªãããpo4a ã¯ããã¤ãã®ããã¥ã¡ã³ããã©ã¼ãããã®ãµãã¼ããæ¬ ãã¦ãã¾ããããã¥ã¡ã³ãã ãã§ã¯ãªããpo4a ã§ãµãã¼ããããä»ã®ãã©ã¼ããããããããããã¾ããã¾ãããç§ãã¡ã¯ãå¤å ¸ç㪠gettext ãã¼ã«ãæ®ãããå¸å ´ã®ç©´ããåããã®ãç®æ¨ã¨ãã¦ãã¾ããããã±ã¼ã¸ã®èª¬æ (deb ã rpm)ããããã±ã¼ã¸ã®ã¤ã³ã¹ãã¼ã«ã¹ã¯ãªããã®è³ªåãããã±ã¼ã¸ã® changelogãã²ã¼ã ã®ã·ããªãªã wine ãªã½ã¼ã¹ãã¡ã¤ã«ã¨ãã£ãããã°ã©ã ã使ç¨ãããã¹ã¦ã®ç¹æ®ãã¡ã¤ã«ãåãè¾¼ã¿ã¾ãã
po4a ã®ä½¿ãæ¹ã¯?
ãã®ç« ã§ã¯ãå¦çå ¨ä½ãç解ãã¦ããã ããããã«ãã¦ã¼ã¶ã®è³ªåã«çããå½¢ã®ãªãã¡ã¬ã³ã¹ããã¥ã¢ã«ã®ä¸ç¨®ã§ããpo4a ãã©ã®ããã«ä½¿ç¨ããããç´¹ä»ããç¹å®ã®ãã¼ã«ã®ããã¥ã¡ã³ãã«å°å ¥ããæ¹æ³ãæä¾ãã¾ããæ¦è¦å³
以ä¸ã®å³ã¯ po4a ãç¨ããããã¥ã¡ã³ã翻訳éç¨ã®æ¦è¦ã§ããéç¨ã®ãã¹ã¦ã示ãã¦è¤éã«ãªã£ã¦ãã¾ãã¾ãããããããã¥ããªãã§ãã ããããã£ããããã¸ã§ã¯ãã po4a ã«å¤æããã¨å³ã®å³ã®é¨åã®ã¿ãé¢é£ãã¾ãã注: ããã§ã¯sgmlãä¾ã«èª¬æãã¾ãããå ¨ã¦ã®ã¢ã¸ã¥ã¼ã«ã§åããã¨ãè¨ãã¾ããå³ã®åé¨ã®è©³ç´°ã¯ã次ç¯ã§è§£èª¬ãã¾ããfr.sgml original.sgml ---->--------+------>----------->-------+ | | | | V V { ãªãªã¸ãã«ã®æ´æ° } | | | | | +--<---<--+ V | | | original.new.sgml----->------->----+ V V | | [po4a-gettextize] +--->---->---+ | | | | V | | | | [po4a-updatepo] | | V ^ | V V original.pot | V | | | | fr.po | | | | (fuzzy) | | { 翻訳 } | | | | | ^ V V | | | {æåç·¨é} | V V | | | | | | V V | | +--<--- fr.po 追å å 容 original.sgml +---->----+---->------->---> (ææ°) (ãªãã·ã§ã³) (ææ°) | | | v v v +------>-----+------<------+ | v [po4a-translate] | V fr.sgml (ææ°)
å·¦å´ã§ãpo4a ã使ç¨ãã¦ããªã翻訳ã®ãã®ã·ã¹ãã ã¸ã®å¤æã表ãã¾ããå³å´ã®å é ã§ãªãªã¸ãã«ã®ä½è ã®è¡å (ããã¥ã¡ã³ãã®æ´æ°) ãæãã¦ãã¾ããå³å´ã®ä¸ç¤ã§ po4a ãèªåã§è¡ãåä½ãæãã¦ãã¾ããæ°ããè¦ç´ ãæ½åºããæ¢åã®ç¿»è¨³ã¨æ¯è¼ãã¦ãã¾ããå¤æ´ã®ãªãã£ãé¨åã«ã¯ä»¥åã®ç¿»è¨³ã使ãã¾ããä¸é¨å¤æ´ãããé¨åã«ã¯ã以åã®ç¿»è¨³ã使ãã¾ããã翻訳ãæ´æ°ããå¿ è¦ãããã¨ãããã¼ã¯ãä»ãã¾ããå³ã®ä¸é¨ã¯ãæ´å½¢æ¸ã¿ããã¥ã¡ã³ããã©ã®ããã«çµã¿ç«ã¦ããããã示ãã¦ãã¾ãã
å®éã«ã¯ã翻訳è ã¨ãã¦ãå¯ä¸æã§æä½ããªããã°ãªããªãã®ã¯ã{æåç·¨é} ã¨å°ãä»ãã¦ããé¨åã§ããããç³ã訳ããã¾ãããpo4a ã¯ç¿»è¨³ã®å©ãã«ã¯ãªãã¾ããã翻訳ããã¦ãããããã§ã¯ããã¾ããâ¦â¦
æ°è¦ç¿»è¨³ãå§ããã«ã¯?
ãã®ç¯ã§ã¯ãpo4a ã§æ°ãã翻訳ãå§ããã®ã«å¿ è¦ãªæé ã説æãã¾ããæ¢åããã¸ã§ã¯ãããã®ã·ã¹ãã ã«å¤æããæ¹æ³ã¯ãé¢é£ã»ã¯ã·ã§ã³ã§è©³ããåãæ±ãã¾ããpo4a ãç¨ãã¦æ°ãã翻訳ãå§ããã«ã¯ã以ä¸ã®æé ãè¡ãå¿ è¦ãããã¾ãã
- -
- ãªãªã¸ãã«ããã¥ã¡ã³ãããã翻訳ããããã¹ããæ°ãã pot ãã¡ã¤ã« (gettext ãã©ã¼ããã) ã«æ½åºãã¾ããããã«ã¯ po4a-gettextize ããã°ã©ã ã以ä¸ã®ããã«ä½¿ãã¾ãã
$ po4a-gettextize -f <format> -m <master.doc> -p <translation.pot>
<format> ã¯ãé常 <master.doc> ããã¥ã¡ã³ãã§ä½¿ç¨ãã¦ãããã©ã¼ãããã§ããããããã<translation.pot> ã«åºåããã¾ãããªãã·ã§ã³ã«ã¤ãã¦ã®è©³ç´°ã¯ po4a-gettextize(1) ãã覧ãã ããã
- -
- 翻訳ãã¹ãç®æããå®éã«ç¿»è¨³ãã¦ãã ãããããã«ã¯ pot ãã¡ã¤ã«ã®ååããä¾ãã° doc.XX.po (XX ã¯ç¿»è¨³ãã ISO639 ã®è¨èªã³ã¼ããä¾: ãã©ã³ã¹èªã¯ ``fr'') ã¨å¤æ´ãããã®ãã¡ã¤ã«ãç·¨éãã¾ããããã°ã©ã ã®ã¡ãã»ã¼ã¸ã«å¯¾ãã翻訳ã¨æ··åããªãããã«ãXX.po ã¨è¨ãååãä»ããªãããã«ããã®ãè¯ãæ¹æ³ã§ãããããã¯ããªã次第ã§ããpo ãã¡ã¤ã«ã®ãããã®ç·¨éãå¿ããªãã§ãã ããããããéè¦ã§ãã
å®éã®ç¿»è¨³ã¯ãEmacs ã® po mode ã kbabel (KDE ç±æ¥)ãgtranslator (GNOME ç±æ¥)ãã¾ãã¯ã好ã¿ã®ããã°ã©ã ãç¨ãã¦è¡ãã¾ããã¾ããã®ããã®ã¢ã¼ãããªãã¦ããå¤ãè¯ã vi ã§å½åã®ç®çãéæã§ããã§ãããã
ããã«ã¤ãã¦ãã£ã¨å¦ã¶ã®ãªããgettext-doc ããã±ã¼ã¸ã«ãã gettext ã®ããã¥ã¡ã³ãã決å®çã¨ãã¦åç §ããå¿ è¦ãããã¾ãã
翻訳ãããã¥ã¡ã³ããã¡ã¤ã«ã«é©ç¨ããã«ã¯?
翻訳ãçµãã£ããã翻訳ããããã¥ã¡ã³ããããªãªã¸ãã«ã®ãã®ã¨ä½µãã¦ã¦ã¼ã¶ã«æä¾ãã¾ããããããã«ã¯ä»¥ä¸ã®ããã« po4a-translate(1) ããã°ã©ã ã使ç¨ãã¦ãã ãã (XX ã¯è¨èªã³ã¼ãã§ã)ã$ po4a-translate -f <format> -m <master.doc> -p <doc.XX.po> -l <XX.doc>
å ã»ã©ã¨åæ§ã«ã<format> 㯠<master.doc> ããã¥ã¡ã³ãã§ä½¿ç¨ãã¦ãããã©ã¼ãããã§ãããããä»åº¦ã¯ã-p ãã©ã°ã§æå®ãã po ãã¡ã¤ã«ãå ¥åé¨ã«ããã¾ããããã¯ããªãã訳ãããã®ã§ãã<XX.doc> ã«åºåãã¾ãã
詳細㯠po4a-translate(1) ãã覧ãã ããã
po4a 翻訳ãæ´æ°ããã«ã¯?
ãªãªã¸ãã«ãã¡ã¤ã«ãå¤æ´ãããæã«è¨³ãæ´æ°ããã«ã¯ãuse the po4a-updatepo(1) ã以ä¸ã®ããã«ä½¿ç¨ãã¾ãã$ po4a-updatepo -f <format> -m <new_original.doc> -p <existing.XX.po>
(詳細㯠po4a-updatepo(1) ãã覧ãã ãã)
å½ç¶ãããã¥ã¡ã³ãã®æ°ãã段è½ãããã®æä½ã§éæ³ã®ããã« "po" ãã¡ã¤ã«ã§ç¿»è¨³ããã¦ãããã¨ãããã¨ã¯ããã¾ããã"po" ãã¡ã¤ã«ãæã§æ´æ°ããå¿ è¦ãããã¾ããåæ§ã«ãå¤å°å¤æ´ããã£ã段è½ã«ã¤ãã¦ããå度翻訳ããå¿ è¦ãããã¾ããå¤æ´ãè¦éããªãããã«ããã®ä¿®æ£ã®éã``fuzzy'' ãã¼ã«ãä»ããpo4a-translate ã使ç¨ããåã«ãã®ãã¼ã«ãæ¶ããªããã°ãªãã¾ãããåæ翻訳ã¨åæ§ã«ã好ã¿ã® po ã¨ãã£ã¿ã使ç¨ããã®ãæåã§ãã
æªè¨³é¨ã fuzzy ãªé¨åãåãé¤ãã¦ã"po" ãã¡ã¤ã«ãå度ææ°ã«ããããåç¯ã§èª¬æããããã«ç¿»è¨³æ¸ã¿ããã¥ã¡ã³ããã¡ã¤ã«ãçæã§ãã¾ãã
æ¢åã®è¨³ã po4a ã«ã³ã³ãã¼ãããã«ã¯?
ãªãªã¸ãã«ããã¥ã¡ã³ãã大ããåç·¨æãããã¾ã§ã¯ãæã§ç¿»è¨³ããã®ã«ä¸æºã¯ãªãã£ãã§ããããdiff ã®ãããªãã¼ã«ããã¾ããããªããªã£ããããpo4a ã«ä¹ãæãããã¨ãã¦ããã®ã ã¨æãã¾ãããã¡ããããã®å¦çã§æ¢åã®ç¿»è¨³ã失ãããã¯ããã¾ããããå¿é ãªãããã®å ´åã po4a ã§ã¯æ±ãã¾ããããã gettext åã¨å¼ã³ã¾ããããã§ã®ãã¼ã¯ããã¼ã«ãå 容ã®ããããããè¡ããããã«ã訳ããããã¥ã¡ã³ãã¨ãªãªã¸ãã«ããã¥ã¡ã³ããåãæ§é ããã¦ãããã¨ã§ãã
ããªãããã¤ã¦ããã° (ä¾ãã°ä¸¡æ¹ã®ããã¥ã¡ã³ãã®æ§é ãå®å ¨ã«ä¸è´ããã¨ã)ãã·ã¼ã ã¬ã¹ã«ä¸ç¬ã§å®äºãã¾ããããã§ãªããã°ããã®æé ã«ä½æ ãããªã²ã©ãååãä»ãã¦ããã®ãç解ããã§ããããã¨ã¯ãããããªã²ã©ãä½æ¥ã§ãæºåãã¦ããã«è¶ãããã¨ã¯ããã¾ããããããã«ãããpo4a ã§å¾ã 楽ã«ãªãããã«æ¯æã価å¤ãããã¨æã£ã¦ãã ãããããããããã¨ã«ä¸åã ãããã°ããã®ã§ãã
å¤ãããã¨ã¯å¼·èª¿ã§ãã¾ãããå¦çãç°¡åã«ããã®ã«ã翻訳ã®å ã«ããå®å ¨ãªãã¼ã¸ã§ã³ãè¦ã¤ããã®ãéè¦ã§ããæé«ã®ç¶æ³ã¯ç¿»è¨³ã«ä½¿ç¨ãã cvs ã®ãªãã¸ã§ã³ãæ§ãã¦ããã翻訳ã®ä¸ã§ãããå¤æ´ãã¦ããªããã¨ã§ãããã®å ´åããããå©ç¨ã§ãã¾ãã
æ´æ°ããããªãªã¸ãã«ããã¹ããå¤ã翻訳ã¨ä¸ç·ã«ä½¿ç¨ããã®ã¯ããã¾ãããã¾ããããããã£ããã¨ãã§ãã¾ãããæ¬å½ã«å¤§å¤ã§ãã§ããã°é¿ããæ¹ãããã§ããããäºå®ä¸ãããä¸åº¦ãªãªã¸ãã«ããã¹ããè¦ã¤ããããªããªããä¸çªããã®ã¯ããªãã®ããã« gettext åãã¦ããã人ãè¦ã¤ãããã¨ã§ãããã(ãããããç§ãããªãã§ãã ;)
ãããããã©ãããã¯ãããã§ãããããä½ãåé¡ãããã¨ãã¦ãããã¹ã¦ãããä¸åº¦ç¿»è¨³ãç´ãããã¯éãã¨æãã¾ããæ¢åã® Perl ããã¥ã¡ã³ããã©ã³ã¹èªè¨³ã gettext åããã®ã«ãåé¡ã ããã¾ãã ãã1 æ¥ã§ã§ãã¾ããããã㯠2MB ã®ããã¹ãã§ãæ°è¦ã«è¨³ãã«ã¯æ°ã¶æãè¦ããã§ãããã
ã§ã¯ã¾ããæé ã®åºæ¬ã説æãã¾ããããããä½ãåé¡ãããã°ãæ»ã£ã¦ãã¦ãã³ãã示ãããã¨æãã¾ããããä¸åº¦ sgml ã¢ã¸ã¥ã¼ã«ãä¾ã«åãã¾ããããã©ã¼ãããã¯å ¨ãéè¦ã§ã¯ããã¾ããã
å¤ããªãªã¸ãã«ãæ®ã£ã¦ããã°ãgettext åã¯ä»¥ä¸ã®ããã«ç°¡åã«ãªãããããã¾ããã
$ po4a-gettextize -f <format> -m <old.original> -l <old.translation> -p <doc.XX.po>
ãã¤ã¦ãããªãããã§å®äºã§ããå¤ã翻訳ã po4a ã«å¤æããããã«æ´æ°ã¿ã¹ã¯ãè¡ãã¾ããæ°ç¯åã«èª¬æãããææ°ã®ãªãªã¸ãã«ããã¥ã¡ã³ã㨠po ãã¡ã¤ã«ã®åæãåãæé ã«å¾ãã翻訳ãæ´æ°ãã¦ãã ããã
ãã¾ããã£ã¦ããããã«è¦ãã¦ãããã®å¦çã«èª¤ãã®å ¥ãè¾¼ãä½å°ããããã¨ã«æ³¨æãã¦ãã ããããã¤ã³ã㯠po4a ãããªãªã¸ãã«ã¨ç¿»è¨³ãä¸è´ãã¦ãããã©ãããç解ã§ããªãã¨ãããã¨ã§ãããã®å¦çã®çµæããã¹ã¦ã®æååã« ``fuzzy'' ãã¼ã¯ãä»ãã¦ãã¾ãã®ã¯ããããããã§ãããã¼ã«ãåé¤ããåã«ã注æãã¦ãã§ãã¯ããå¿ è¦ãããã¾ãã
ãã°ãã°ãããã¥ã¡ã³ãæ§é ãå®å ¨ã«ä¸è´ãããã¨ããããã«ã¯è¡ãã¾ããããã®å ´åã²ã¼ã ã®å 容ã¯ãæ§é ãä¸è´ãããã®ã«ãã¡ã¤ã«ãç·¨éãããã¨ãããã¨ã«ãªãã¾ãã
å¾ã«ãã ``gettext å: ã©ã®ããã«åä½ãã¾ãã?'' ç¯ãèªãã¨åèã«ãªãã¨æãã¾ããå é¨å¦çãç解ãããã¨ã¯ããã®ä½æ¥ã®å©ãã«ãªãã¾ããpo4a-gettextize ã®å©ç¹ã¯ãä½ãåé¡ãçºçããã¨ã詳ããæãã¦ããããã¨ã§ããã¾ããããã¥ã¡ã³ãã«æ§é ä¸ã®é£ãéããããå ´åããã®ç®æãææãã¾ããããã§ä¸è´ããªãæååããããã¹ãä¸ã®ç®æããããã®åãåããã¾ããããã«ãããã¾ã§ã§çæãã po ãã¡ã¤ã«ã¯ãgettextization.failed.po ã«æ¸ãåºãã¦ããã¾ãã
- -
- 翻訳è åãã翻訳ã«è²¢ç®ãã人ã ã¸ã®è¬è¾ã¨ãã£ãã翻訳ã§è¿½å ããç®æãåãé¤ãã¦ãã ããã次ç¯ã§èª¬æãã追å å 容ã«å¾ã§æ¹ãã¦è¿½å ã§ãã¾ãã
- -
- é æ ®ãªããªãªã¸ãã«ã¨ç¿»è¨³ã®ä¸¡æ¹ãç·¨éãã¦ãã ãããæãéè¦ãªã®ã¯ po ãã¡ã¤ã«ãæã«å ¥ãããã¨ã§ãããããå¾ããæ´æ°ã§ãã¾ããåæ¹ gettext åãã¦ãã¾ãã°ã楽ã«ãªãã¾ãã®ã§ã翻訳ã®ç·¨éãããã¨è¯ãã¨ãããã¦ãã¾ãã
- -
- å¿ è¦ã§ããã°ã翻訳ããã¦ããªãé¨åãããªãªã¸ãã«ããåã£ã¦ãã ãããå¾ã§ããã¥ã¡ã³ãã po ã¨åæãåãã¨ãã«èªåèªèº«ã§å¾©å ãã¾ãã
- -
- æ§é ãå°ãã ãå¤ãã (2 ã¤ã®æ®µè½ãã¾ã¨ããã¨ãã1 ã¤ã®æ®µè½ãåããã¨ã)ã®ãªãããã®å¤æ´ãå ã«æ»ãã¦ãã ããããªãªã¸ãã«ã«åé¡ããããªãããªãªã¸ãã«ã®ä½è ã«é£çµ¡ããã¹ãã§ããããã³ãã¥ããã£ã®ä¸é¨ã ãã®ããã«ç¿»è¨³ã§ä¿®æ£ãã¦ããã¨ãã¦ããã®ä¸ã§ po4a ã使ãã®ã¯ç¡çã§ã ;)
- -
- æã«ã¯ã段è½ã®å
容ã¯ä¸è´ããããã©ããåããããªãå ´åãããã¾ãããã®ä¿®æ£æ³ã¯ãã©ã¼ãããã«ä¾åãã¾ããpod ã nroff ã§ã¯ãçæ¹ã®è¡ã¯ç©ºç½ã§å§ã¾ã£ã¦ããã®ã«ãããçæ¹ã¯ããã§ã¯ãªããã¨ãããã¨ãå®éã«ããã¾ãããããã£ããã©ã¼ãããã§ã¯ããã®ãããªæ®µè½ã¯æ¹è¡ã§ãããå¥ã®åã¨ãªãã¾ãããã®ãããªã¨ãã¯ç©ºç½ãåé¤ãã¦ãã ãããããããã¿ã°åã®ã¿ã¤ããã¹ã§ãããã
pod ã§ã¯ãåå²è¡ã«ç©ºç½ãå ¥ã£ã¦ãããã=item è¡ã item ã®å 容ã®åã«ç©ºè¡ããªãå ´åã2 ã¤ã®æ®µè½ã 1 ã¤ã«ã¾ã¨ãã¦ãã¾ãã¾ãã
- -
- æã ããã¡ã¤ã«éã§åæãåãã¦ãããã翻訳ãééã£ã段è½ã«å²ãå½ã¦ããããã¨ãããã¾ããããã¯ãã¡ã¤ã«ã«ä»¥åããåé¡ããã£ããã¨ã示ãã¦ãã¾ããgettextization.failed.po ããã§ãã¯ãã¦ãåæãåããªãç®æãæ¢ããä¿®æ£ãã¦ãã ããã
- -
- æã
ãpo4a ããªãªã¸ãã«ã翻訳ã®ããã¹ãé¨åããé£ã¹ã¦ãã¾ã£ãã¨å¼·ãæãããããã¾ãããgettextization.failed.po ã«ç·©ãä¸è´ããç®æããã©ã¡ããè¨é²ããã¾ãããã®å¾ãåå¾ã®æ£ãããã®ã¨ä¸è´ãããã試ã㦠gettext åã¯å¤±æããæ£ãããã®ãè¦ããªããªãã¾ããåãã¦ç§ã®èº«ã«èµ·ããã¨ããç§ãããããã«ãpo4a ãç大ã«ç½µã£ã¦ãã ããã
ãã®ä¸å¹¸ãªç¶æ³ã¯ãåã段è½ãããã¥ã¡ã³ãä¸ã§ç¹°ãè¿ããã¦ããã¨ãã«èµ·ããã¾ãããã®å ´åãpo ãã¡ã¤ã«ã«æ°ããã¨ã³ããªã¯è¿½å ããã¾ããããæ¢åã®ã¨ã³ããªã«åç §ã追å ããã¾ãã
ãã®ããããªãªã¸ãã«ã«åã段è½ã 2 度ã§ã¦ãã¦ãã翻訳ãåãããã«è¨³ããã¦ããªãå ´åããªãªã¸ãã«ãæ¶ãã¦ãã¾ã£ãã¨æãããã¨ã«ãªãã¾ããæ°ãã翻訳ãåã«æ¶ãã¦ãã ããããã®ç¿»è¨³ã®æ¹ã質ãè¯ãã¦ãã¯ããã®ç¿»è¨³ã®æ¹ãæ¶ãã¤ãããªããã¯ããã®ç¿»è¨³ã®ãã£ãã¨ããã« 2 çªç®ã®ç¿»è¨³ãç½®ããå ã®ã¨ããããåé¤ãã¦ãã ããã
å対ã«ã2 ã¤ã®ä¼¼ã¦éãªã段è½ããå ¨ãåãããã«ç¿»è¨³ããã¦ããã¨ã翻訳ãã段è½ãè¦ããªããªã£ãã¨æãããã¨ã§ãããããã®å ´åã¯ãç¡é§ãªæååããªãªã¸ãã«ã®æ®µè½ã«è¿½å ããã¨è§£æ±ºãã¾ã (``I'm different'' ãªã©)ãããã¯åæä¸ã«è¦ããªããªãã¾ãããæ°ã«ããªãã§ãã ãããããã¹ããååçããã°ãgettext ã¯ç¿»è¨³ã¨æ¢åã®ããã¹ããããããã¾ãã(fuzzy ã«ãã¾ãããgettext åããå¾ã¯ããã¹ã¦ã®æååã fuzzy ã«ãªãã®ã§æ°ã«ãããã¨ã¯ããã¾ãã)
ãã¾ãããã°ã以ä¸ã® tips 㯠gettext åä½æ¥ãå©ãã大äºãª po ãã¡ã¤ã«ãããããã§ãããããã¡ã¤ã«ã®åæãã翻訳ãå§ããæºåãã§ãã¦ãã¾ãã大ããªããã¹ãã®å ´åãæåã®åæãé·æéã«ãããå ´åããããã¨ã«æ³¨æãã¦ãã ããã
ä¾ãã°ãåãã¦ãã©ã³ã¹èªç Perl ããã¥ã¡ã³ã (5.5 MB ã® po ãã¡ã¤ã«) ã« po4a-updatepo ãå®è¡ããã¨ãã1GHz G5 ã³ã³ãã¥ã¼ã¿ã§ã¾ãã¾ã 2 æ¥ãããã¾ãããããã48 æéã§ããããããã®å¾ã¯ãç§ã®å¤ããã¼ããã½ã³ã³ã§åæ°ç§ãããããã¾ãããããã¯ååã®å®è¡ã§ãpo ãã¡ã¤ã«ã®ã»ã¨ãã©ã® msgid ã pot ãã¡ã¤ã«ã®ãã®ã¨ä¸è´ããªãã£ãããã§ãããã®ãã gettext ã¯ããã£ã¨ãè¿ããã®ãæ¢ãã®ã«ãå®è¡ã³ã¹ãã®é«ãæååè¿æ¥ã¢ã«ã´ãªãºã ã使ããªãã¦ã¯ãªãã¾ããã
翻訳ã«ãã¾ãã®ããã¹ã (翻訳è åãªã©) ã追å ããã«ã¯?
gettext ã¢ããã¼ãæ ã«ãpo4a ã§ã®ããã¹ãã®è¿½å ã¯ãåã«ãªãªã¸ãã«ã®ãã®ã«æ²¿ã£ã¦æ°ãããã¡ã¤ã«ãç·¨éãããããé£ãããªã£ã¦ãã¾ãããããããããã 追å å 容 ã®ãããã§è¿½å ã§ãã¾ãã追å å 容ããå¦çå¾ã®ãã¼ã«ã©ã¤ãºããããã¥ã¡ã³ãã«é©ç¨ãããããã®é¡ã¨ãã¦è¦ãªãã¨ããããããã§ããããé常ã®ãããã¨ã¯é常ã«ç°ãªã£ã¦ãã¾ã (1 è¡ã ãã®æç« ãperlã®æ£è¦è¡¨ç¾ãåãè¾¼ã¿ãåé¤ã§ããæ°ããããã¹ãã®è¿½å ã®ã¿) ããæ©è½çã«ã¯åãã§ãã
ç®æ¨ã¯ããªãªã¸ãã«ããã¥ã¡ã³ãã«ãªãå 容ãã翻訳ããããã¥ã¡ã³ãã«è¿½å ã§ããããã«ãããã¨ã§ãããããã使ç¨æ³ã¯ã翻訳èªä½ã«é¢ããç¯ããè²¢ç®è ãªã¹ãã翻訳ã«ã¤ãã¦ã®ãã°ã¬ãã¼ãã®ãããã追å ãããã¨ã§ãã
追å å 容ã¯å¥åã®ãã¡ã¤ã«ã§æä¾ãããªããã°ãªãã¾ãããæåã®è¡ã§ã¯ãçæããããã¥ã¡ã³ãã®ã©ãã«é ç½®ãããã¨ãã£ããã¨ãè¨è¿°ãã¾ãã追å å 容ãã¡ã¤ã«ã®æ®ãã¯ãçµæã®ããã¥ã¡ã³ãã®æ±ºã¾ã£ãå ´æã¸ãé次追å ããã¾ãã
ãããã«ã¯ã以ä¸ã®ããã«ããªãå³å¯ãªææ³ãããã¾ãã``PO4A-HEADER:'' ã§å§ããªããã°ãªãããã»ãã³ãã³ (;) åºåãã® ``key=value'' ãã£ã¼ã«ããç¶ãã¾ãã空ç½ãéè¦ã§ããã»ãã³ãã³ (;) ãå¤ã«ä½¿ç¨ã§ãããã¯ã©ã¼ããå½¹ã«ç«ããªããã¨ã«æ³¨æãã¦ãã ããã
ã¾ãæãããã«èããã¾ããã以ä¸ã®ä¾ã¯ãå¿ è¦ãªãããè¡ã®è¨è¿°æ³ãè¦ã¤ããæå©ãã«ãªãã§ããããè°è«ã®åæã¨ãã¦ã``About this document'' ç¯ã®å¾ã« ``About this translation'' ç¯ã追å ãããã¨ã¨ãã¾ãã
以ä¸ã«æå¹ãªããããã¼ãæãã¾ãã
- position (å¿ é )
- æ£è¦è¡¨ç¾ã§ãã追å å
容ããã®æ£è¦è¡¨ç¾ã§ãããããè¡ã®ãã°ã«é
ç½®ãã¾ããããã§ã¯ãªãªã¸ãã«ããã¥ã¡ã³ãã§ã¯ãªãã翻訳æ¸ã¿ããã¥ã¡ã³ãã«ã¤ãã¦èª¬æãã¦ãããã¨ã«æ³¨æãã¦ãã ããããã®æ£è¦è¡¨ç¾ã«ãããããè¡ãè¤æ°ãã (ãããã¯ãªã) å ´åã追å ã«å¤±æãã¾ããå®éã®ã¨ããã追å å
容ãééã£ãå ´æã«æ¿å
¥ãã¦ãã¾ããããã¨ã©ã¼ãå ±åããæ¹ãããã§ãããã
以ä¸ãã®è¡ã position point ã¨å¼ã³ã¾ãã追å å 容ã追å ãããã¤ã³ãã insertion point ã¨å¼ã³ã¾ãããã®äºã¤ã®ãã¤ã³ãã¯ãäºãè¿ãã«ããã¾ãããåãã§ã¯ããã¾ãããä¾ãã°ãæ°ããç¯ãæ¿å ¥ããå ´åãposition point ãåç¯ã®ã¿ã¤ãã«ã¨ãã¦ãpo4a ã«ã¯ãã®ç¯ã®æå¾ã«æ¿å ¥ããããæ示ããã®ãç°¡åã§ã (position point ã¯ç¹å®ã®è¡ãããããããããªæ£è¦è¡¨ç¾ã§è¡¨ããã¨ãè¦ãã¦ããã¦ãã ãã)ã
position point ã«å¯¾ãã insertion point ã®å°ååã¯ã以ä¸ã§èª¬æãã "mode", "beginboundary", "endboundary" ã®åãã£ã¼ã«ãã§å¶å¾¡ãã¾ãã
ãã®å ´åã以ä¸ã®ããã«ãªãã¾ãã
position=<title>About this document</title>
- mode (å¿ é )
- ``before'' ã ``after'' ã¨ããæåãå
¥ããposition point ãã㮠追å å
容ã®ä½ç½®ãæå®ãã¾ãã
æ°ããã»ã¯ã·ã§ã³ãããããããç®æã®æ¬¡ã«é ç½®ãããå ´åã以ä¸ã®ããã«ãã¾ãã
mode=after
- beginboundary (mode=after ã®æã®ã¿ä½¿ç¨ããã®å ´åå¿ é )
- endboundary (åä¸)
- 追å å
容ãå¾ãã«ç¶ããã»ã¯ã·ã§ã³ã®ãæå¾ã«ãããããæ£è¦è¡¨ç¾ã§ãã
mode=after ã®å ´åãinsertion point 㯠position point ã®å¾ã«ãªãã¾ãããããå¾ã§ã¯ããã¾ãã! position point ã§å§ã¾ãã»ã¯ã·ã§ã³ã®å¾ãã«ãªãã¾ãããªãã"???boundary" å¼æ°ã¨è¡ã®å (ãªããå¾) ã¨ãããããã¾ããã©ã¡ãã«ãªãã㯠"beginboundary" ãªãã "endboundary" ã§æ±ºã¾ãã¾ãã
ãã®å ´åã以ä¸ã®ããã«è¿½å ãã¦ãã»ã¯ã·ã§ã³ã®çµããã«ä¸è´ããããã«æå®ã§ãã¾ãã
endboundary=</section>
ã¾ãã以ä¸ã®ããã«ãã¦æ¬¡ã®ã»ã¯ã·ã§ã³ã®ç´åãæå®ã§ãã¾ãã
beginboundary=<section>
ã©ã¡ãã®å ´åã§ãã</section> ã®å¾ã§ã<section> ã®åã«è¿½å å 容ãé ç½®ãã¾ããããã¥ã¡ã³ããåæ§æããã¦ãåä½ããã®ã§ãåè ã®æ¹ãããã§ãããã
ã©ã¡ãã®å½¢æ ãããã®ã¯ãããã¥ã¡ã³ããã©ã¼ããããç°ãªãããã§ãããã®ä¸ã«ã¯ã (ã¡ããã©ä½¿ç¨ãã "</section>" ã®ãããª) ã»ã¯ã·ã§ã³ã®çµããã示ããã®ã(nroff ã®ãããª) æ確ãªã»ã¯ã·ã§ã³ã®çµããã表ããªããã®ãããã¾ããåè ã®å ´åã¯ãboundary 㯠ã»ã¯ã·ã§ã³ã®æå¾ ã«ä¸è´ããã®ã§ãinsertion point ã¯ãã®å¾ã«ãªãã¾ããå¾è ã®å ´åã¯ãboundary 㯠次ã®ã»ã¯ã·ã§ã³ã®å é ã«ä¸è´ããã®ã§ãinsertion point ã¯ãã®åã«ãªãã¾ãã
ããã¯åããã«ããã§ããã次ã®ä¾ã¯ããåããã¨æãã¾ãã
- ä»ã¾ã§èª¬æãããã¨ãã¾ã¨ããã¨ãSGML ããã¥ã¡ã³ãã® About this document ã®å¾ã« About this translation ã追å ããã«ã¯ã以ä¸ã®ãããè¡ã®ã©ã¡ããã使ç¨ã§ãã¾ãã
-
PO4A-HEADER: mode=after; position=About this document; endboundary=</section> PO4A-HEADER: mode=after; position=About this document; beginboundary=<section>
- 以ä¸ã® nroff ã»ã¯ã·ã§ã³ã®å¾ã«ä½ã追å ãããã¨ãã¾ãã
-
.SH "AUTHORS"
"position" ã¯ãã®è¡ã«ããããã"beginboundary" ã¯æ¬¡ã®ã»ã¯ã·ã§ã³ã®å é (ä¾ "^\.SH") ã«ããããã¹ãã§ããããããã§ã追å å 容ããã® position point ã® å¾ ã§ã"beginboundary" ã«ãããããå é è¡ã® ç´å ã«è¿½å ãã¾ãã以ä¸ã®ããã«ãªãã¾ãã
PO4A-HEADER:mode=after;position=AUTHORS;beginboundary=\.SH
- ã»ã¯ã·ã§ã³å ¨ä½ã追å ããã®ã§ã¯ãªããã»ã¯ã·ã§ã³å (Copyright Big Dude ã®å¾ãªã©) ã«ä½ã追å ãããå ´åãposition ã¯ãã®è¡ã«ãããããããã«ä¸ããbeginboundary ã¯ä»»æã®è¡ã«ãããããããã«ä¸ãã¾ãã
-
PO4A-HEADER:mode=after;position=Copyright Big Dude, 2004;beginboundary=^
- ããã¥ã¡ã³ãã®æå¾ã«ä½ã追å ãããå ´åãposition ã¯ããã¥ã¡ã³ãã®ä»»æã®è¡ (ããã 1 è¡ã®ã¿ãã¦ãã¼ã¯ã§ãªã㨠Po4a ã¯å¦çãã¾ãã) ã«ãããããããã«ä¸ããendboundary ã¯ä½ããããããªãããã«ä¸ãã¾ããEOF ã®ãããªåç´ãªæååã使ç¨ãããããã¥ã¡ã³ãã«ãã¾ãã¾å«ã¾ãã¦ãããã®ã使ç¨ãã¦ãã ããã
-
PO4A-HEADER:mode=after;position=<title>About</title>;beginboundary=FakePo4aBoundary
ãããã®å ´åã«ããæ£è¦è¡¨ç¾ã§ãããã¨ãå¿ããªãã§ãã ãããä¾ãã°ã次ã®è¡ã§çµãã£ã¦ãããnroff ã»ã¯ã·ã§ã³ã®æå¾ã«ããããããå ´åãèãã¾ãã
.fi
ããã§ã¯ã".fi" ã endboundary ã¨ãã¦ä½¿ç¨ããªãã§ãã ãããæããã«æ³å®ãã¦ããªãã``the[ fi]le'' ã«ãããããã¦ãã¾ãã¾ããæ£ãã endboundary ã¯ããã®å ´å "^\.fi$" ã¨ãªãã¾ãã
追å å 容ãæ³å®éãã«ãã¾ãåä½ããªãå ´åã-vv å¼æ°ããã¼ã«ã«æ¸¡ãã¦ã¿ã¦ãã ããã追å å 容ãé ç½®ããéã®æåãã表示ãã¦ããã¾ã
ãã£ã¨è©³ç´°ãªä¾
ãªãªã¸ãã«ããã¥ã¡ã³ã (pod ãã©ã¼ããã)
|=head1 NAME | |dummy - a dummy program | |=head1 AUTHOR | |me
ããã«ã以ä¸ã®ç¿»è¨³è ã«ã¤ãã¦ã®(ãã©ã³ã¹èªã®)ç¯ã追å ãã追å å 容ããã¡ã¤ã«ã®æå¾ã«è¿½å ãã¾ãã(ãã©ã³ã¹èªã§ ``TRADUCTEUR'' 㯠``TRANSLATOR''ã``moi'' 㯠``me'' ã®æå³ã§ã)
|PO4A-HEADER:mode=after;position=AUTEUR;beginboundary=^=head | |=head1 TRADUCTEUR | |moi
AUTHOR ã®åã«è¿½å å 容ã追å ããã«ã¯ã以ä¸ã®ãããã使ç¨ãã¦ãã ããã
PO4A-HEADER:mode=after;position=NOM;beginboundary=^=head1
ããã¯ã``NAME'' ã»ã¯ã·ã§ã³ (ãã©ã³ã¹èªã§ã¯ ``NOM'') ã®å¾ã«ãããbeginboundary /^=head1/ ã«ããããã次ã®è¡ãä½è ãå®ç¾©ãã¦ãããã¨ãããã¨ã§åä½ãã¾ãããã®ããã両æ¹ã®ã»ã¯ã·ã§ã³ã®éã«è¿½å å 容ãæ¿å ¥ããã¾ãã
ä¸åº¦ã®ããã°ã©ã å®è¡ã§ãã®ãã¹ã¦ãè¡ãã«ã¯?
po4a ã使ããã¨ã¯ããããã 3 ã¤ä»¥ä¸ã®å¼æ°ãå¿ è¦ãª 2 ã¤ã®ç°ãªãããã°ã©ã ããã¦ã¼ã¶ãæ£ããé çª (po4a-updatepo ã®ãã¨ã« po4a-translate) ã§å®è¡ããªããã°ãªããªãã¨ãããã¨ã§ãå°ã 誤ãå¾åã«ããã¨ãããã¨ããããã¾ããããã®ä¸ã§ãè¤æ°ã®ãã©ã¼ãããã使ããã¦ãããã¹ã¦ã®ããã¥ã¡ã³ãããä¸ã¤ã ãã® po ãã¡ã¤ã«ã«ããã®ã¯ããã®ã·ã¹ãã ã§ã¯é£ãããã¨ã§ããããã®é£ããã解æ¶ããããã«ãpo4a(1) ããã°ã©ã ã¯è¨è¨ããã¾ãããä¸åº¦ãã®ã·ã¹ãã ã«ç§»è¡ããã°ãã©ãã«ç¿»è¨³ãããã¡ã¤ã«ãããã (po 㨠pot)? ãªãªã¸ãã«ããã¥ã¡ã³ããã©ãã«ããã? ãã®ãã©ã¼ãããã¯? 翻訳ã¯ã©ãã«ç½®ãã¹ãã? ã説æããã·ã³ãã«ãªè¨å®ãã¡ã¤ã«ãæ¸ããã¨ã«ãªãã¾ãã
ããã¦ããã®ãã¡ã¤ã«ã§ po4a(1) ãå¼ã¶ãã¨ã§ãpo ãã¡ã¤ã«ããªãªã¸ãã«ããã¥ã¡ã³ãã«å¯¾ãã¦åæãåãã¦ããã翻訳æ¸ã¿ããã¥ã¡ã³ããé©åã«çæããããã¨ãä¿è¨¼ã§ãã¾ãããã¡ããããã®ããã°ã©ã ãäºåº¦å¼ã³ãããªãããç¥ãã¾ãããä¸åº¦ç®ã¯ç·¨éåã« po ãã¡ã¤ã«ãæ´æ°ããããã«ãäºåº¦ç®ã¯ãã®å¾ã§ãå®ç§ã«æ´æ°ããã翻訳æ¸ã¿ããã¥ã¡ã³ããå¾ãããã«ããããä¸ã¤ã®ã³ãã³ãã©ã¤ã³ããè¦ãã¦ããå¿ è¦ã¯ããã¾ããã
ã©ã®ããã«åä½ãã¾ãã?
ãã®ç« ã§ã¯ãä¿å®æ¹è¯ãèªä¿¡ãæã£ã¦å©ãã¦ããã ãããã po4a å é¨ã®æ¦è¦ã説æãã¾ããã¾ããä½æ æã£ãããã«åä½ããªãããã©ã®ããã«åé¡ã解決ããã°ããããç解ããå©ãã«ãªãããããã¾ããããã®å¤§ããªçµµã¯ãªãã§ãã?
po4a ã®ã¢ã¼ããã¯ãã£ã¯ãªãã¸ã§ã¯ãæåã§ã (Perl ã§ããã¡ãã¨ãã¦ãã¾ããã?)ããã¹ã¦ã®ãã¼ãµã¯ã©ã¹å ±éã®æ´¾çå ã¯ãTransTractor ã¨å¼ã°ãã¦ãã¾ãããã®ãã³ãªååã¯ãããã¥ã¡ã³ãã®ç¿»è¨³ã¨æååã®æ½åºãåæã«è¡ãã¨ããããä»ãããã¦ãã¾ãããã£ã¨å½¢å¼å¼µã£ã¦ããã¨ãå ¥åã¨ãã¦ç¿»è¨³ããããã¥ã¡ã³ãã¨è¨³æãå ¥ã£ã¦ãã po ãã¡ã¤ã«ãåããçµæã以ä¸ã® 2 ã¤ã«åãã¦åºåãã¾ããå¥ã® po ãã¡ã¤ã« (å ¥åããã¥ã¡ã³ããã翻訳å¯è½ãªæååãæ½åºããçµæ) ã¨ã翻訳æ¸ã¿ããã¥ã¡ã³ã (å ¥åãããã¡ã¤ã«ã¨åãæ§é ã§ããã翻訳å¯è½ãªæååã¯å ¥å po ãã¡ã¤ã«ã®å 容ã§ç½®æããã¦ãããã¡ã¤ã«) ã§ãã以ä¸ã«å³ç¤ºãã¾ãã
å ¥åããã¥ã¡ã³ã-\ /---> åºåããã¥ã¡ã³ã \ TransTractor:: / (翻訳æ¸) +-->-- parse() --------+ / \ å ¥å po ---------/ \---> åºå po (æ½åºæ¸)
ãã®å°ããªéª¨ç¶ã®çµµã¯ãpo4a ã¢ã¼ããã¯ãã£ã®ãã¹ã¦ã®ã³ã¢ã表ãã¦ãã¾ããå ¥å po ãåºåããã¥ã¡ã³ããçç¥ããã¨ãpo4a-gettextize ã«ãªãã¾ãã両æ¹ã®å ¥åãè¡ããåºå po ãç¡è¦ããã¨ãpo4a-translate ã«ãªãã¾ãã
TransTractor::parse() ã¯åã¢ã¸ã¥ã¼ã«ã§å®è£ ããã¦ããä»®æ³é¢æ°ã§ããã©ã®ããã«åä½ãããã説æããã®ã«ãç°¡åãªãµã³ãã«ãããã¾ããããã¯ãå é ã« <p> ãä»ãã段è½ã®ãªã¹ãããã¼ã¹ãã¾ãã
1 sub parse { 2 PARAGRAPH: while (1) { 3 $my ($paragraph,$pararef,$line,$lref)=("","","",""); 4 $my $first=1; 5 while (($line,$lref)=$document->shiftline() && defined($line)) { 6 if ($line =~ m/<p>/ && !$first--; ) { 7 $document->unshiftline($line,$lref); 8 9 $paragraph =~ s/^<p>//s; 10 $document->pushline("<p>".$document->translate($paragraph,$pararef)); 11 12 next PARAGRAPH; 13 } else { 14 $paragraph .= $line; 15 $pararef = $lref unless(length($pararef)); 16 } 17 } 18 return; # Did not got a defined line? End of input file. 19 } 20 }
6 è¡ç®ã§ã2 åç®ã® <p> ãç¾ãã¾ãããããã¯æ¬¡ã®æ®µè½ã§ããå°ã§ããããã§ãå¾ãè¡ããªãªã¸ãã«ããã¥ã¡ã³ãã«æ»ã (7 è¡ç®)ãããã¾ã§çæãã paragraph ãåºåã« push ãã¾ãã9 è¡ç®ã§å é ã® <p> ãåé¤ããå¾ããã®ã¿ã°ã¨æ®ãã®æ®µè½ã翻訳ãããã®ãçµåã㦠push ãã¾ãã
translate() é¢æ°ã¯ã¨ã¦ãã¯ã¼ã«ã§ããå¼æ°ãåºå po ãã¡ã¤ã« (æ½åºæ¸) ã«æ¿å ¥ããå ¥å po ãã¡ã¤ã« (翻訳) ã§è¦ã¤ãã£ã翻訳ãè¿ãã¾ããpushline() ã®å¼æ°ã®ä¸é¨ã§ä½¿ç¨ããããããã®ç¿»è¨³ãåºåããã¥ã¡ã³ãã«å®çãã¾ãã
ã¯ã¼ã«ãããªãã§ãã? ååã·ã³ãã«ãªãã©ã¼ããããªããå®å ¨ãª po4a ã®ã¢ã¸ã¥ã¼ã«ã 20 è¡ä»¥ä¸ã§ä½æã§ãã¾ãâ¦â¦
Locale::Po4a::TransTractor(3pm) ã§ãããã«ã¤ãã¦ãã£ã¨ç¥ããã¨ãã§ãã¾ãã
gettext å: ã©ã®ããã«åä½ãã¾ãã?
ããã§ã®èãæ¹ã¯ããªãªã¸ãã«ããã¥ã¡ã³ãã¨ãã®ç¿»è¨³ãåãã翻訳ããæ½åºãã N çªç®ã®æååã¯ããªãªã¸ãã«ããæ½åºãã N çªç®ã®æååã®ç¿»è¨³ã§ããã¨è¨ããã¨ã§ããåä½ããã«ã¯ãåæ¹ã®ãã¡ã¤ã«ã®æ§é ãã¾ã£ããåãã§ãªããã°ãªãã¾ãããä¾ãã°ããã¡ã¤ã«å¤è²¨ã®æ§é ãæã¤å ´åãæ®å¿µãªãã翻訳㮠4 çªç®ã®æåå (åããç« ã) ã¯ããªãªã¸ãã«ã® 4 çªç®ã®æåå (åãã段è½ã) ã®ç¿»è¨³ã¨ãªãã¾ãããªãªã¸ã㫠翻訳 ç« ç« æ®µè½ æ®µè½ æ®µè½ æ®µè½ æ®µè½ ç« ç« æ®µè½ æ®µè½ æ®µè½
ããã«ã¤ãã¦ã¯ãpo4a ã®ãã¼ãµã¯ãªãªã¸ãã«ãã¡ã¤ã«ã¨ç¿»è¨³ãã¡ã¤ã«ã®åæ¹ã§ãpo ãã¡ã¤ã«ãæ½åºããã®ã«ä½¿ç¨ããã¾ãããªãªã¸ãã«ãã¡ã¤ã«ç±æ¥ã® po ãã¡ã¤ã«ã«ããæååã®ç¿»è¨³ãã翻訳ãã¡ã¤ã«ç±æ¥ã® po ãã¡ã¤ã«ã®æååã§ããã¨ãã¦ãæ°ãã po ãã¡ã¤ã«ãçæãã¾ããåºåããæååãå®éã«ããããã®ç¿»è¨³ã¨ãªã£ã¦ãããããã§ãã¯ããããã«ãpo4a ã®ããã¥ã¡ã³ããã¼ãµã¯ãããã¥ã¡ã³ãããæ½åºããæååã®æ§æã¿ã¤ãæ å ±ãåºåãã¹ãã§ã (æ¢åã®ãã®ã¯ãã¹ã¦ãããã¾ãããããªãã®ãã®ãããããã¹ãã§ã)ãããã«ãã®æ å ±ããåæ¹ã®ããã¥ã¡ã³ããåãæ§æã§ãããã©ããã確èªããã®ã«ä½¿ç¨ãã¾ããå ã®ä¾ã§ã¯ã4 çªç®ã®æååã¯çæ¹ã§ã¯æ®µè½ã§ãããããçæ¹ã§ã¯ç« è¦åºãã§ãããã¨ãæ¤åºããåé¡ãå ±åã§ãã¾ãã
çè«ä¸ãåé¡ãæ¤åºããå¾ã§ãã¡ã¤ã«ã (ã¡ããã© diff ãããããã«) ååæãããã¨ã¯å¯è½ã§ããããããéåæã®åã«ãããååæããã¹ãæååã¯æ確ã§ã¯ãªããä½åº¦ãã¾ããçµæã«çµããã§ãããã以ä¸ããä½ãã¾ããå ´åãç¾å¨ã®å®è£ ã§ã¯ååæãè¡ããã失æã«ã¤ãã¦è©³ããåºåããçç±ã§ããåé¡ã®ä¿®æ£ã«ã¯ãã¡ã¤ã«ã®æä¿®æ£ãå¿ è¦ã§ãã
ããã ãç¨å¿ãã¦ãã¦ãããã®é¨åã¯é常ã«ééããããã§ãããã®ããããã®ããã«æ¨æ¸¬ããã翻訳ãã¹ã¦ã fuzzy ã¨ãã¼ã¯ãã翻訳è ã®ã¬ãã¥ã¼ã¨ç¢ºèªãè¡ãããã«ãã¦ãã¾ãã
追å å 容: ã©ã®ããã«åä½ãã¾ãã?
ãã¦ãããã¯ããªãç°¡åã§ãããã¹ã¦ã®è¿½å å 容ãé©ç¨ãããã¾ã§ã翻訳æ¸ã¿ããã¥ã¡ã³ãã¯ãç´æ¥ãã£ã¹ã¯ã«æ¸ããã¦ãã¾ããããã¡ã¢ãªã«ä¿ç®¡ããã¦ãã¾ããããã«é¢ããã¢ã«ã´ãªãºã ã¯ããªãçç´ã§ããposition æ£è¦è¡¨ç¾ã«ãããããè¡ãæ¢ããmode=before ã®å ´åã¯ãã®åã«è¿½å å 容ãæ¿å ¥ãã¾ããããã§ãªããã°ãboundary ã«ããããã次ã®è¡ãæ¢ããããã "endboundary" ã®å ´åã¯ãã®è¡ã®å¾ã«ã"beginboundary" ã®å ´åã¯ãã®è¡ã®åã«è¿½å å 容ãæ¿å ¥ãã¾ããFAQ
æ¬ç« ã§ã¯ããè¨ããã質åãåé¡ãã¾ããå®éã以ä¸ã®ãããªå½¢ã§ã»ã¨ãã©ã®è³ªåãå®ååã§ãã¾ãããããªãããã§ã¯ãªãããã®ãããªè¨è¨ãããã®ã§ãã?ã po4a ãããã¥ã¡ã³ãã翻訳ããæ£ããæ¹æ³ã§ã¯ãªãã¨æãããããã®ç¯ãèªãããã«ããã¹ãã§ããããªãã®çåã¸ã®çãã«ãªããªããªãã<po4a-devel@lists.alioth.debian.org> ã¡ã¼ãªã³ã°ãªã¹ãã§ç§ãã¡ã«ãåãåãããã ãããç§ãã¡ã¯ãã£ã¼ãããã¯ã大好ãã§ããä½æ 段è½ãã¨ã«åå²ãã¦ç¿»è¨³ããã®ã§ãããã?
ã¯ããpo4a ã¯æ®µè½ãã¨ã«åºåã£ã¦ç¿»è¨³ãã¦ãã¾ã (å®éãåã¢ã¸ã¥ã¼ã«ã¯ãã®æ§ã«å¤æãã¦ãã¾ãããæ¢åã®ã¢ã¸ã¥ã¼ã«ããã¹ã¦ããã¨ã¯éãã¾ããããããªãã®ãã®ãããã§ã)ããã®æ¹æ³ã«ã¯äºã¤ã®ä¸»ãªå©ç¹ãããã¾ãã- *
- å ´é¢ããããã¥ã¡ã³ãã®æè¡çãªé¨åãé ãã¨ã翻訳è ã¯ãããå¼ããã¨ãã§ãã¾ããã翻訳è ã«æ示ãããã¼ã«ãå°ãªããã°å°ãªãã»ã©ãééãã«ãããªãã¾ãã
- *
- ããã¥ã¡ã³ããåãã®ã¯ããªãªã¸ãã«ããã¥ã¡ã³ãã®å¤æ´ç¹ãéé¢ããå©ãã«ãªãã¾ãããªãªã¸ãã«ãå¤æ´ãããã¨ãããã®ããã»ã¹ã«ããã翻訳ã®ã©ã®é¨åãæ´æ°ãå¿ è¦ãªã®ããæ¢ãããããªãã¾ãã
以ä¸ã®å©ç¹ããã£ã¦ãã¦ãã段è½ãã¨ã«åºåã£ã¦è¨³ãã¨ããã¢ã¤ãã£ã¢ãæ°ã«å ¥ããªã人ã¯ãã¾ããå½¼ããæãã¦ãããã¨ã«å¯¾ãã¦ã以ä¸ã®ããã«ãããã¤ãåçãç¨æãã¦ãã¾ãã
- *
- ãã®ã¢ããã¼ãã¯ãKDE ããã¸ã§ã¯ãã§æåãå®è¨¼ããã¾ãããã¾ãããã§ç¿»è¨³ã®å·¨å¤§ãªã³ã¼ãã¹ãä½æããç§ã®ç¥ãéãããã¥ã¡ã³ããæ´æ°ãã¦ãã¾ãã
- *
- 翻訳è ã¯ç¿»è¨³ã®éã«ãpo ãã¡ã¤ã«å ã®æååãããªãªã¸ãã«ããã¥ã¡ã³ãã¨åãé çªã§ãããããã¾ã æèãå©ç¨ã§ãã¾ãããã®ãããpo4a ã使ã使ããªãã«ãããããã é çªéã訳ãã¦ããã®ã¯ããªãæ¯è¼ããããã§ãããããã®å ´åã§ããããã¯ç§è¦ã§ãããããã¹ããã©ã¼ãããã¯ãçã«èªã¿ãããããã§ã¯ãªãã®ã§ãå°å·å¯è½ãªãã©ã¼ãããã«ããã¥ã¡ã³ããå¤æã§ããç¶æ ã«ãã¦ããã®ããæèãææ¡ããæåã®æ¹æ³ã ã¨æãã¾ãã
- *
- ãã®ã¢ããã¼ãã¯ãããã®ç¿»è¨³è ãæ¡ç¨ãã¦ãã¾ãã確ãã«ãå½¼ãã¯ãªã¼ãã³ã½ã¼ã¹ç¿»è¨³è ã¨ã¯ç°ãªãç®æ¨ãæã£ã¦ãã¾ããä¾ãã°ãå 容ãå¤æ´ãããã®ã¯ã¾ããªã®ã§ãä¿å®ãããã»ã©éè¦ã¨ããããã§ã¯ããã¾ããã
æã¬ãã« (ã¾ãã¯ãã以ä¸) ã§åå²ããªãã®ã¯ä½æ ã§ãã?
ããä»æ§ã®ç¿»è¨³ãã¼ã«ã¯ãããã¥ã¡ã³ããæã¬ãã«ã§åå²ãã以åã®ç¿»è¨³ãæ大éåå©ç¨ããä½æ¥ã®ã¹ãã¼ãã¢ãããå³ããã®ãããã¾ããããã¯åãæããæèã«å¿ãã¦è¤æ°ã®ç¿»è¨³ã«ããå ´åã«åé¡ã«ãªãã¾ãã段è½ã¯ããã®å®ç¾©ä¸ãæãããé·ãã§ããããã«ãããäºã¤ã®ããã¥ã¡ã³ãã®åã段è½ã¯ãããããã®æèã«é¢ä¿ãªããåãæå³ (ã¨ç¿»è¨³) ã«ãªããã¨ããããããä¿è¨¼ã§ããã§ãããã
æãããå°ããåä½ã§åå²ããã®ã¯ãé常ã«ã¾ããã§ãããããªãã¾ããã®ãã¯ãããã§èª¬æããã«ã¯å°ã é·ãã®ã§ãèå³ã®ããæ¹ã¯ãä¾ãã° Locale::Maketext::TPJ13(3pm) ã® man ãã¼ã¸ (Perl ã®ããã¥ã¡ã³ãã«å梱) ãã覧ãã ãããçãããã«ãããåè¨èªã¯ç¹å®ã®æ§æè¦åãæã¡ãæ¢åã®å ¨è¨èªã§ (話è ã®å¤ã 10 è¨èªã®ãã¡ 5 è¨èªããã以ä¸ã§ã) åä½ãããããªãæã®ä¸é¨ãéãã¦æãçµã¿ç«ã¦ãæ¹æ³ã¯ããã¾ããã
ãªãªã¸ãã«ãã³ã¡ã³ãã¨ãã¦ç¿»è¨³ä¸ (ããã®ä»ã®ã¨ãã) ã«ã¤ããªãã®ã¯ä½æ ã§ãã?
ä¸è¦ããã¨ãããgettext ã¯ãã¹ã¦ã®ç¨®é¡ã®ç¿»è¨³ã«é©åã§ããããã«ã¯è¦ãã¾ãããä¾ãã°ãdebconf (ãã¹ã¦ã® Debian ããã±ã¼ã¸ã使ç¨ãããã¤ã³ã¹ãã¼ã«æã®å¯¾è©±ã¤ã³ã¿ã¼ãã§ã¼ã¹) ã«ã¯é©åã§ããããã«ã¯è¦ãã¾ããã§ããããã®å ´åã翻訳ããããã¹ãã¯ããªãçã (ããã±ã¼ã¸ãã¨ã« 1 ãã¼ã¹)ãããã±ã¼ã¸ã®ã¤ã³ã¹ãã¼ã«åã«æå¹ã«ãªããªããã°ãªããªããç¹åãããã¡ã¤ã«ã«ç¿»è¨³ãæ¿å ¥ããã®ã¯é£ãããã®ã§ãããããã debconf ã®éçºè ãããªãªã¸ãã«ããã翻訳ãåããã¡ã¤ã«ã«é ç½®ããã¨ããå¥è§£ã®å®è£ ã決å®ããçç±ã§ããããã¯ããªãé åçã§ããxml ã«å¯¾ãã¦ã¯ãã®ããã«ãããã£ã¦ãããã¾ããä¾ãã°ä»¥ä¸ã®ããã«è¦ãã¾ãã
<section> <title lang="en">My title</title> <title lang="fr">Mon titre</title> <para> <text lang="en">My text.</text> <text lang="fr">Mon texte.</text> </para> </section>
ãããããã«ã¯åé¡ããããããç¾å¨ã¯ po ãã¼ã¹ã®ã¢ããã¼ããæ¡ç¨ãã¦ãã¾ãããã¡ã¤ã«ã§ã¯ãªãªã¸ãã«ããç·¨éã§ããã翻訳ã¯ãã¹ã¿ã¼ãã³ãã¬ã¼ãããæ½åºãã po ãã¡ã¤ã«ã«ç½®ããªããã°ãªãã¾ãã (ããã¦ããã±ã¼ã¸ã³ã³ãã¤ã«æã«é ç½®ãã¾ã)ãå¤ãã·ã¹ãã ã¯ä»¥ä¸ã®ããã¤ãã®çç±ã§éæ¨å¥¨ã§ãã
- *
- ä¿å®ã®åé¡
è¤æ°ã®ç¿»è¨³è ãåæã«ããããæä¾ããå ´åããããããã¼ã¸ããã®ã¯å¤§å¤ã§ãã
翻訳ãé©ç¨ããå¿ è¦ã®ããããªãªã¸ãã«ããã®å¤æ´ãã©ã®ããã«æ¤åºãããããã§ããã?diffã使ç¨ããã«ã¯ãã©ã®çãå ã«ãã¦ç¿»è¨³ãè¡ã£ããè¨ãã¦ãããã°ãªãã¾ãããè¨ãæããã¨ãããªãã®ãã¡ã¤ã«ã«ã¯ po ãã¡ã¤ã«ãå¿ è¦ã§ã ;)
- *
- ã¨ã³ã³ã¼ãã£ã³ã°ã®åé¡
ãã®è§£ã¯ãã¨ã¼ãããã®è¨èªã ããé¢ããå ´åã«ã¯æå¹ã§ãããéå½èªããã·ã¢èªãã¢ã©ãã¢èª (訳注: ãã¡ããæ¥æ¬èªã) ã®å°å ¥ã¯ãæ¬å½ã«æ§å³ãè¤éã«ãã¾ããUTF ã¯è§£ã«ãªãå¾ã¾ãããã¾ã åé¡ãããã¾ãã
ããã«ããã®åé¡ãæ¤åºããã®ãé£ããã®ã§ã (è¨ãæããã¨ãããã·ã¢èªã®ç¿»è¨³è ã®ããã§ãéå½èªã®ã¨ã³ã³ã¼ããå£ãã¦ãããã¨ãæ¤åºããã®ã¯ãéå½äººã®èªè ã®ã¿ã§ã)ã
gettext ã¯ãã®åé¡ããã¹ã¦è§£æ±ºãã¾ãã
ããããgettext ã¯ãããªç¨éåãã«ã¯è¨è¨ããã¦ãã¾ãã!
ããã§ããããããç¾å¨ã®ã¨ããä»ã«ãã£ã¨ããæ¹æ³ããªãã®ã§ããå¯ä¸ã®ä»£æ¿æ段ãæå翻訳ã§ãããããã«ã¯ä¿å®ã®åé¡ãããã¾ããgettext ã使ã£ãããã¥ã¡ã³ã翻訳ãã¼ã«ã¯ä»ã«ä½ãããã¾ãã?
ç¥ãéãã§ã¯ã以ä¸ã® 2 ã¤ããããã¾ããã- poxml
- KDE ã®äººãã¡ããDocBook XML ãæ±ãããã«éçºãããã¼ã«ã§ããç¥ãéãã§ã¯ãããã¥ã¡ã³ããã po ãã¡ã¤ã«ã¸ç¿»è¨³ããæååãæ½åºãã翻訳å¾ã«æ³¨å
¥ããåãã¦ã®ããã°ã©ã ã§ãã
ãã㯠XML ã®ã¿ãããã«ç¹å®ã® DTD ã®ã¿ãæ±ãã¾ããä¸ã¤ã®å¤§ã㪠msgid ã«ãªã£ã¦ãã¾ããããç§ã¯ãªã¹ãã®æ±ãã«ããªãä¸æºãããã¾ãããªã¹ãã大ãããªãã¨ãã²ã¨ããã¾ãã®æ§é ãã¤ãã¿ã«ãããªãã¾ãã
- po-debiandoc
- ãã®ããã°ã©ã ã¯ãDenis Barbier ã«ãã£ã¦ä½ããããå¤å°ã®ç°è«ãããã¨ã¯ãã po4a sgml ã¢ã¸ã¥ã¼ã«ã®å é§ãã¨ããã¾ããååã®éããå°ã éæ¨å¥¨ã® dtd ã§ãã debiandoc dtd ã®ã¿ãæ±ãã¾ãã
以ä¸ã«å¯¾ãã po4a ã®ä¸»ãªå©ç¹ã¯ãç°¡åã«å 容ã追å ã§ããã㨠(æ¬ ç¹ããããã¾ããã) ã¨ãgettext åãç°¡åãªãã¨ã§ãã
翻訳ã«ã¤ãã¦ã®éçºè æè²
ããã¥ã¡ã³ããããã°ã©ã ã®ç¿»è¨³ãè¡ãéã3 ã¤ã®åé¡ã«è¡ãå½ããã¾ããè¨èªã«ã¤ã㦠(çã 2 ã¤ã®è¨èªã§è©±ããããã§ã¯ããã¾ãã)ãæè¡ã«ã¤ã㦠(po4a ãåå¨ããçç±ã§ã)ã人ã¨ã®é£æºã«ã¤ãã¦ã§ãããã¹ã¦ã®éçºè ãã翻訳ã®å¿ è¦æ§ã«ã¤ãã¦ç解ãã¦ããããã§ã¯ããã¾ãããç«æ´¾ãªæå¿ããã£ãã¨ãã¦ãã翻訳è ãä½æ¥ããããããæ¹ãç¡è¦ããå¯è½æ§ãããã¾ãããããè£å©ããã®ã«ãpo4a ã¯åç §å¯è½ãªããããã®ããã¥ã¡ã³ããç¨æãã¦ãã¾ãããã®ä»ã®éè¦ãªç¹ã¨ãã¦ããã®ãã¡ã¤ã«ãä½ã§ãã©ã®ããã«ä½¿ç¨ããã®ããã示ãçãã³ã¡ã³ãã§ãå翻訳æ¸ã¿ãã¡ã¤ã«ãå§ã¾ãã¨ãããã¨ãããã¾ããããã¯ã話ãã®ãå°é£ãªè¨èªã®æ´ªæ°´ã«ãã¼ãã¦ããåããªéçºè ãå©ãããã¡ã¤ã«ãæ£ããæ±ãå©ãã¨ãªãã¯ãã§ãã
po4a ããã¸ã§ã¯ãã§ã¯ã翻訳æ¸ã¿ããã¥ã¡ã³ãã¯ããã½ã¼ã¹ãã¡ã¤ã«ã§ã¯ããã¾ãããsgml ãã¡ã¤ã«ã¯æ £ç¿çã«ã½ã¼ã¹ãã¡ã¤ã«ã§ãããããã¯ç°¡åãªèª¤ãã§ãããããããã¹ã¦ã®ãã¡ã¤ã«ã«ä»¥ä¸ã®ãããã表示ããçç±ã§ãã
| ***************************************************** | * GENERATED FILE, DO NOT EDIT * | * THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION * | ***************************************************** | | This file was generated by po4a-translate(1). Do not store it (in cvs, | for example), but store the po file used as source file by po4a-translate. | | In fact, consider this as a binary, and the po file as a regular source file: | If the po gets lost, keeping this translation up-to-date will be harder ;)
åæ§ã«ãgettext ã®é常㮠po ãã¡ã¤ã«ã¯ãpo/ ãã£ã¬ã¯ããªã«ã³ãã¼ãããå¿ è¦ã ããããã¾ãããããããã㯠po4a ã«ãã£ã¦æä½ããããã®ã®ä¾ã§ã¯ããã¾ãããããã«ã¯ãéçºè ããèªåã®ããã¥ã¡ã³ãã®ç¿»è¨³ããããèªåã®ããã°ã©ã ã®æ¢åã®ç¿»è¨³ãåé¤ããã¨ããã大ããªå±éºãããã¾ã (åæ¹ãåã po ãã¡ã¤ã«ã«ç´ãããã¨ã¯ã§ãã¾ãããããã¯ãããã¥ã¡ã³ãã¯ã³ã³ãã¤ã«æã«ã®ã¿ç¿»è¨³ãå¿ è¦ã§ããã®ã«å¯¾ãã¦ãããã°ã©ã ã¯ç¿»è¨³ã mo ãã¡ã¤ã«ã¨ãã¦ã¤ã³ã¹ãã¼ã«ããªããã°ãªããªãããã§ã)ã以ä¸ããpo-debiandoc ã¢ã¸ã¥ã¼ã«ã以ä¸ã®ããããã¤ã㦠po ãã¡ã¤ã«ãæä¾ããçç±ã§ãã
# # ADVISES TO DEVELOPERS: # - you do not need to manually edit POT or PO files. # - this file contains the translation of your debconf templates. # Do not replace the translation of your program with this !! # (or your translators will get very upset) # # ADVISES TO TRANSLATORS: # If you are not familiar with the PO format, gettext documentation # is worth reading, especially sections dedicated to this format. # For example, run: # info -n '(gettext)PO Files' # info -n '(gettext)Header Entry' # # Some information specific to po-debconf are available at # /usr/share/doc/po-debconf/README-trans # or http://www.debian.org/intl/l10n/po-debconf/README-trans #
gettext ãã¼ã¹ã¢ããã¼ãã®å©ç¹ã¾ã¨ã
- *
- 翻訳ã¯ãªãªã¸ãã«ã¨åæã«ã¯æ ¼ç´ããã¾ãããããã«ãã翻訳ã®æ´æ°ãé ãã¦ãããã¨ããããã¾ãã
- *
- 翻訳ã¯ããããåå²ãããã¡ã¤ã«ã«æ ¼ç´ãããç°ãªãè¨èªã®ç¿»è¨³è ããããã®æä¾ãã¨ã³ã³ã¼ãã¬ãã«ã®å¹²æ¸ããäºãã«åããªãããã«ãã¾ãã
- *
- å é¨çã«ã¯ "gettext" ããã¼ã¹ã«ãã¦ãã¾ã (ãã"po4a" ã¯é常ã«ã·ã³ãã«ãªã¤ã³ã¿ã¼ãã§ã¼ã¹ãæä¾ããã®ã§ãå é¨ã§ä½¿ç¨ãã¦ãããã¨ãç解ããå¿ è¦ã¯ããã¾ãã)ããããªã¨ããã§è»è¼ªã®åå®è£ ãããå¿ è¦ã¯ãªãããããåºãç¨ãããã¦ããããã«ããããã®ãã¼ã«ã«ã¯å¤ããå°ãªãããã°ããªãã¨èãããã¾ãã
- *
- ã¨ã³ãã¦ã¼ã¶ã«ã¨ã£ã¦ã¯ä½ãå¤åããã¾ãã (äºå®ã¯ç½®ãã¦ããã¦ãé¡ããã°ç¿»è¨³ãããããä¿å®ããã¾ãããã« :)ãããã¥ã¡ã³ããã¡ã¤ã«ãåé ããçµæã«ãªãã®ã¯ãã¾ã£ããåãã§ãã
- *
- 翻訳è ã¯ãæ°ãããã¡ã¤ã«ã®ææ³ãå¦ç¿ããå¿ è¦ã¯ãªãã好ã¿ã® po ãã¡ã¤ã«ã¨ãã£ã¿ (emacs ã® po mode ããkbabelãgtranslator ãªã©) ã§ãã¾ãåä½ãã¾ãã
- *
- gettext ã¯ãä½ãå®äºãã¦ãããä½ãã¬ãã¥ã¼ã»æ´æ°ãã¹ãã§ãä½ãã¾ã ä½æ¥ä¸ãªã®ãã¨ãã£ãçµ±è¨ãåå¾ããç°¡åãªæ¹æ³ãæä¾ãã¦ãã¾ãã以ä¸ã®ã¢ãã¬ã¹ã§ããã¤ãä¾ãè¦ã¤ãããã¨ãã§ãã¾ãã
- http://kbabel.kde.org/img/previewKonq.png - http://www.debian.org/intl/l10n/
ãããããã¹ã¦åé¡ãªãããã§ã¯ããã¾ããããã®ã¢ããã¼ãã«ã¯å¯¾å¦ããã¹ãæ¬ ç¹ãããã¾ãã
- *
- 追å å 容ã¯â¦â¦ä¸è¦ãã¦ãå¤ã§ã
- *
- 翻訳ããããã¹ããããã®æ®µè½ãåå²ããã¨ãããã®äºã¤ã®æ®µè½ãçµåããã¨ãã£ããããªãã®å¥½ã¿ã«åããããã¨ãã§ãã¾ããããããããªãªã¸ãã«ã«åé¡ãããã®ã§ããã°ãã¨ãããããã°ã¨ãã¦å ±åãã¹ãã ãã¨ããæè¦ãããã¾ãã
- *
- ç°¡åãªã¤ã³ã¿ã¼ãã§ã¼ã¹ã§ãããå¦ç¿ãå¿
è¦ãªæ°ãããã¼ã«ã®ã¾ã¾ã§ãã
ç§ã®å¤¢ã®ä¸ã¤ã¯ gtranslator ã kbabel ã«ä½ããã®å½¢ã§çµ±åãããã¨ã§ããsgml ãã¡ã¤ã«ãéãã¨ãæååãèªåçã«æ½åºãã¾ããä¿åããã¨ã翻訳æ¸ã¿ sgml ãã¡ã¤ã«ããã£ã¹ã¯ã«æ¸ãè¾¼ã¿ã¾ããMS Word (TM) ã¢ã¸ã¥ã¼ã« (å°ãªãã¨ã RTF) ã§ãããã§ããã°ãããã®ç¿»è¨³å®¶ãããã使ã£ã¦ãããããç¥ãã¾ããã
æ¢ç¥ã®ãã°ã¨æ©è½ã®ãªã¯ã¨ã¹ã
(ã¢ã¸ã¥ã¼ã«ã足ããªã以å¤ã§) ãã£ã¨ã大ããªåé¡ã¯æåã³ã¼ãã®åãæ±ãã§ããUTF8 perl pragma ã追å ãã¦ãåºåæã«å度ã³ã¼ãå¤æããæ¹éã§ãããã¾ã å®è£ ãã¦ãã¾ãããã¾ããsgml ã¢ã¸ã¥ã¼ã«ã® (ãã¡ã¤ã«æ¿å ¥ã«é¢ãã) ã³ã¼ãããå ¨ã¢ã¸ã¥ã¼ã«ã享åã§ããããã« TransTractor ã«å°å ¥ãããã¨æãã¾ãããããã¯ã¦ã¼ã¶ã«ã¯è¦ãã¾ããã
èè
Denis Barbier <barbier,linuxfr.org> Martin Quinson (mquinson#debian.org)
訳è
å澤 æ <nabetaro@debian.or.jp> Debian JP Documentation ML <debian-doc@debian.or.jp>
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre