Rechercher une page de manuel
Locale::Po4a::TransTractor.3pm
Langue: ja
Version: 2010-06-01 (fedora - 01/12/10)
Section: 3 (Bibliothèques de fonctions)
Sommaire
åå
Locale::Po4a::TransTractor - æ±ç¨ç¿»è¨³æ½åºæ©æ§èª¬æ
po4a (po for anything) ããã¸ã§ã¯ãã¯ãgettext ãã¼ã«ãæ³å®ãã¦ããªãããã¥ã¡ã³ãã®ãããªé åã§ç¿»è¨³ãããããããã㨠(ã¾ãããèå³æ·±ãã®ã¯ã翻訳æã®ä¿å®ããããããªããã¨) ãç®æ¨ã«ãã¦ãã¾ãããã®ã¯ã©ã¹ã¯ã翻訳å¯è½ãªæååãæ¤ç´¢ããããã®ããã¥ã¡ã³ãã®ãã¼ã¹ãpo ãã¡ã¤ã«ã¸ã®æ½åºãåºåããããã¥ã¡ã³ãã¸ã®ç¿»è¨³ããæååã®ç½®æã«ä½¿ç¨ããããã¹ã¦ã® po4a ãã¼ãµã®ç¥å ã«ãªãã¾ãã
ãã£ã¨å½¢å¼å¼µã£ã¦è¨ãã¨ãå ¥åã¨ãã¦ä»¥ä¸ã®å¼æ°ãåãã¾ãã
- -
- 翻訳ããããã¥ã¡ã³ã
- -
- 翻訳ã«ä½¿ç¨ãã po ãã¡ã¤ã«
以ä¸ãåºåãã¾ãã
- -
- å ¥åããã¥ã¡ã³ããã翻訳å¯è½ãªæååãæ½åºãããå¥ã® po ãã¡ã¤ã«ã
- -
- å ¥åãããã®ã¨åãæ§é ã§ãå ¥åãã po ãã¡ã¤ã«ã«ãã訳ã§ç¿»è¨³å¯è½ãªæååãç½®æããã翻訳æ¸ã¿ããã¥ã¡ã³ãã
ãããè¦è¦çã«è¡¨ãã¨æ¬¡ã®ããã«ãªãã¾ãã
å ¥åããã¥ã¡ã³ã-\ /---> åºåããã¥ã¡ã³ã \ / (翻訳æ¸) +-> parse() é¢æ° ---------+ / \ å ¥å po --------/ \---> åºå po (æ½åºæ¸)
åå¥ã®ãã¼ãµã§ãªã¼ãã¼ã©ã¤ãããã¹ãé¢æ°
- parse()
- ããã«ãå
¥åããã¥ã¡ã³ãã®ãã¼ã¹ãåºåã®çæã翻訳å¯è½æååã®æ½åºã¨ãã£ãããã¹ã¦ã®åä½ãå®ç¾©ãã¦ãã¾ããå¾è¿°ãããå
é¨é¢æ°ãã»ã¯ã·ã§ã³ã§èª¬æããæä¾ãããé¢æ°ã使ç¨ããã®ã¯ããªãç°¡åã§ãããµã³ãã«ä»ãã®æ¸å¼ãã覧ãã ããã
ãã®é¢æ°ã¯ãå¾è¿°ã® process() é¢æ°ããå¼ã°ãã¾ãããnew() é¢æ°ã使ç¨ãã¦ãããã¥ã¡ã³ãã«å 容ãæã§è¿½å ããã®ãé¸ãã å ´åããã®é¢æ°èªä½ãå¼ã°ãã°ãªãã¾ããã
- docheader()
- ãã®é¢æ°ã¯ãã¿ã¼ã²ããã®è¨èªã§ã³ã¡ã³ãã«ããããã®ãé©åã«ã¯ã©ã¼ããããçæããããã¥ã¡ã³ãã«è¿½å ããã¹ãããããè¿ãã¾ãããã®ä½ãããã®ãã¯ãpo4a(7) ã®ã翻訳ã«ã¤ãã¦ã®éçºè æè²ãã»ã¯ã·ã§ã³ãã覧ãã ããã
æ¸å¼
以ä¸ã®ä¾ã¯ã``<p>'' ã§å§ã¾ã段è½ã®ãªã¹ãããã¼ã¹ãã¾ããç°¡åã«ããããã«ãããã¥ã¡ã³ããæ´å½¢ããã¦ãããè¨ãæããã¨ã'<p>' ã¿ã°ã®ã¿ãç¾ããå段è½ã¯ãã®ã¿ã°ã§å¿ ãå§ã¾ãã¨è¦ãªãã¾ããsub parse { my $self = shift; PARAGRAPH: while (1) { my ($paragraph,$pararef)=("",""); my $first=1; my ($line,$lref)=$self->shiftline(); while (defined($line)) { if ($line =~ m/<p>/ && !$first--; ) { # Not the first time we see <p>. # Reput the current line in input, # and put the built paragraph to output $self->unshiftline($line,$lref); # Now that the document is formed, translate it: # - Remove the leading tag $paragraph =~ s/^<p>//s; # - push to output the leading tag (untranslated) and the # rest of the paragraph (translated) $self->pushline( "<p>" . $document->translate($paragraph,$pararef) ); next PARAGRAPH; } else { # Append to the paragraph $paragraph .= $line; $pararef = $lref unless(length($pararef)); } # Reinit the loop ($line,$lref)=$self->shiftline(); } # Did not get a defined line? End of input file. return; } }
parse é¢æ°ãå®è£ ãããã次ã®ã»ã¯ã·ã§ã³ã§èª¬æãã ãããªãã¯ã¤ã³ã¿ã¼ãã§ã¼ã¹ãç¨ã㦠document ã¯ã©ã¹ã使ç¨ã§ãã¾ãã
ãã¼ãµã§ä½¿ç¨ããã¹ã¯ãªããã®ãããªãã¯ã¤ã³ã¿ã¼ãã§ã¼ã¹
ã³ã³ã¹ãã©ã¯ã¿
- process(%)
- ãã®é¢æ°ã¯ãpo4a ããã¥ã¡ã³ãã§è¡ãã®ã«å¿
è¦ãªãã¹ã¦ããä¸åº¦ã®å®è¡ã§è¡ãã¾ããå¼æ°ã¯ããã·ã¥ã¨ãã¦ããã¯ããªãã¦ã¯ãªãã¾ãããåä½ã¯ä»¥ä¸ã®ããã«ãªãã¾ãã
-
- a.
- po_in_name ã§æå®ããããã¹ã¦ã® po ãã¡ã¤ã«ã®èªã¿è¾¼ã¿
- b.
- file_in_name ã§æå®ããããã¹ã¦ã®ãªãªã¸ãã«ããã¥ã¡ã³ãã®èªã¿è¾¼ã¿
- c.
- ããã¥ã¡ã³ãã®ãã¼ã¹
- d.
- æå®ãããã¹ã¦ã®è¿½å å 容ã®ãèªã¿è¾¼ã¿ã»é©ç¨
- e.
- 翻訳ããããã¥ã¡ã³ãã® file_out_name ã¸ã®æ¸ãåºã (ä¸ããããå ´å)
- f.
- æ½åºãã po ãã¡ã¤ã«ã® po_out_name ã¸ã®æ¸ãåºã (ä¸ããããå ´å)
new() ã§åãä»ãããã®ä»¥å¤ã®å¼æ° (ã¨æ³å®ããå)ã-
- file_in_name (@)
- èªã¿è¾¼ãã¹ãå ¥åããã¥ã¡ã³ãã®ããã¡ã¤ã«åã®ãªã¹ãã§ãã
- file_in_charset ($)
- å ¥åããã¥ã¡ã³ãã§ä½¿ç¨ãã¦ããæåã»ããã§ã (æå®ããªãå ´åãå ¥åããã¥ã¡ã³ãããæ¤åºãããã¨ãã¾ã)ã
- file_out_name ($)
- æ¸ãåºãã¹ãåºåããã¥ã¡ã³ãã®ãã¡ã¤ã«åã§ãã
- file_out_charset ($)
- åºåããã¥ã¡ã³ãã§ä½¿ç¨ããæåã»ããã§ã (æå®ããªãå ´åãpoãã¡ã¤ã«ã®æåã»ããã使ç¨ãã¾ã)ã
- po_in_name (@)
- èªã¿è¾¼ãã¹ãå ¥å po ãã¡ã¤ã« (ããã¥ã¡ã³ãã®ç¿»è¨³ã«ä½¿ç¨ãã訳æ) ã®ããã¡ã¤ã«åã®ãªã¹ãã§ãã
- po_out_name ($)
- æ¸ãåºãã¹ãåºå po ãã¡ã¤ã« (å ¥åããã¥ã¡ã³ãããæ½åºããæåå) ã®ãã¡ã¤ã«åã§ãã
- addendum (@)
- èªã¿è¾¼ãã¹ã追å å 容ã®ããã¡ã¤ã«åã®ãªã¹ãã§ãã
- addendum_charset ($)
- 追å å 容ã®æåã»ãã
-
- new(%)
- æ°è¦ Po4a ããã¥ã¡ã³ããä½æãã¾ãã以ä¸ã®ãªãã·ã§ã³ (ããã·ã¥ã¯ä¸å¯) ãåãåãã¾ãã
-
- verbose ($)
- åé·è¡¨ç¤ºãæå¹ã«ãã¾ãã
- debug ($)
- ãããã°ãæå¹ã«ãã¾ãã
-
ããã¥ã¡ã³ããã¡ã¤ã«ã®æä½
- read($)
- å¥ã®å
¥åããã¥ã¡ã³ãããæ¢åã®ããã¥ã¡ã³ãã®å¾ãã«è¿½å ãã¾ããå¼æ°ã¯èªã¿è¾¼ããã¡ã¤ã«åã§ãã
ãã¼ã¹ã¯ä¸åè¡ããªããã¨ã«æ³¨æãã¦ãã ãããå ¥åãã¡ã¤ã«ãããã¥ã¡ã³ãã«æ ¼ç´ããæç¹ã§ parse() é¢æ°ã使ç¨ããã¹ãã§ãã
- write($)
- ä¸ãããã¡ã¤ã«åã§ç¿»è¨³æ¸ã¿ããã¥ã¡ã³ããæ¸ãåºãã¾ãã
po ãã¡ã¤ã«ã®æä½
- readpo($)
- æ¢åã®å ¥å po ã«ã(å¼æ°ã§æ¸¡ããååã®) ãã¡ã¤ã«ã®å 容ã追å ãã¾ããå¤ãå 容ã¯ç ´æ£ããã¾ããã
- writepo($)
- æ½åºãã po ãã¡ã¤ã«ããä¸ãããã¡ã¤ã«åã§æ¸ãåºãã¾ãã
- stats()
- ç¾å¨ã¾ã§ã«ç¿»è¨³ããå
容ã«é¢ããçµ±è¨ãè¿ãã¾ããmsgfmt --statistic ãåºåããçµ±è¨ã¨ã¯ãåãã¨ã¯éããªããã¨ã«æ³¨æãã¦ãã ãããããã§ã¯ãpo ãã¡ã¤ã«ã®ææ°ã®ä½¿ç¨æ³ã«ã¤ãã¦ã®çµ±è¨ã§ãããmsgfmt ãå ±åããã®ã¯ããã¡ã¤ã«ã®ç¶æ
ã«ã¤ãã¦ã§ããããã¯ãLocale::Po4a::Po::stats_get é¢æ°ãå
¥åãã po ãã¡ã¤ã«ã«é©ç¨ããã©ããã¼ã§ãããµã³ãã«ã¯ä»¥ä¸ã®ããã«ãªãã¾ãã
[po4a ããã¥ã¡ã³ãã®é常ã®ä½¿ç¨...] ($percent,$hit,$queries) = $document->stats(); print "We found translations for $percent\% ($hit from $queries) of strings.\n";
追å å 容ã®æä½
- addendum($)
- 追å å
容ã¨ã¯ä½ãããã翻訳è
ã¯ã©ã®ããã«æ¸ãããããã®ãã¨ãã£ãæ
å ±ã¯ãpo4a(7) ãåç
§ãã¦ãã ããã翻訳ããããã¥ã¡ã³ãã«è¿½å å
容ãé©ç¨ããã«ã¯ããã®é¢æ°ã«åç´ã«ãã¡ã¤ã«åã渡ããå®è¡ããã ãã§ãã
ãã®é¢æ°ã¯ãã¨ã©ã¼æã«ã¯ é null ã®æ°å¤ãè¿ãã¾ãã
æ´¾çãã¼ãµä½ææã«ä½¿ç¨ããå é¨é¢æ°
å ¥åã¨åºå
å ¥åãåãä»ããåºåãè¿ãé¢æ°ã 4 ã¤ç¨æãã¦ãã¾ããããã㯠shift/unshift ã push/pop ã¨ããä¼¼ã¦ãã¾ããæåã®çµã¯å ¥åç¨ãå¾ã®çµã¯åºåç¨ã§ããå ¥åã§ã¯ shift ãããããã«æåã®è¡ãæ±ããåºåã§ã¯ push ãããããã«ãçµæã®æå¾ã«è¿½å ããã¨è¦ããã°ããã§ãããã- shiftline()
- ãã®é¢æ°ã¯ããã¼ã¹ãã doc_in ã®æ¬¡ã®è¡ã¨ãã®åç §ãã(é åã«ããã¯ãã¦) è¿ãã¾ãã
- unshiftline($$)
- å ¥åããã¥ã¡ã³ãã®è¡ã¨ãã®åç §ã unshift ãã¾ãã
- pushline($)
- doc_out ã«æ°ããè¡ãæ¿å ¥ãã¾ãã
- popline()
- doc_out ããæå¾ã« push ããè¡ã pop ãã¾ãã
æååã翻訳å¯è½ã¨ãã¦ãã¼ã¯
翻訳ããã¹ãããã¹ããæ±ãé¢æ°ã 1 ã¤ç¨æãã¦ãã¾ãã- translate($$$)
- ä¸ããå¼æ°
-
- -
- 翻訳ããæåå
- -
- ãã®æååã®åç § (è¨ãæããã¨ãå ¥åãã¡ã¤ã«ã®å ´æ)
- -
- æååã®å (ã¤ã¾ãæ§é ä¸ã®å½¹å²ãããã¹ãã§èª¬æãããã®ãLocale::Po4a::Po::gettextization() ã§ä½¿ç¨ãã¾ãã po4a(7) ã® gettext å: ã©ã®ããã«åä½ãã¾ãã? ç¯ãã覧ãã ãã)
ãã®é¢æ°ã¯ãããã¤ã追å å¼æ°ãåãã¾ããããã·ã¥ã¨ãã¦ã¾ã¨ããªããã°ãªãã¾ããã
-
$self->translate("string","ref","type", 'wrap' => 1);
- wrap
- æååä¸ã®ç©ºç½ããéè¦ã§ãªãã¨ãã¦æ±ããã©ããã示ãçå½å¤ã§ããéè¦ã§ãªãå ´åããã®é¢æ°ã¯ã翻訳ãæ¢ãããæ½åºãããããåã®æååãç´ãã翻訳ãæãè¿ãã¾ãã
- wrapcol
- æ¹è¡ãè¡ãå¹ ã§ã (ããã©ã«ã: 76)ã
- comment
- ã¨ã³ããªã«è¿½å ããã³ã¡ã³ã
åä½:-
- -
- æååãåç §ãåã po_out ã« push ãã¾ãã
- -
- ãã¼ãµã doc_out ãæ§ç¯ã§ããããã«ãæååã®ç¿»è¨³ (po_in ã«è¦ã¤ãã£ããã®) ãè¿ãã¾ãã
- -
- æååã po_out ã«éãåã翻訳ãè¿ãåã«ãæååãåã³ã¼ãåããæåã»ãããæ±ãã¾ãã
-
ãã®ä»ã®é¢æ°
- verbose()
- TransTractor ã®çææã« verbose ãªãã·ã§ã³ã渡ãããå ´åãè¿ãã¾ãã
- debug()
- TransTractor ã®çææã« debug ãªãã·ã§ã³ã渡ãããå ´åãè¿ãã¾ãã
- detected_charset($)
- ããã¯ãå ¥åããã¥ã¡ã³ãããæ°ããæåã»ãã (第ä¸å¼æ°) ãæ¤åºããã¨ãTransTractor ã«ä¼ãã¾ããé常ãããã¥ã¡ã³ãã®ãããããèªããã¨ãã§ãã¾ããprocess() ã®å¼æ°ããæ¥ããã®ã¨ããã¥ã¡ã³ãããæ¤åºãããã®ã®ãã¡ãæåã®æåã»ããã®ã¿ã対象ã¨ãªãã¾ãã
- get_out_charset()
- ãã®é¢æ°ã¯ãåºåããã¥ã¡ã³ãã§ä½¿ç¨ããæåã»ãããè¿ãã¾ã (å
¥åããã¥ã¡ã³ãã®æ¤åºãã (ãã®å ´æã«ãã£ã) æåã»ãããç½®ãæããã®ã«ä¾¿å©ã§ã)
ã³ãã³ãã©ã¤ã³ã§æå®ããåºåæåã»ããã使ããã¾ããæå®ããªãå ´åã§ãå ¥å po ãã¡ã¤ã«ã« ããã©ã«ãã® ``CHARSET'' ãããå ´åã¯ãå ¥å po ãã¡ã¤ã«ã®æåã»ããã使ç¨ãã¾ããã¨ã³ã³ã¼ãã£ã³ã°ãä¸ããããªãã£ãå ´åã¯ãå ¥åããã¥ã¡ã³ãã®æåã»ãããè¿ãã¾ãã
- recode_skipped_text($)
- ãã®é¢æ°ã¯ãå¼æ°ã§æ¸¡ããããã¹ãããå ¥åããã¥ã¡ã³ãã®æåã»ãããããåºåããã¥ã¡ã³ãã®æåã»ããã¸ãåã³ã¼ãåãã¦è¿ãã¾ããããã¯ãæååã翻訳ããéã«ã¯å¿ è¦ããã¾ããã (translate() ã¯ãèªåã§ãã¹ã¦åã³ã¼ãåãã¾ã)ãå ¥åããã¥ã¡ã³ãããã®æååãã¹ãããããåºåããã¥ã¡ã³ããå ±éã®ã¨ã³ã³ã¼ãã§ä¸è´ããããå ´åã«å¿ è¦ã§ãã
å°æ¥ã®æ¹åæ§
ç¾å¨ã® TransTractor ã®æ¬ ç¹ã®ä¸ã¤ã«ã(debconf ãã³ãã¬ã¼ããã.desktop ãã¡ã¤ã«ã®ãããª) ãã¹ã¦ã®è¨èªãå«ã翻訳æ¸ã¿ããã¥ã¡ã³ããæ±ããªãã¨ãããã®ãããã¾ãããã®åé¡ã«å¯¾å¦ããã«ã¯ã以ä¸ã®ããã«ã¤ã³ã¿ã¼ãã§ã¼ã¹ã®ã¿ãå¤æ´ãããã¨ãå¿ è¦ã§ãã
- -
- po_in_name (è¨èªãã¨ã®ãªã¹ã) ã¨ãã¦ããã·ã¥ãåãã¾ãã
- -
- 対象è¨èªã示ãããã®ç¿»è¨³ããå¼æ°ã追å ãã¾ãã
- -
- 以ä¸ã® map ã®ãããªæ¸å¼ã使ç¨ãããå
¨è¨èªã®å
容ã«å¯¾ãã pushline ã®ãããªãpushline_all é¢æ°ãä½æãã¾ãã
$self->pushline_all({ "Description[".$langcode."]=". $self->translate($line,$ref,$langcode) });
ããã§ååã ã¨ããã®ã§ãã ;)
èè
Denis Barbier <barbier@linuxfr.org> Martin Quinson (mquinson#debian.org) Jordi Vilalta <jvprat@gmail.com>
訳è
å澤 æ <nabetaro@debian.or.jp> Debian JP Documentation ML <debian-doc@debian.or.jp>
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre