Lines Matching +refs:po +refs:current +refs:entry
352 * po/POTFILES.in:: @file{POTFILES.in} in @file{po/}
353 * po/LINGUAS:: @file{LINGUAS} in @file{po/}
354 * po/Makevars:: @file{Makevars} in @file{po/}
355 * po/Rules-*:: Extending @file{Makefile} in @file{po/}
370 * AM_PO_SUBDIRS:: AM_PO_SUBDIRS in @file{po.m4}
371 * AM_XGETTEXT_OPTION:: AM_XGETTEXT_OPTION in @file{po.m4}
879 @cindex files, @file{.po} and @file{.mo}
880 The letters PO in @file{.po} files means Portable Object, to
937 │ ├────> msgmerge ──────> LANG.po ────>────────╯ │
941 │ ├─── New LANG.po <────────────────────╯
963 | +----> msgmerge ------> LANG.po ---->--------' |
967 | +--- New LANG.po <--------------------'
1040 The first time through, there is no @file{@var{lang}.po} yet, so the
1042 @file{@var{package}.pot} to @file{@var{lang}.po}, where @var{lang}
1054 While adding the translated messages into the @file{@var{lang}.po}
1086 evolving over time, so the translations carried by @file{@var{lang}.po}
1099 existing @file{@var{lang}.po} file, by comparing it with a newer
1104 obsolete, in @file{@var{lang}.po}, those already translated entries
1112 @file{@var{lang}.po} file offering translations for all strings.
1440 contains some @file{@var{ll}.po} files; often they are kept together in a
1441 directory called @file{po/}. Each @file{@var{ll}.po} file contains the
1447 @cindex file format, @file{.po}
1454 A PO file is made up of many entries, each entry holding the relation
1458 target language. One PO file @dfn{entry} has the following schematic
1476 A simple entry can look like this:
1522 do is merely deleting them, and only by deleting the whole entry.
1777 Such an entry can look like this:
1780 #: src/msgcmp.c:338 src/po-lex.c:699
1809 very last entry of a PO file. Such lines are not part of any entry,
1819 entry with the meta information (@pxref{Header Entry}). This header
1820 entry should be the first entry of the file. The empty
2155 (with the current translation tools), therefore she has to proofread
2399 in @ref{po/Makevars} and @ref{AM_XGETTEXT_OPTION}.
2464 candidate for translation (@code{po-tags-search}).
2468 Mark the last string found with @samp{_()} (@code{po-mark-translatable}).
2474 keywords (@code{po-select-mark-and-mark}).
2478 @efindex po-tags-search@r{, PO Mode command}
2479 The @kbd{,} (@code{po-tags-search}) command searches for the next
2520 @efindex po-mark-translatable@r{, PO Mode command}
2521 @efindex po-select-mark-and-mark@r{, PO Mode command}
2522 The @kbd{M-,} (@code{po-mark-translatable}) command will mark the
2524 (@code{po-select-mark-and-mark}) command will request that you type
2527 untranslated entry for the string being marked, and make it the
2528 current entry (making it easy for you to immediately proceed to its
2618 useful for @code{msgfmt} to test all the strings in the @file{.po} file.
2624 only a heuristic. In the @file{.po} file the entry is marked using the
2653 would prevent translating the @file{.po} file. The method to prevent
2941 initialization function: It is sufficient that all entry points of the
3008 @code{xgettext} creates a file named @file{@var{domainname}.po}. You
3031 @file{@var{LANG}.po}, as a copy of the @file{@var{package}.pot} template
3033 and in the header entry (the first entry, near the beginning of the file).
3040 $ cd po
3046 @file{@var{LANG}.po}. Then she modifies the initial comments and
3047 the header entry of this file.
3061 @cindex header entry of a PO file
3069 Modifying the header entry can already be done using PO mode: in Emacs,
3070 type @kbd{M-x po-mode RET} and then @kbd{RET} again to start editing the
3071 entry. You should fill in the following fields.
3370 (cons '("\\.po\\'\\|\\.po\\." . po-mode) auto-mode-alist))
3371 (autoload 'po-mode "po-mode" "Major mode for translators to edit PO files" t)
3374 Later, whenever you edit some @file{.po}
3375 file, or any file having the string @samp{.po.} within its name,
3376 Emacs loads @file{po-mode.elc} (or @file{po-mode.el}) as needed, and
3390 (modify-coding-system-alist 'file "\\.po\\'\\|\\.po\\."
3391 'po-find-file-coding-system)
3392 (autoload 'po-find-file-coding-system "po-mode")
3408 po-mode-map, which is a genuine Emacs mode, in a way that is not derived
3409 from text mode in any way. Functions found on @code{po-mode-hook},
3431 Undo last modification to the PO file (@code{po-undo}).
3435 Quit processing and save the PO file (@code{po-quit}).
3439 Quit processing, possibly after confirmation (@code{po-confirm-and-quit}).
3443 Temporary leave the PO file window (@code{po-other-window}).
3449 Show help about PO mode (@code{po-help}).
3453 Give some PO file statistics (@code{po-statistics}).
3457 Batch validate the format of the whole PO file (@code{po-validate}).
3462 @efindex po-undo@r{, PO Mode command}
3463 The command @kbd{_} (@code{po-undo}) interfaces to the Emacs
3475 @efindex po-quit@r{, PO Mode command}
3476 @efindex po-confirm-and-quit@r{, PO Mode command}
3477 The commands @kbd{Q} (@code{po-quit}) and @kbd{q}
3478 (@code{po-confirm-and-quit}) are used when the translator is done with the
3488 @efindex po-other-window@r{, PO Mode command}
3489 The command @kbd{0} (@code{po-other-window}) is another, softer way,
3502 @efindex po-help@r{, PO Mode command}
3503 The command @kbd{h} (@code{po-help}) displays a summary of all available PO
3509 @efindex po-statistics@r{, PO Mode command}
3510 The command @kbd{=} (@code{po-statistics}) computes the total number of
3511 entries in the PO file, the ordinal of the current entry (counted from
3516 @efindex po-validate@r{, PO Mode command}
3517 The command @kbd{V} (@code{po-validate}) launches @code{msgfmt} in
3519 mode over the current PO file. This command first offers to save the
3520 current PO file on disk. The @code{msgfmt} tool, from GNU @code{gettext},
3538 @emindex current entry of a PO file
3540 an entry. The only exceptions are the special case when the cursor
3541 is after the last entry in the file, or when the PO file is
3542 empty. The entry where the cursor is found to be is said to be the
3543 current entry. Many PO mode commands operate on the current entry,
3545 the PO file, this also selects on which entry commands operate.
3557 Redisplay the current entry (@code{po-current-entry}).
3561 Select the entry after the current one (@code{po-next-entry}).
3565 Select the entry before the current one (@code{po-previous-entry}).
3569 Select the first entry in the PO file (@code{po-first-entry}).
3573 Select the last entry in the PO file (@code{po-last-entry}).
3577 Record the location of the current entry for later use
3578 (@code{po-push-location}).
3582 Return to a previously saved entry location (@code{po-pop-location}).
3586 Exchange the current entry location with the previously saved one
3587 (@code{po-exchange-location}).
3592 @efindex po-current-entry@r{, PO Mode command}
3594 to select the current entry in PO mode, including commands which
3597 current entry in PO mode, which usual Emacs commands moving
3599 (@code{po-current-entry}) has the sole purpose of redisplaying the
3600 current entry properly, after the current entry has been changed by
3618 @efindex po-next-entry@r{, PO Mode command}
3620 @efindex po-previous-entry@r{, PO Mode command}
3621 The commands @kbd{n} (@code{po-next-entry}) and @kbd{p}
3622 (@code{po-previous-entry}) move the cursor the entry following,
3623 or preceding, the current one. If @kbd{n} is given while the
3624 cursor is on the last entry of the PO file, or if @kbd{p}
3625 is given while the cursor is on the first entry, no move is done.
3628 @efindex po-first-entry@r{, PO Mode command}
3630 @efindex po-last-entry@r{, PO Mode command}
3631 The commands @kbd{<} (@code{po-first-entry}) and @kbd{>}
3632 (@code{po-last-entry}) move the cursor to the first entry, or last
3633 entry, of the PO file. When the cursor is located past the last
3634 entry in a PO file, most PO mode commands will return an error saying
3635 @samp{After last entry}. Moreover, the commands @kbd{<} and @kbd{>}
3637 is not into some PO file entry, and one may use them for nicely
3643 a particular entry, that she needs to browse the remainder of the
3646 for saving the current cursor location in some register, and use that
3650 @efindex po-push-location@r{, PO Mode command}
3652 @efindex po-pop-location@r{, PO Mode command}
3654 onto a special stack. The command @kbd{m} (@code{po-push-location})
3655 merely adds the location of current entry to the stack, pushing
3657 @kbd{r} (@code{po-pop-location}) consumes the top stack element and
3658 repositions the cursor to the entry associated with that top element.
3664 maybe for taking a look at the entry associated with the top
3669 @efindex po-exchange-location@r{, PO Mode command}
3670 The command @kbd{x} (@code{po-exchange-location}) simultaneously
3671 repositions the cursor to the entry associated with the top element of
3673 location of the current entry before the move. Consequently, repeating
3676 first entry, use @kbd{m}, then position to the second entry, and
3684 PO file entry, because there are so many different ways to split and
3688 particular string encoded into the @code{msgid} field of some entry.
3709 @item M-x po-normalize
3710 @efindex po-normalize@r{, PO Mode command}
3715 The special command @kbd{M-x po-normalize}, which has no associated
3718 It also removes any crumb after the last entry. This command may be
3724 @kbd{M-x po-normalize} presently makes three passes over the entries.
3739 files from other sources, but also eases the evolution of the current
3791 Each PO file entry for which the @code{msgstr} field has been filled with
3793 is said to be a @dfn{translated} entry. Only translated entries will
3795 Other entry types will be excluded; translation will not occur for them.
3798 Some commands are more specifically related to translated entry processing.
3803 Find the next translated entry (@code{po-next-translated-entry}).
3807 Find the previous translated entry (@code{po-previous-translated-entry}).
3812 @efindex po-next-translated-entry@r{, PO Mode command}
3814 @efindex po-previous-translated-entry@r{, PO Mode command}
3815 The commands @kbd{t} (@code{po-next-translated-entry}) and @kbd{T}
3816 (@code{po-previous-translated-entry}) move forwards or backwards, chasing
3817 for an translated entry. If none is found, the search is extended and
3820 @evindex po-auto-fuzzy-on-edit@r{, PO Mode variable}
3823 variable @code{po-auto-fuzzy-on-edit} is not @code{nil}, the entry having
3824 received a new translation first becomes a fuzzy entry, which ought to
3825 be later unfuzzied before becoming an official, genuine translated entry.
3832 @cindex attributes of a PO file entry
3834 Each PO file entry may have a set of @dfn{attributes}, which are
3846 what it thinks to be the old translation for the new modified entry.
3853 Also, the translator may decide herself to mark an entry as fuzzy
3854 for her own convenience, when she wants to remember that the entry
3856 related to fuzzy entry processing.
3861 @c better append "-entry" all the time. -ke-
3862 Find the next fuzzy entry (@code{po-next-fuzzy-entry}).
3866 Find the previous fuzzy entry (@code{po-previous-fuzzy-entry}).
3870 Remove the fuzzy attribute of the current entry (@code{po-unfuzzy}).
3875 @efindex po-next-fuzzy-entry@r{, PO Mode command}
3877 @efindex po-previous-fuzzy-entry@r{, PO Mode command}
3878 The commands @kbd{f} (@code{po-next-fuzzy-entry}) and @kbd{F}
3879 (@code{po-previous-fuzzy-entry}) move forwards or backwards, chasing for
3880 a fuzzy entry. If none is found, the search is extended and wraps
3884 @efindex po-unfuzzy@r{, PO Mode command}
3885 @evindex po-auto-select-on-unfuzzy@r{, PO Mode variable}
3886 The command @kbd{@key{TAB}} (@code{po-unfuzzy}) removes the fuzzy
3887 attribute associated with an entry, usually leaving it translated.
3888 Further, if the variable @code{po-auto-select-on-unfuzzy} has not
3890 for another interesting entry to work on. The initial value of
3891 @code{po-auto-select-on-unfuzzy} is @code{nil}.
3893 The initial value of @code{po-auto-fuzzy-on-edit} is @code{nil}. However,
3894 if the variable @code{po-auto-fuzzy-on-edit} is set to @code{t}, any entry
3897 is that an entry becomes fuzzy (if not already) whenever the translator
3899 @kbd{@key{TAB}} to pick another entry to work on, clearing the fuzzy attribute
3901 to chase another entry, leaving the entry fuzzy.
3904 @efindex po-fade-out-entry@r{, PO Mode command}
3906 (@code{po-fade-out-entry}) over any translated entry to mark it as being
3908 working at this entry.
3924 by the appearance of a new untranslated entry for the modified string.
3926 The usual commands moving from entry to entry consider untranslated
3932 of seeking for an untranslated entry, editing a translation for
3934 Some commands are more specifically related to untranslated entry
3940 Find the next untranslated entry (@code{po-next-untranslated-entry}).
3944 Find the previous untranslated entry (@code{po-previous-untransted-entry}).
3948 Turn the current entry into an untranslated one (@code{po-kill-msgstr}).
3953 @efindex po-next-untranslated-entry@r{, PO Mode command}
3955 @efindex po-previous-untransted-entry@r{, PO Mode command}
3956 The commands @kbd{u} (@code{po-next-untranslated-entry}) and @kbd{U}
3957 (@code{po-previous-untransted-entry}) move forwards or backwards,
3958 chasing for an untranslated entry. If none is found, the search is
3962 @efindex po-kill-msgstr@r{, PO Mode command}
3963 An entry can be turned back into an untranslated entry by
3965 (@code{po-kill-msgstr}). @xref{Modifying Translations}.
3979 The usual commands moving from entry to entry consider obsolete
3988 may apply to obsolete entries, carefully leaving the entry obsolete
3993 entry processing.
3998 Find the next obsolete entry (@code{po-next-obsolete-entry}).
4002 Find the previous obsolete entry (@code{po-previous-obsolete-entry}).
4006 Make an active entry obsolete, or zap out an obsolete entry
4007 (@code{po-fade-out-entry}).
4012 @efindex po-next-obsolete-entry@r{, PO Mode command}
4014 @efindex po-previous-obsolete-entry@r{, PO Mode command}
4015 The commands @kbd{o} (@code{po-next-obsolete-entry}) and @kbd{O}
4016 (@code{po-previous-obsolete-entry}) move forwards or backwards,
4017 chasing for an obsolete entry. If none is found, the search is
4020 PO mode does not provide ways for un-commenting an obsolete entry
4027 @efindex po-fade-out-entry@r{, PO Mode command}
4028 @emindex obsolete active entry
4029 @emindex comment out PO file entry
4030 However, it is possible to comment out an active entry, so making
4033 The command @kbd{@key{DEL}} (@code{po-fade-out-entry}) pushes the current entry
4034 a little further towards annihilation. If the entry is active (it is a
4035 translated entry), then it is first made fuzzy. If it is already fuzzy,
4036 then the entry is merely commented out, with confirmation. If the entry
4039 entry, usually one which is untranslated. @xref{Modifying Translations}.
4075 Interactively edit the translation (@code{po-edit-msgstr}).
4082 (@code{po-msgid-to-msgstr}).
4086 Save the translation on the kill ring, and delete it (@code{po-kill-msgstr}).
4091 (@code{po-kill-ring-save-msgstr}).
4096 (@code{po-yank-msgstr}).
4101 @efindex po-edit-msgstr@r{, PO Mode command}
4102 The command @kbd{@key{RET}} (@code{po-edit-msgstr}) opens a new Emacs
4105 the current PO file entry, all ready for edition, expunged of all quoting
4114 @efindex po-msgid-to-msgstr@r{, PO Mode command}
4115 The command @kbd{@key{LFD}} (@code{po-msgid-to-msgstr}) initializes, or
4120 @evindex po-auto-edit-with-msgid@r{, PO Mode variable}
4122 entry, the @kbd{@key{LFD}} command be automatically executed. If you set
4123 @code{po-auto-edit-with-msgid} to @code{t}, the translation gets
4125 The default value for @code{po-auto-edit-with-msgid} is @code{nil}.
4141 @efindex po-kill-msgstr@r{, PO Mode command}
4143 @efindex po-kill-ring-save-msgstr@r{, PO Mode command}
4144 The command @kbd{k} (@code{po-kill-msgstr}) merely empties the
4145 translation string, so turning the entry into an untranslated
4148 (@code{po-kill-ring-save-msgstr}) has also the effect of taking a
4150 the entry alone, and does @emph{not} remove the translation from the
4151 entry. Both commands use exactly the Emacs kill ring, which is shared
4170 @efindex po-yank-msgstr@r{, PO Mode command}
4171 The command @kbd{y} (@code{po-yank-msgstr}) completely replaces the
4172 translation of the current entry by a string taken from the kill ring.
4184 When a string is yanked into a PO file entry, it is fully and
4186 have. Further, if the entry is obsolete, PO mode then appropriately
4203 of a new untranslated entry for the modified string, and the fact
4204 that the entry translating the original or unmodified string becomes
4206 by retrieving the unmodified translation from the obsolete entry,
4207 then initializing the untranslated entry @code{msgstr} field with
4208 this retrieved translation. Once this done, the obsolete entry is
4211 When the translator finds an untranslated entry and suspects that a
4213 to mark the current entry location, then starts chasing obsolete
4216 for deleting the obsolete entry, knowing that @kbd{@key{DEL}} also @emph{kills}
4218 Then, @kbd{r} returns to the initial untranslated entry, and @kbd{y}
4255 Interactively edit the translator comments (@code{po-edit-comment}).
4260 (@code{po-kill-comment}).
4265 (@code{po-kill-ring-save-comment}).
4270 (@code{po-yank-comment}).
4282 @efindex po-edit-comment@r{, PO Mode command}
4283 The command @kbd{#} (@code{po-edit-comment}) opens a new Emacs window
4284 containing a copy of the translator comments on the current PO file entry.
4286 to add a comment to the entry, and she is presented with an empty screen.
4294 @evindex po-subedit-mode-hook@r{, PO Mode variable}
4295 Functions found on @code{po-subedit-mode-hook}, if any, are executed after
4299 @efindex po-kill-comment@r{, PO Mode command}
4301 @efindex po-kill-ring-save-comment@r{, PO Mode command}
4303 @efindex po-yank-comment@r{, PO Mode command}
4304 The command @kbd{K} (@code{po-kill-comment}) gets rid of all
4306 The command @kbd{W} (@code{po-kill-ring-save-comment}) takes
4308 them undisturbed in the current entry. The command @kbd{Y}
4309 (@code{po-yank-comment}) completely replaces the translator comments
4346 Complete edition (@code{po-subedit-exit}).
4350 Abort edition (@code{po-subedit-abort}).
4354 Consult auxiliary PO files (@code{po-subedit-cycle-auxiliary}).
4360 @efindex po-subedit-exit@r{, PO Mode command}
4364 (@code{po-subedit-exit}) may be used to return the edited translation into
4369 @efindex po-subedit-abort@r{, PO Mode command}
4373 (@code{po-subedit-abort}) to merely get rid of edition, while preserving
4379 @efindex po-subedit-cycle-auxiliary@r{, PO Mode command}
4380 The command @w{@kbd{C-c C-a}} (@code{po-subedit-cycle-auxiliary})
4382 already achieved in other languages, directly while editing the current
4387 Functions found on @code{po-subedit-mode-hook}, if any, are executed after
4411 PO file buffer, she may decide to start modifying another entry. Each entry
4413 edit the translation @emph{and} the comment of a single entry, or to
4433 Some of these special comments relate the PO file entry to
4436 When the translator gets to an untranslated entry, she is fairly
4457 @emindex find source fragment for a PO file entry
4459 program source context for a PO file entry.
4465 (@code{po-cycle-source-reference}).
4470 (@code{po-select-source-reference}).
4475 (@code{po-consider-source-path}).
4480 (@code{po-ignore-source-path}).
4485 @efindex po-cycle-source-reference@r{, PO Mode command}
4487 @efindex po-select-source-reference@r{, PO Mode command}
4488 The commands @kbd{s} (@code{po-cycle-source-reference}) and @kbd{M-s}
4489 (@code{po-select-source-reference}) both open another window displaying
4493 the entry has no source context references, or if all references
4502 When @kbd{s} is typed for the first time, or for a PO file entry which
4504 command reacts by giving the first context available for this entry,
4506 current PO file entry, and the translator wandered off to do other
4512 the next available contexts for this particular entry, getting back
4525 @efindex po-consider-source-path@r{, PO Mode command}
4527 @efindex po-ignore-source-path@r{, PO Mode command}
4537 The command @kbd{S} (@code{po-consider-source-path}) is used to interactively
4539 @kbd{M-S} (@code{po-ignore-source-path}) is used to select, with completion,
4558 PO files, and also for showing contexts for the entry under work.
4565 Seek auxiliary files for another translation for the same entry
4566 (@code{po-cycle-auxiliary}).
4570 Switch to a particular auxiliary file (@code{po-select-auxiliary}).
4574 Declare this PO file as an auxiliary file (@code{po-consider-as-auxiliary}).
4579 (@code{po-ignore-as-auxiliary}).
4584 @efindex po-consider-as-auxiliary@r{, PO Mode command}
4586 @efindex po-ignore-as-auxiliary@r{, PO Mode command}
4587 Command @kbd{A} (@code{po-consider-as-auxiliary}) adds the current
4589 (@code{po-ignore-as-auxiliary} just removes it.
4592 @efindex po-cycle-auxiliary@r{, PO Mode command}
4593 The command @kbd{a} (@code{po-cycle-auxiliary}) seeks all auxiliary PO
4594 files, round-robin, searching for a translated entry in some other language
4595 having an @code{msgid} field identical as the one for the current entry.
4596 The found PO file, if any, takes the place of the current PO file in
4597 the display (its window gets on top). Before doing so, the current PO
4603 @efindex po-select-auxiliary@r{, PO Mode command}
4604 The command @kbd{C-c C-a} (@code{po-select-auxiliary}) asks the translator
4608 the current entry, and if yes, this entry becomes current. Otherwise,
4660 msgcat -o compendium.po file1.po file2.po
4666 @file{file1.po}:
4676 and @file{file2.po}:
4693 "#-#-#-#-# file1.po #-#-#-#-#\n"
4695 "#-#-#-#-# file2.po #-#-#-#-#\n"
4710 msgcat --use-first -o compendium.po file1.po file2.po
4727 msggrep --location src/getopt.c -o compendium.po file.po
4743 msgmerge --compendium compendium.po -o file.po /dev/null file.pot
4754 msgcat --use-first -o update.po compendium1.po compendium2.po file.po
4755 msgmerge update.po file.pot | msgattrib --no-obsolete > file.po
4900 msgid and the current one (especially if the msgid is long and only few
4951 Thus, a command like @samp{msgcat vi.po} will produce colorized output
4953 @samp{msgcat vi.po | less -R}, it will not produce colorized output. To
4955 @samp{msgcat --color vi.po | less -R}.
5018 The default style file is @file{$prefix/share/gettext/styles/po-default.css},
5023 @item po-vim.css
5026 @item po-emacs-x.css
5029 @item po-emacs-xterm.css
5030 @itemx po-emacs-xterm16.css
5031 @itemx po-emacs-xterm256.css
5081 This matches the header entry of a PO file.
5095 not needed by the current POT file any more).
5198 is not present in the current untranslated string. (Not yet implemented in
5252 msgcat --to-code=UTF-8 --color xyz.po | less -R
5258 less xyz.po
5286 *.po)
5331 The functions are declared in the header file @samp{<gettext-po.h>}, and are
5468 @samp{<gettext-po.h>}.
5479 @samp{<gettext-po.h>}.
5715 the header entry (@pxref{Header Entry}) from a file loaded in memory.
5720 Returns the header entry of a domain from @var{file}, a PO file loaded in
5722 default domain. Returns @code{NULL} if there is no header entry.
5726 Returns the value of @var{field} in the @var{header} entry. The return
5732 Returns a freshly allocated string which contains the entry from
5800 the inclusion of @samp{<gettext-po.h>}.
5838 The second word describes the current revision of the file format,
5928 easily, so we should feel comfortable with the current approach.
5987 One aim of the current message catalog implementation provided by
6162 This provides the possibility to change or query the current status of
6163 the current global domain of the @code{LC_MESSAGE} category. The
6166 the function returns the current value. If no value has been set
6183 in the current domain. If it is not available, the argument itself is
6187 the used domain is given. The current value of the domain is used.
6215 independent of the current domain set by the application.
6256 computed relative to the current directory different results will be
6320 (CODESET)}, which depends on the @code{LC_CTYPE} part of the current
6329 independently of the current output character set. It is therefore
6716 header entry of the PO file (the one with the empty @code{msgid} string).
6752 between the singular and plural form. An appropriate header entry
6773 is using. A header entry would look like this:
6814 Other languages using the same header entry are:
6836 Exceptional case in the language family. The header entry would be:
6852 The header entry would be:
6867 The header entry would be:
6882 The header entry would be:
6898 The header entry would look like this:
6915 The header entry would look like this:
6936 The header entry would look like this:
6953 The header entry would look like this:
6970 The header entry would look like this:
6986 The header entry would look like this:
7164 the @file{po/} directory of GNU @code{gettext} knows by default both of the
7213 @code{catgets} allows same original entry to have different translations,
7246 In the function @code{dcgettext} at every call the current setting of
7689 From my current experience with other people in these days, those who
7864 Suppose you are translating a PO file, and it contains an entry like this:
7877 Such an entry denotes a message with plural forms, that is, a message where
7884 header entry of the PO file. It contains the number of plural forms and a
7902 forms. The first thing you need to do is to ensure that the entry contains
8016 $ msguniq $HOME/gettextlogused > missing.po
8026 $ sed -n -e 's,^domain "\(.*\)"$,\1,p' < missing.po | sort | uniq
8039 She takes the latest copy of @file{$lang.po} from the Translation Project,
8040 or from the package (in most cases, @file{$package/po/$lang.po}), or
8048 $ msggrep --domain=$domain missing.po | grep -v '^domain' \
8049 > $domain-missing.po
8050 $ msgattrib --set-obsolete --ignore-file $domain-missing.po $domain.$lang.po \
8051 > $domain.$lang-urgent.po
8054 The she translates @file{$domain.$lang-urgent.po} by use of a PO file editor
8062 $ msgmerge --no-fuzzy-matching $domain.$lang-urgent.po $package/po/$domain.pot \
8063 > $domain.$lang.po
8066 Then she can submit @file{$domain.$lang.po} and proceed to the next domain.
8157 tool and the @file{Makefile} in the @file{po/} directory therefore
8181 Your @file{po/} directory should receive all PO files submitted to you
8182 by the translator teams, each having @file{@var{ll}.po} as a name.
8198 PO files in @file{po/} for distribution.
8243 * po/POTFILES.in:: @file{POTFILES.in} in @file{po/}
8244 * po/LINGUAS:: @file{LINGUAS} in @file{po/}
8245 * po/Makevars:: @file{Makevars} in @file{po/}
8246 * po/Rules-*:: Extending @file{Makefile} in @file{po/}
8257 @node po/POTFILES.in
8258 @subsection @file{POTFILES.in} in @file{po/}
8261 The @file{po/} directory should receive a file named
8292 it is recommended to list in @file{po/POTFILES.in} the real source file
8296 @node po/LINGUAS
8297 @subsection @file{LINGUAS} in @file{po/}
8300 The @file{po/} directory should also receive a file named
8333 in the @file{po/} directory. You can copy them from GNU gettext's @file{po/}
8336 @node po/Makevars
8337 @subsection @file{Makevars} in @file{po/}
8340 The @file{po/} directory also has a file named @file{Makevars}. It
8341 contains variables that are specific to your project. @file{po/Makevars}
8342 gets inserted into the @file{po/Makefile} when the latter is created.
8347 single message domain and, accordingly, a single @file{po/} directory.
8348 Only packages which have multiple @file{po/} directories at different
8356 @node po/Rules-*
8357 @subsection Extending @file{Makefile} in @file{po/}
8360 All files called @file{Rules-*} in the @file{po/} directory get appended to
8361 the @file{po/Makefile} when it is created. They present an opportunity to
8363 with @file{po/Makefile.in.in}.
8368 building catalogs @file{en@@quot.po} and @file{en@@boldquot.po}. The
8369 effect of @file{en@@quot.po} is that people who set their @code{LANGUAGE}
8373 enable this catalog, simply add @code{en@@quot} to the @file{po/LINGUAS}
8374 file. The effect of @file{en@@boldquot.po} is that people who set
8379 @file{po/LINGUAS} file.
8439 AC_OUTPUT([@var{existing configuration files} po/Makefile.in],
8444 for substitution in the @file{po/} directory.
8445 Note the @samp{.in} suffix used for @file{po/} only. This is because
8446 the distributed file is really @file{po/Makefile.in.in}.
8496 @file{po.m4}, @file{progtest.m4} from GNU @code{gettext}'s @file{m4/}
8511 @file{lib-prefix.m4}, @file{nls.m4}, @file{po.m4}, @file{progtest.m4} from
8579 you also process the subdirectory @samp{po}. Special
8593 SUBDIRS = doc lib src po
8597 A delicate point is the @samp{dist:} goal, as @file{po/Makefile} will later
8849 * AM_PO_SUBDIRS:: AM_PO_SUBDIRS in @file{po.m4}
8850 * AM_XGETTEXT_OPTION:: AM_XGETTEXT_OPTION in @file{po.m4}
8861 @code{AM_PO_SUBDIRS}, thus preparing the @file{po/} directories of the
8968 @subsection AM_PO_SUBDIRS in @file{po.m4}
8971 The @code{AM_PO_SUBDIRS} macro prepares the @file{po/} directories of the
8981 variables in each @file{po/} directory.
8984 @subsection AM_XGETTEXT_OPTION in @file{po.m4}
8988 used in the invocations of @code{xgettext} in the @file{po/} directories
9004 @samp{XGETTEXT_OPTIONS} variable in @file{po/Makevars}.
9118 from @code{@var{parser}.y}, or @code{po/Makefile.in.in} autoinstalled
9225 file and do @code{make update-po} manually.
9260 $ (cd po; make update-po)
9285 Internationalized packages have usually many @file{@var{ll}.po}
9420 your language to @file{po-mode.el}.
9800 current source location, @samp{L} denotes a source location, @samp{c}
9823 variable in @file{po/Makevars} (@pxref{po/Makevars}) should be adjusted to
9827 in @file{po/Makefile.in.in}. It is recommended to make one @code{xgettext}
9977 @item po-mode marking
10019 @code{pot}, @code{po}
10318 @code{po}
10418 The programmer produces a desktop entry file template with only the
10420 @code{xgettext} (usually by listing the template in @code{po/POTFILES.in}).
10423 desktop entry file.
10660 codes. Here is the current list, reduced to only living languages with at least