Lines Matching +refs:po +refs:msgfmt +refs:program

18 * msgfmt: (gettext)msgfmt Invocation.          Make MO files out of PO files.
176 * msgfmt Invocation:: Invoking the `msgfmt' Program
243 * po/POTFILES.in:: `POTFILES.in' in `po/'
244 * po/LINGUAS:: `LINGUAS' in `po/'
245 * po/Makevars:: `Makevars' in `po/'
246 * po/Rules-*:: Extending `Makefile' in `po/'
263 * AM_PO_SUBDIRS:: AM_PO_SUBDIRS in `po.m4'
332 * gettext Invocation:: Invoking the `gettext' program
333 * ngettext Invocation:: Invoking the `ngettext' program
334 * envsubst Invocation:: Invoking the `envsubst' program
389 speaking of the installers or end users of the translated program.
463 internationalization on program sources, keeping this impact as small
466 to be so, when looking at program sources.
501 program, or a set of programs turned into a package, is made aware of
511 programs already internationalized, one gives the program all needed
515 already implemented in an internationalized program are used in
538 interactions in a program. In a nutshell, one could say that
566 generating program. In fact, quite usually, generating and
571 themselves, independently of the strings contained in the program
573 each character which the `recode' program is able to reconstruct
580 consider offering translated versions for program options as well.
587 or `n' for replies, etc. Even if the program will eventually make
671 The letters PO in `.po' files means Portable Object, to distinguish it
683 the `xgettext' program, and later updated or refreshed through the
684 `msgmerge' program. Program `xgettext' extracts all marked messages
724 | +----> msgmerge ------> LANG.po ---->--------' |
728 | +--- New LANG.po <--------------------'
729 | .--- LANG.gmo <--- msgfmt <---'
768 Once the C sources have been modified, the `xgettext' program is
771 original program strings. It has sets of pointers to exactly where in
775 details about how one calls the `xgettext' program. If you are
781 The first time through, there is no `LANG.po' yet, so the `msgmerge'
783 `LANG.po', where LANG represents the target language. See *Note
794 While adding the translated messages into the `LANG.po' PO file, if
825 time, so the translations carried by `LANG.po' are slowly fading out of
836 The `msgmerge' program has the purpose of refreshing an already
837 existing `LANG.po' file, by comparing it with a newer `PACKAGE.pot'
841 `msgmerge' comments out as obsolete, in `LANG.po', those already
842 translated entries which are no longer used in the program sources
849 `LANG.po' file offering translations for all strings.
865 Once the PO file is complete and dependable, the `msgfmt' program is
868 package, whenever needed at runtime (*note MO Files::). *Note msgfmt
870 `msgfmt' program.
878 program should localize itself automatically, whenever it executes.
924 the distribution for the `ABOUT-NLS' information file, for some `LL.po'
925 files, often kept together into some `po/' directory, or for an `intl/'
926 directory. Internationalized packages have usually many `LL.po' files,
1002 the `xgettext' program extracts them from the program's source code.
1003 Comment lines starting with `#:' contain references to the program's
1012 first the untranslated string as it appears in the original program
1030 comma separated list of FLAGs is used by the `msgfmt' program to give
1035 This flag can be generated by the `msgmerge' program or it can be
1041 `msgmerge' program inserts this when it combined the `msgid' and
1047 `xgettext' program adds them. In an automated PO file processing
1049 again as soon as the `xgettext' program generates a new template
1058 In case the `c-format' flag is given for a string the `msgfmt'
1060 *Note msgfmt Invocation::, *Note c-format Flag:: and *Note
1182 #: src/msgcmp.c:338 src/po-lex.c:699
1193 `msgmerge' program, at the same time when it marks a message fuzzy. It
1250 compatibility with the `msgfmt' implementation on Solaris.
1261 properly trigger the operation of GNU `gettext' when the program
1263 identify, adjust and mark all constant strings in your program needing
1304 same code in every program, as demonstrated below:
1366 large program's source, and because switching a locale is not
1405 The ambiguity in this message makes it unintelligible: Is the program
1613 program sources and produces PO file templates.
1622 usually do not want nor need their program sources to remind them
1672 in a set of program sources, are translatable, and which are not. Even
1678 in the program sources, while simultaneously producing a set of
1681 The set of program sources, targeted by the PO mode commands describe
1705 you mark strings as translatable in your program sources.
1708 Search through program sources for a string which looks like a
1709 candidate for translation (`po-tags-search').
1712 Mark the last string found with `_()' (`po-mark-translatable').
1717 management of these keywords (`po-select-mark-and-mark').
1720 The `,' (`po-tags-search') command searches for the next occurrence
1722 displays the program source in another Emacs window, positioned in such
1747 was left by the previous search, and goes through all program sources,
1751 program source; but in this case, strings that you recently marked as
1762 The `M-,' (`po-mark-translatable') command will mark the recently
1764 (`po-select-mark-and-mark') command will request that you type one
1770 that the modifications made to the program source by `M-,' or `M-.'
1774 into the program source window, and do any needed adjustments. You
1789 prefixed by an argument (`C-u M-.'), it inhibits updating any program
1832 To prevent errors at runtime caused by translations the `msgfmt'
1835 and the `-c' option has been passed to `msgfmt', `msgfmt' will give an
1836 error and refuse to produce a MO file. Thus consequent use of `msgfmt
1845 The routines in `msgfmt' know about this special notation.
1847 Because not all strings in a program must be format strings it is not
1848 useful for `msgfmt' to test all the strings in the `.po' file. This
1854 only a heuristic. In the `.po' file the entry is marked using the
1862 program finds a comment containing the words `xgettext:c-format', it
1879 string. In this case the `msgfmt' might give too many warnings and
1880 would prevent translating the `.po' file. The method to prevent this
1916 strings so that the `xgettext' program (*note xgettext Invocation::)
2028 has set up a POT file and translation domain consisting of program
2038 major hassle for translators using GNU Emacs or XEmacs with po-mode.
2046 When you are preparing a library, not a program, for the use of
2049 uses the translation domain and POT file of the main program, then the
2053 responsibility of the main program to set the locale. The
2058 would interfere with the text domain set by the main program.
2060 3. The initialization code for a program was
2113 for a program. For a library, which has its own translation
2132 `xgettext' creates a file named `DOMAINNAME.po'. You should then
2151 The `xgettext' program extracts translatable strings from given
2168 searched relative to this list of directories. The resulting `.po'
2179 Use `NAME.po' for output (instead of `messages.po').
2183 Write output to specified file (instead of `NAME.po' or
2184 `messages.po').
2353 directives: together with the checks done by `msgfmt -c' it will
2369 together with the checks done by `msgfmt -c' it will ensure that
2393 form is used if the `xgettext' program decided, the format form is
2407 `--force-po'
2412 Write the .po file using indented style.
2541 `LANG.po', as a copy of the `PACKAGE.pot' template file with
2546 The easiest way to do so is by use of the `msginit' program. For
2550 $ cd po
2554 do so, the translator copies `PACKAGE.pot' to `LANG.po'. Then she
2570 The `msginit' program creates a new PO file, initializing the meta
2672 Emacs, type `M-x po-mode RET' and then `RET' again to start editing the
2720 `http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National
2726 correct operation of the `msgmerge' and `msgfmt' programs, as well
2817 keyboard mapping using the `xmodmap' program. The X11 names of
2854 msgmerge [OPTION] DEF.po REF.pot
2856 The `msgmerge' program merges two Uniforum style .po files together.
2857 The DEF.po file is an existing PO file with translations which will be
2870 `DEF.po'
2879 searched relative to this list of directories. The resulting `.po'
2893 Update DEF.po. Do nothing if DEF.po is already up to date.
2910 The result is written back to DEF.po.
2913 Make a backup of DEF.po
2949 Apply REF.pot to each of the domains in DEF.po.
2976 `--force-po'
2981 Write the .po file using indented style.
3082 following references into the set of C program sources from which PO
3084 are the interactive marking of program strings as translatable, and the
3118 programs `xgettext', `msgfmt', `gettext', and `msgmerge', as well as
3128 (cons '("\\.po\\'\\|\\.po\\." . po-mode) auto-mode-alist))
3129 (autoload 'po-mode "po-mode" "Major mode for translators to edit PO files" t)
3131 Later, whenever you edit some `.po' file, or any file having the
3132 string `.po.' within its name, Emacs loads `po-mode.elc' (or
3133 `po-mode.el') as needed, and automatically activates PO mode commands
3145 (modify-coding-system-alist 'file "\\.po\\'\\|\\.po\\."
3146 'po-find-file-coding-system)
3147 (autoload 'po-find-file-coding-system "po-mode")
3162 po-mode-map, which is a genuine Emacs mode, in a way that is not derived
3163 from text mode in any way. Functions found on `po-mode-hook', if any,
3183 Undo last modification to the PO file (`po-undo').
3186 Quit processing and save the PO file (`po-quit').
3190 (`po-confirm-and-quit').
3193 Temporary leave the PO file window (`po-other-window').
3197 Show help about PO mode (`po-help').
3200 Give some PO file statistics (`po-statistics').
3203 Batch validate the format of the whole PO file (`po-validate').
3206 The command `_' (`po-undo') interfaces to the Emacs _undo_ facility.
3215 The commands `Q' (`po-quit') and `q' (`po-confirm-and-quit') are
3225 The command `0' (`po-other-window') is another, softer way, to leave
3229 discover some apparent bug in the program source that needs correction.
3231 and have the cursor right into the window containing the program she
3236 The command `h' (`po-help') displays a summary of all available PO
3240 The command `=' (`po-statistics') computes the total number of
3245 The command `V' (`po-validate') launches `msgfmt' in checking and
3247 save the current PO file on disk. The `msgfmt' tool, from GNU
3249 PO mode uses the features of this program for checking the overall
3252 The program `msgfmt' runs asynchronously with Emacs, so the
3281 Redisplay the current entry (`po-current-entry').
3284 Select the entry after the current one (`po-next-entry').
3287 Select the entry before the current one (`po-previous-entry').
3290 Select the first entry in the PO file (`po-first-entry').
3293 Select the last entry in the PO file (`po-last-entry').
3297 (`po-push-location').
3300 Return to a previously saved entry location (`po-pop-location').
3304 (`po-exchange-location').
3312 especially try to enforce. The command `.' (`po-current-entry') has
3330 The commands `n' (`po-next-entry') and `p' (`po-previous-entry')
3335 The commands `<' (`po-first-entry') and `>' (`po-last-entry') move
3354 saved onto a special stack. The command `m' (`po-push-location')
3357 (`po-pop-location') consumes the top stack element and repositions the
3367 The command `x' (`po-exchange-location') simultaneously repositions
3405 `M-x po-normalize'
3409 The special command `M-x po-normalize', which has no associated
3418 `M-x po-normalize' presently makes three passes over the entries.
3428 trailing backslashes used by XView's `msgfmt' for continued lines.
3482 be compiled by GNU `msgfmt' and become usable in programs. Other entry
3489 Find the next translated entry (`po-next-translated-entry').
3493 (`po-previous-translated-entry').
3496 The commands `t' (`po-next-translated-entry') and `T'
3497 (`po-previous-translated-entry') move forwards or backwards, chasing
3503 the variable `po-auto-fuzzy-on-edit' is not `nil', the entry having
3522 be produced by applying the program `msgmerge' to update an older
3538 Find the next fuzzy entry (`po-next-fuzzy-entry').
3541 Find the previous fuzzy entry (`po-previous-fuzzy-entry').
3544 Remove the fuzzy attribute of the current entry (`po-unfuzzy').
3547 The commands `z' (`po-next-fuzzy-entry') and `Z'
3548 (`po-previous-fuzzy-entry') move forwards or backwards, chasing for a
3552 The command `<TAB>' (`po-unfuzzy') removes the fuzzy attribute
3554 the variable `po-auto-select-on-unfuzzy' has not the `nil' value, the
3556 to work on. The initial value of `po-auto-select-on-unfuzzy' is `nil'.
3558 The initial value of `po-auto-fuzzy-on-edit' is `nil'. However, if
3559 the variable `po-auto-fuzzy-on-edit' is set to `t', any entry edited
3569 (`po-fade-out-entry') over any translated entry to mark it as being
3587 programmer slightly modifies some string right in the program, this
3602 Find the next untranslated entry (`po-next-untranslated-entry').
3606 (`po-previous-untransted-entry').
3609 Turn the current entry into an untranslated one (`po-kill-msgstr').
3612 The commands `u' (`po-next-untranslated-entry') and `U'
3613 (`po-previous-untransted-entry') move forwards or backwards, chasing
3618 emptying its translation, using the command `k' (`po-kill-msgstr').
3651 Find the next obsolete entry (`po-next-obsolete-entry').
3654 Find the previous obsolete entry (`po-previous-obsolete-entry').
3658 (`po-fade-out-entry').
3661 The commands `o' (`po-next-obsolete-entry') and `O'
3662 (`po-previous-obsolete-entry') move forwards or backwards, chasing for
3669 the program sources. This goes with the philosophy of never
3675 command `<DEL>' (`po-fade-out-entry') pushes the current entry a little
3717 Interactively edit the translation (`po-edit-msgstr').
3722 (`po-msgid-to-msgstr').
3726 (`po-kill-msgstr').
3730 (`po-kill-ring-save-msgstr').
3734 (`po-yank-msgstr').
3737 The command `<RET>' (`po-edit-msgstr') opens a new Emacs window
3747 The command `<LFD>' (`po-msgid-to-msgstr') initializes, or
3754 `po-auto-edit-with-msgid' to `t', the translation gets initialised with
3756 for `po-auto-edit-with-msgid' is `nil'.
3769 The command `k' (`po-kill-msgstr') merely empties the translation
3772 kill ring. The command `w' (`po-kill-ring-save-msgstr') has also the
3793 The command `y' (`po-yank-msgstr') completely replaces the
3811 program using it.
3821 slightly modifies some string right in the program, his change is later
3872 Interactively edit the translator comments (`po-edit-comment').
3876 (`po-kill-comment').
3880 (`po-kill-ring-save-comment').
3884 (`po-yank-comment').
3894 The command `#' (`po-edit-comment') opens a new Emacs window
3905 Functions found on `po-subedit-mode-hook', if any, are executed after
3908 The command `K' (`po-kill-comment') gets rid of all translator
3910 `W' (`po-kill-ring-save-comment') takes a copy of the translator
3912 entry. The command `Y' (`po-yank-comment') completely replaces the
3949 Complete edition (`po-subedit-exit').
3952 Abort edition (`po-subedit-abort').
3955 Consult auxiliary PO files (`po-subedit-cycle-auxiliary').
3961 (`po-subedit-exit') may be used to return the edited translation into
3968 (`po-subedit-abort') to merely get rid of edition, while preserving the
3973 The command `C-c C-a' (`po-subedit-cycle-auxiliary') allows for
3980 Functions found on `po-subedit-mode-hook', if any, are executed after
4027 appears in the program sources.
4035 her judgment is looking at the true program sources from where this
4040 Surely, when looking at program sources, the translator will receive
4045 needs. She will learn quickly to not feel uncomfortable in program
4048 organization, than to the program code itself.
4051 program source context for a PO file entry.
4054 Resume the display of a program source context, or cycle through
4055 them (`po-cycle-source-reference').
4058 Display of a program source context selected by menu
4059 (`po-select-source-reference').
4063 (`po-consider-source-path').
4067 (`po-ignore-source-path').
4070 The commands `s' (`po-cycle-source-reference') and `M-s'
4071 (`po-select-source-reference') both open another window displaying some
4072 source program file, and already positioned in such a way that it shows
4074 gives source program context for the string. But if the entry has no
4076 the search path for program sources, then the command diagnoses this as
4080 PO file window. If the translator really wants to get into the program
4114 called the "search path" for program sources. The command `S'
4115 (`po-consider-source-path') is used to interactively enter a new
4117 (`po-ignore-source-path') is used to select, with completion, one of
4142 (`po-cycle-auxiliary').
4145 Switch to a particular auxiliary file (`po-select-auxiliary').
4149 (`po-consider-as-auxiliary').
4153 (`po-ignore-as-auxiliary').
4156 Command `A' (`po-consider-as-auxiliary') adds the current PO file to
4158 (`po-ignore-as-auxiliary' just removes it.
4160 The command `a' (`po-cycle-auxiliary') seeks all auxiliary PO files,
4169 The command `C-c C-a' (`po-select-auxiliary') asks the translator
4224 msgcat -o compendium.po file1.po file2.po
4228 visible decorated; calling `msgcat' on `file1.po':
4235 and `file2.po':
4248 "#-#-#-#-# file1.po #-#-#-#-#\n"
4250 "#-#-#-#-# file2.po #-#-#-#-#\n"
4262 msgcat --use-first -o compendium.po file1.po file2.po
4278 msggrep --location src/getopt.c -o compendium.po file.po
4295 msgmerge --compendium compendium.po -o file.po /dev/null file.pot
4304 msgcat --use-first -o update.po compendium1.po compendium2.po file.po
4305 msgmerge update.po file.pot | sed -e '/^#~/d' > file.po
4327 done through the `msgconv' program.
4350 checker, she can do so using the `msgexec' program.
4355 merge duplicates, the `msguniq' program can be used.
4395 The `msgcat' program concatenates and merges the specified PO files.
4420 searched relative to this list of directories. The resulting `.po'
4480 `--force-po'
4485 Write the .po file using indented style.
4552 The `msgconv' program converts a translation catalog to a different
4564 searched relative to this list of directories. The resulting `.po'
4607 `--force-po'
4612 Write the .po file using indented style.
4678 The `msggrep' program extracts all messages of a translation catalog
4690 searched relative to this list of directories. The resulting `.po'
4812 `--force-po'
4816 Write the .po file using indented style.
4880 The `msgfilter' program applies a filter to all translations of a
4893 searched relative to this list of directories. The resulting `.po'
4913 The FILTER can be any program that reads a translation from standard
4923 program, before invoking `msgfilter'. If the FILTER wants input in the
4926 `msgconv' program and then make `msgfilter' work in an UTF-8 locale, by
4933 program on some platforms is known to ignore the last line of input if
4961 file. Thus, it can be used to convert an `sr.po' file to an
4962 `sr@latin.po' file.
4985 `--force-po'
4989 Write the .po file using indented style.
5060 The `msguniq' program unifies duplicate translations in a translation
5062 duplicates are invalid input for other programs like `msgfmt',
5079 searched relative to this list of directories. The resulting `.po'
5132 `--force-po'
5137 Write the .po file using indented style.
5204 The `msgcomm' program finds messages which are common to two or more
5227 searched relative to this list of directories. The resulting `.po'
5279 `--force-po'
5284 Write the .po file using indented style.
5352 msgcmp [OPTION] DEF.po REF.pot
5354 The `msgcmp' program compares two Uniforum style .po files to check
5355 that both contain the same set of msgid strings. The DEF.po file is an
5359 and every message in your program. Where an exact match cannot be
5365 `DEF.po'
5382 Apply REF.pot to each of the domains in DEF.po.
5385 Consider fuzzy messages in the DEF.po file like translated
5391 Consider untranslated messages in the DEF.po file like translated
5428 The `msgattrib' program filters the messages of a translation catalog
5440 searched relative to this list of directories. The resulting `.po'
5535 `--force-po'
5540 Write the .po file using indented style.
5607 The `msgen' program creates an English translation catalog. The
5625 searched relative to this list of directories. The resulting `.po'
5658 `--force-po'
5663 Write the .po file using indented style.
5729 The `msgexec' program applies a command to all translations of a
5730 translation catalog. The COMMAND can be any program that reads a
5750 program, before invoking `msgexec'. If the COMMAND wants input in the
5753 `msgconv' program and then make `msgexec' work in an UTF-8 locale, by
5766 searched relative to this list of directories. The resulting `.po'
5811 The functions are declared in the header file `<gettext-po.h>', and
5929 * msgfmt Invocation:: Invoking the `msgfmt' Program
5934 File: gettext.info, Node: msgfmt Invocation, Next: msgunfmt Invocation, Prev: Binaries, Up: Bin…
5936 10.1 Invoking the `msgfmt' Program
5939 msgfmt [OPTION] FILENAME.po ...
5941 The `msgfmt' programs generates a binary message catalog from a
5947 `FILENAME.po ...'
5952 searched relative to this list of directories. The resulting `.po'
5990 Direct the program to work strictly following the Uniforum/Sun
6093 Normally the `xgettext' program automatically decides whether a
6096 not used in a `printf'-like function and so `msgfmt' might report
6100 the `xgettext' program (*note c-format::). The translator should
6116 Check that GNU msgfmt behaves like X/Open msgfmt. This will give
6170 File: gettext.info, Node: msgunfmt Invocation, Next: MO Files, Prev: msgfmt Invocation, Up: Bin…
6177 The `msgunfmt' program converts a binary message catalog to a
6178 Uniforum style .po file.
6276 `--force-po'
6281 Write the .po file using indented style.
6390 which appears in the string descriptor. The `msgfmt' program has an
6408 However, the program interface currently used already presumes that
6515 program using this interface. It is a fast, memory-saving
6549 usual refers to the name of the program or the package. The second
6672 of the same `gettext' call in the program, both calls reference a
6734 when the program executes a `chdir' command. Relative paths should
6835 situation in the program but might have different translations. This is
6891 program has a menu bar with the following entries:
7022 display the correct strings only if the program itself is written using
7025 package and the coding standards for the GNU project require program
7324 an internationalized program might have a poor performance if some
7382 When now a production version of the program is needed we simply
7392 Additionally we run the program `xgettext' on all source code file
7394 program which does not depend on translations to be available, but which
7404 `N_' is a short form similar to `_'. The `Makefile' in the `po/'
7413 message catalog as the GNU `gettext' program provides he also has to
7512 is loaded. But if `dcgettext' is not called the program also
7838 not want to make their program free, or want other kinds of
7940 more interested in the localization process than in the program they
8130 program.
8167 $ msguniq $HOME/gettextlogused > missing.po
8175 $ sed -n -e 's,^domain "\(.*\)"$,\1,p' < missing.po | sort | uniq
8185 She takes the latest copy of `$lang.po' from the Translation Project,
8186 or from the package (in most cases, `$package/po/$lang.po'), or creates
8193 $ msggrep --domain=$domain missing.po | grep -v '^domain' \
8194 > $domain-missing.po
8195 $ msgattrib --set-obsolete --ignore-file $domain-missing.po $domain.$lang.po \
8196 > $domain.$lang-urgent.po
8198 The she translates `$domain.$lang-urgent.po' by use of a PO file
8205 $ msgmerge --no-fuzzy-matching $domain.$lang-urgent.po $package/po/$domain.pot \
8206 > $domain.$lang.po
8208 Then she can submit `$domain.$lang.po' and proceed to the next
8301 tool and the `Makefile's in the `intl/' and `po/' therefore know
8322 * Your `po/' directory should receive all PO files submitted to you
8323 by the translator teams, each having `LL.po' as a name. This is
8338 PO files in `po/' for distribution.
8365 The `gettextize' program is an interactive tool that helps the
8375 This program performs the following tasks:
8439 The program `gettextize' provides the following files. However, no
8446 Support features of your program. You might elect to use a more
8452 2. A `po/' directory is created for eventually holding all
8454 `po/Makefile.in.in' from the GNU `gettext' distribution (beware
8456 the `po/' directory already exists, it will be preserved along
8487 GNU `gettext' facilities in one package go in `intl/', `po/' and `m4/'
8493 The `gettextize' program makes backup files for all files it
8540 * po/POTFILES.in:: `POTFILES.in' in `po/'
8541 * po/LINGUAS:: `LINGUAS' in `po/'
8542 * po/Makevars:: `Makevars' in `po/'
8543 * po/Rules-*:: Extending `Makefile' in `po/'
8555 File: gettext.info, Node: po/POTFILES.in, Next: po/LINGUAS, Prev: Adjusting Files, Up: Adjustin…
8557 13.4.1 `POTFILES.in' in `po/'
8560 The `po/' directory should receive a file named `POTFILES.in'. This
8561 file tells which files, among all program sources, have marked strings
8574 src/msgfmt.c
8584 recommended to list in `po/POTFILES.in' the real source file (ending in
8589 File: gettext.info, Node: po/LINGUAS, Next: po/Makevars, Prev: po/POTFILES.in, Up: Adjusting Fi…
8591 13.4.2 `LINGUAS' in `po/'
8594 The `po/' directory should also receive a file named `LINGUAS'. This
8621 `po/' directory. You can copy them from GNU gettext's `po/' directory;
8625 File: gettext.info, Node: po/Makevars, Next: po/Rules-*, Prev: po/LINGUAS, Up: Adjusting Files
8627 13.4.3 `Makevars' in `po/'
8630 The `po/' directory also has a file named `Makevars'. It contains
8631 variables that are specific to your project. `po/Makevars' gets
8632 inserted into the `po/Makefile' when the latter is created. The
8637 a single message domain and, accordingly, a single `po/' directory.
8638 Only packages which have multiple `po/' directories at different
8643 File: gettext.info, Node: po/Rules-*, Next: configure.in, Prev: po/Makevars, Up: Adjusting Files
8645 13.4.4 Extending `Makefile' in `po/'
8648 All files called `Rules-*' in the `po/' directory get appended to the
8649 `po/Makefile' when it is created. They present an opportunity to add
8651 with `po/Makefile.in.in'.
8654 building catalogs `en@quot.po' and `en@boldquot.po'. The effect of
8655 `en@quot.po' is that people who set their `LANGUAGE' environment
8659 catalog, simply add `en@quot' to the `po/LINGUAS' file. The effect of
8660 `en@boldquot.po' is that people who set `LANGUAGE' to `en@boldquot'
8664 similarly add `en@boldquot' to the `po/LINGUAS' file.
8672 File: gettext.info, Node: configure.in, Next: config.guess, Prev: po/Rules-*, Up: Adjusting Fil…
8720 AC_OUTPUT([EXISTING CONFIGURATION FILES intl/Makefile po/Makefile.in],
8724 substitution in the `intl/' and `po/' directories. Note the `.in'
8725 suffix used for `po/' only. This is because the distributed file
8726 is really `po/Makefile.in.in'.
8802 `longdouble.m4', `longlong.m4', `nls.m4', `po.m4', `printf-posix.m4',
8807 `lib-ld.m4', `lib-link.m4', `lib-prefix.m4', `nls.m4', `po.m4',
8863 program, you need to do nothing about it. This is the case in
8877 /* Define to 1 if translation of program messages to the user's
8900 you also process the subdirectories `intl' and `po'. Special
8914 SUBDIRS = doc intl lib src po
8922 `po/Makefile' will later assume that the proper directory has been
8976 4. The `main' function of your program will normally call
8982 To make LOCALEDIR known to the program, add the following lines to
9031 1. To make LOCALEDIR known to the program, add the following to
9048 <program>_LDADD = @LIBINTL@
9050 for each specific program, or
9055 to link a program, you need to use @LTLIBINTL@ instead of @LIBINTL@
9056 for that program.
9133 * AM_PO_SUBDIRS:: AM_PO_SUBDIRS in `po.m4'
9146 `po/' directories of the package for building.
9224 The use of this macro is optional; only the `autopoint' program makes
9269 13.5.5 AM_PO_SUBDIRS in `po.m4'
9272 The `AM_PO_SUBDIRS' macro prepares the `po/' directories of the package
9282 variables in each `po/' directory.
9317 `libiconv.so' that don't fit together would produce program
9392 `po/Makefile.in.in' autoinstalled by `gettextize' or `autopoint'.
9442 use. It is also the minimum version number of the `autopoint' program.
9460 The `autopoint' program copies standard gettext infrastructure files
9504 The name `autopoint' is an abbreviation of `auto-po-intl-m4'; the
9505 tool copies or updates mostly files in the `po', `intl', `m4'
9522 $ (cd po; make update-po)
9542 Internationalized packages have usually many `LL.po' files. Unless
9613 from a program into a PO file. The GNU `xgettext' program is being
9637 `po-mode.el'.
9767 program, are strings with references to shell variables in the form
9987 maintainer calls the `gettextize' program without the `--intl'
9992 `XGETTEXT_OPTIONS' variable in `po/Makevars' (*note po/Makevars::)
9997 `po/Makefile.in.in'. It is recommended to make one `xgettext'
10084 po-mode marking
10138 po-mode marking
10147 * gettext Invocation:: Invoking the `gettext' program
10148 * ngettext Invocation:: Invoking the `ngettext' program
10149 * envsubst Invocation:: Invoking the `envsubst' program
10174 variables. Usually `TEXTDOMAIN' is the package or program name,
10267 15.5.2.3 Invoking the `gettext' program
10273 The `gettext' program displays the native language translation of a
10281 corresponds to a package, a program, or a module of a program.
10285 compatibility with the `echo' program or shell built-in. The
10288 interpreted like the System V `echo' program did.
10291 This option is only for compatibility with the `echo' program or
10315 When used with the `-s' option the program behaves like the `echo'
10322 15.5.2.4 Invoking the `ngettext' program
10327 The `ngettext' program displays the native language translation of a
10335 corresponds to a package, a program, or a module of a program.
10339 compatibility with the `gettext' program. The escape sequences
10342 System V `echo' program did.
10345 This option is only for compatibility with the `gettext' program.
10374 15.5.2.5 Invoking the `envsubst' program
10379 The `envsubst' program substitutes the values of environment
10412 `envsubst' program, due to security reasons.
10536 po-mode marking
10586 po-mode marking
10638 po-mode marking
10687 po-mode marking
10735 po-mode marking
10785 po-mode marking
10838 po-mode marking
10889 po-mode marking
10906 To convert a PO file to a `.properties' file, the `msgcat' program
10908 `.properties' file back to a PO file, the `msgcat' program can be used
10913 To convert a PO file to a ResourceBundle class, the `msgfmt' program
10915 ResourceBundle back to a PO file, the `msgunfmt' program can be used
10931 `.properties' files or the `msgfmt' generated `.class' files. But
10933 by `msgfmt' from a PO file with plural handling.
11057 po-mode marking
11092 To convert a PO file to a `.resources' file, the `msgfmt' program
11094 `.resources' file back to a PO file, the `msgunfmt' program can be used
11096 the `resgen' program (from the `pnet' package) or the `monoresgen'
11097 program (from the `mono'/`mcs' package). These programs can also
11102 To convert a PO file to a `.dll' file, the `msgfmt' program can be
11106 `GettextResourceSet' subclass back to a PO file, the `msgunfmt' program
11268 po-mode marking
11320 po-mode marking
11378 po-mode marking
11426 po-mode marking
11477 po-mode marking
11575 po-mode marking
11826 program not found in $PATH
11854 print gettext "This is the program $0!\n";
11866 The `xgettext' program will therefore terminate parsing with a fatal
11872 my $know_what_i_am_doing = "This is program $0!\n";
12155 die __x ("usage: {program} {OPTIONS} FILENAME...\n", program => $0);
12157 Whereas `{program}' is a placeholder, `{OPTIONS}' is not and should
12162 sure that your program will run under Perl 5.8.0 or newer (these Perl
12175 die __x ("usage: {program} {[}OPTIONS{]} FILENAME...\n",
12176 program => $0, '[' => '{', ']' => '}');
12231 po-mode marking
12281 po-mode marking
12330 po-mode marking
12358 `pot', `po'
14106 Foundation's software and to any other program whose authors commit to
14123 For example, if you distribute copies of such a program, whether
14140 Finally, any free program is threatened constantly by software
14142 program will individually obtain patent licenses, in effect making the
14143 program proprietary. To prevent this, we have made it clear that any
14151 0. This License applies to any program or other work which contains a
14154 below, refers to any such program or work, and a "work based on
14194 c. If the modified program normally reads commands interactively
14200 program under these conditions, and telling the user how to
14247 received the program in object code or executable form with
14385 If you develop a new program, and you want it to be of the greatest
14390 To do so, attach the following notices to the program. It is safest
14398 This program is free software; you can redistribute it and/or modify
14403 This program is distributed in the hope that it will be useful,
14409 along with this program; if not, write to the Free Software
14415 If the program is interactive, make it output a short notice like
14427 program.
14430 your school, if any, to sign a "copyright disclaimer" for the program,
14433 Yoyodyne, Inc., hereby disclaims all copyright interest in the program
14440 program into proprietary programs. If your program is a subroutine
14511 any free program. We wish to make sure that a company cannot
14512 effectively restrict the users of a free program by obtaining a
14524 When a program is linked with a library, whether statically or using
14555 users' freedom, it does ensure that the user of a program that is
14557 program using a modified version of the Library.
14570 program which contains a notice placed by the copyright holder or
14596 of running a program using the Library is not restricted, and
14597 output from such a program is covered only if its contents
14600 depends on what the Library does and what the program that uses
14629 a table of data to be supplied by an application program that
14678 the Library into a program that is not a library.
14694 5. A program that contains no derivative of any portion of the
15004 free program should come with manuals providing the same freedoms
15400 If your document contains nontrivial examples of program code, we
15428 * msgfmt: msgfmt Invocation. (line 6)
15461 * --alignment, msgfmt option: msgfmt Invocation. (line 209)
15465 * --check, msgfmt option: msgfmt Invocation. (line 146)
15466 * --check-accelerators, msgfmt option: msgfmt Invocation. (line 187)
15467 * --check-compatibility, msgfmt option: msgfmt Invocation. (line 183)
15468 * --check-domain, msgfmt option: msgfmt Invocation. (line 178)
15469 * --check-format, msgfmt option: msgfmt Invocation. (line 150)
15470 * --check-header, msgfmt option: msgfmt Invocation. (line 173)
15480 * --csharp, msgfmt option: msgfmt Invocation. (line 36)
15482 * --csharp-resources, msgfmt option: msgfmt Invocation. (line 40)
15496 * --directory, msgfmt option: msgfmt Invocation. (line 18)
15526 * --force-po, msgattrib option: msgattrib Invocation.
15528 * --force-po, msgcat option: msgcat Invocation. (line 94)
15529 * --force-po, msgcomm option: msgcomm Invocation. (line 84)
15530 * --force-po, msgconv option: msgconv Invocation. (line 64)
15531 * --force-po, msgen option: msgen Invocation. (line 60)
15532 * --force-po, msgfilter option: msgfilter Invocation.
15534 * --force-po, msggrep option: msggrep Invocation. (line 143)
15535 * --force-po, msgmerge option: msgmerge Invocation. (line 129)
15536 * --force-po, msgunfmt option: msgunfmt Invocation. (line 108)
15537 * --force-po, msguniq option: msguniq Invocation. (line 81)
15538 * --force-po, xgettext option: xgettext Invocation. (line 265)
15559 * --help, msgfmt option: msgfmt Invocation. (line 222)
15590 * --java, msgfmt option: msgfmt Invocation. (line 30)
15592 * --java2, msgfmt option: msgfmt Invocation. (line 33)
15600 * --locale, msgfmt option: msgfmt Invocation. (line 79)
15619 * --no-hash, msgfmt option: msgfmt Invocation. (line 212)
15669 * --output-file, msgfmt option: msgfmt Invocation. (line 54)
15686 * --properties-input, msgfmt option: msgfmt Invocation. (line 133)
15705 * --qt, msgfmt option: msgfmt Invocation. (line 46)
15712 * --resource, msgfmt option: msgfmt Invocation. (line 75)
15746 * --statistics, msgfmt option: msgfmt Invocation. (line 229)
15755 * --strict, msgfmt option: msgfmt Invocation. (line 57)
15770 * --stringtable-input, msgfmt option: msgfmt Invocation. (line 137)
15793 * --tcl, msgfmt option: msgfmt Invocation. (line 43)
15810 * --use-fuzzy, msgfmt option: msgfmt Invocation. (line 199)
15813 * --verbose, msgfmt option: msgfmt Invocation. (line 233)
15832 * --version, msgfmt option: msgfmt Invocation. (line 226)
15858 * -a, msgfmt option: msgfmt Invocation. (line 209)
15860 * -C, msgfmt option: msgfmt Invocation. (line 183)
15861 * -c, msgfmt option: msgfmt Invocation. (line 146)
15881 * -d, msgfmt option: msgfmt Invocation. (line 84)
15882 * -D, msgfmt option: msgfmt Invocation. (line 18)
15915 * -f, msgfmt option: msgfmt Invocation. (line 199)
15934 * -h, msgfmt option: msgfmt Invocation. (line 222)
15957 * -j, msgfmt option: msgfmt Invocation. (line 30)
15963 * -l, msgfmt option: msgfmt Invocation. (line 79)
15991 * -o, msgfmt option: msgfmt Invocation. (line 54)
16016 * -P, msgfmt option: msgfmt Invocation. (line 133)
16028 * -r, msgfmt option: msgfmt Invocation. (line 75)
16064 * -v, msgfmt option: msgfmt Invocation. (line 233)
16065 * -V, msgfmt option: msgfmt Invocation. (line 226)
16106 * LANGUAGE, environment variable <1>: po/Rules-*. (line 11)
16153 * consulting program sources: C Sources Context. (line 6)
16205 * po-auto-edit-with-msgid, PO Mode variable: Modifying Translations.
16207 * po-auto-fuzzy-on-edit, PO Mode variable: Translated Entries.
16209 * po-auto-select-on-unfuzzy, PO Mode variable: Fuzzy Entries. (line 44)
16210 * po-confirm-and-quit, PO Mode command: Main PO Commands. (line 62)
16211 * po-consider-as-auxiliary, PO Mode command: Auxiliary. (line 36)
16212 * po-consider-source-path, PO Mode command: C Sources Context.
16214 * po-current-entry, PO Mode command: Entry Positioning. (line 46)
16215 * po-cycle-auxiliary, PO Mode command: Auxiliary. (line 40)
16216 * po-cycle-source-reference, PO Mode command: C Sources Context.
16218 * po-edit-comment, PO Mode command: Modifying Comments. (line 46)
16219 * po-edit-msgstr, PO Mode command: Modifying Translations.
16221 * po-exchange-location, PO Mode command: Entry Positioning. (line 106)
16222 * po-fade-out-entry, PO Mode command <1>: Obsolete Entries. (line 47)
16223 * po-fade-out-entry, PO Mode command: Fuzzy Entries. (line 60)
16224 * po-first-entry, PO Mode command: Entry Positioning. (line 74)
16225 * po-help, PO Mode command: Main PO Commands. (line 83)
16226 * po-ignore-as-auxiliary, PO Mode command: Auxiliary. (line 36)
16227 * po-ignore-source-path, PO Mode command: C Sources Context. (line 89)
16228 * po-kill-comment, PO Mode command: Modifying Comments. (line 60)
16229 * po-kill-msgstr, PO Mode command <1>: Modifying Translations.
16231 * po-kill-msgstr, PO Mode command: Untranslated Entries.
16233 * po-kill-ring-save-comment, PO Mode command: Modifying Comments.
16235 * po-kill-ring-save-msgstr, PO Mode command: Modifying Translations.
16237 * po-last-entry, PO Mode command: Entry Positioning. (line 74)
16238 * po-mark-translatable, PO Mode command: Marking. (line 98)
16239 * po-msgid-to-msgstr, PO Mode command: Modifying Translations.
16241 * po-next-entry, PO Mode command: Entry Positioning. (line 69)
16242 * po-next-fuzzy-entry, PO Mode command: Fuzzy Entries. (line 39)
16243 * po-next-obsolete-entry, PO Mode command: Obsolete Entries. (line 36)
16244 * po-next-translated-entry, PO Mode command: Translated Entries.
16246 * po-next-untranslated-entry, PO Mode command: Untranslated Entries.
16248 * po-normalize, PO Mode command: Normalizing. (line 31)
16249 * po-other-window, PO Mode command: Main PO Commands. (line 72)
16250 * po-pop-location, PO Mode command: Entry Positioning. (line 92)
16251 * po-previous-entry, PO Mode command: Entry Positioning. (line 69)
16252 * po-previous-fuzzy-entry, PO Mode command: Fuzzy Entries. (line 39)
16253 * po-previous-obsolete-entry, PO Mode command: Obsolete Entries.
16255 * po-previous-translated-entry, PO Mode command: Translated Entries.
16257 * po-previous-untransted-entry, PO Mode command: Untranslated Entries.
16259 * po-push-location, PO Mode command: Entry Positioning. (line 92)
16260 * po-quit, PO Mode command: Main PO Commands. (line 62)
16261 * po-select-auxiliary, PO Mode command: Auxiliary. (line 49)
16262 * po-select-mark-and-mark, PO Mode command: Marking. (line 98)
16263 * po-select-source-reference, PO Mode command: C Sources Context.
16265 * po-statistics, PO Mode command: Main PO Commands. (line 87)
16266 * po-subedit-abort, PO Mode command: Subedit. (line 27)
16267 * po-subedit-cycle-auxiliary, PO Mode command: Subedit. (line 35)
16268 * po-subedit-exit, PO Mode command: Subedit. (line 20)
16269 * po-subedit-mode-hook, PO Mode variable: Modifying Comments. (line 57)
16270 * po-tags-search, PO Mode command: Marking. (line 56)
16271 * po-undo, PO Mode command: Main PO Commands. (line 53)
16272 * po-unfuzzy, PO Mode command: Fuzzy Entries. (line 44)
16273 * po-validate, PO Mode command: Main PO Commands. (line 92)
16274 * po-yank-comment, PO Mode command: Modifying Comments. (line 60)
16275 * po-yank-msgstr, PO Mode command: Modifying Translations.
16369 * autopoint program, usage: autopoint Invocation.
16375 * backup old file, and msgmerge program: msgmerge Invocation. (line 65)
16386 * C# mode, and msgfmt program: msgfmt Invocation. (line 36)
16387 * C# mode, and msgunfmt program: msgunfmt Invocation. (line 19)
16388 * C# resources mode, and msgfmt program: msgfmt Invocation. (line 40)
16389 * C# resources mode, and msgunfmt program: msgunfmt Invocation.
16405 * check format strings: msgfmt Invocation. (line 150)
16417 * compatibility with X/Open msgfmt: msgfmt Invocation. (line 183)
16472 * envsubst program, usage: envsubst Invocation. (line 6)
16482 * file format, .po: PO Files. (line 6)
16483 * files, .po and .mo: Files. (line 6)
16488 * force use of fuzzy entries: msgfmt Invocation. (line 199)
16498 * generate binary message catalog from PO file: msgfmt Invocation.
16505 * gettext program, usage: gettext Invocation. (line 6)
16509 * gettextize program, usage: gettextize Invocation.
16537 * Java mode, and msgfmt program: msgfmt Invocation. (line 30)
16538 * Java mode, and msgunfmt program: msgunfmt Invocation. (line 16)
16542 * keyboard accelerator checking: msgfmt Invocation. (line 187)
16559 * LINGUAS file: po/LINGUAS. (line 6)
16581 * locale program: Header Entry. (line 71)
16590 * Makefile.in.in extensions: po/Rules-*. (line 6)
16591 * Makevars file: po/Makevars. (line 6)
16600 * menu, keyboard accelerator support: msgfmt Invocation. (line 187)
16607 * mnemonics of menu entries: msgfmt Invocation. (line 187)
16611 * msgattrib program, usage: msgattrib Invocation.
16613 * msgcat program, usage: msgcat Invocation. (line 6)
16614 * msgcmp program, usage: msgcmp Invocation. (line 6)
16615 * msgcomm program, usage: msgcomm Invocation. (line 6)
16616 * msgconv program, usage: msgconv Invocation. (line 6)
16618 * msgen program, usage: msgen Invocation. (line 6)
16619 * msgexec program, usage: msgexec Invocation. (line 6)
16622 * msgfilter program, usage: msgfilter Invocation.
16624 * msgfmt program, usage: msgfmt Invocation. (line 6)
16625 * msggrep program, usage: msggrep Invocation. (line 6)
16628 * msginit program, usage: msginit Invocation. (line 6)
16629 * msgmerge program, usage: msgmerge Invocation. (line 6)
16631 * msgunfmt program, usage: msgunfmt Invocation. (line 6)
16632 * msguniq program, usage: msguniq Invocation. (line 6)
16639 * ngettext program, usage: ngettext Invocation. (line 6)
16719 * POTFILES.in file: po/POTFILES.in. (line 6)
16730 * Qt mode, and msgfmt program: msgfmt Invocation. (line 46)
16732 * quotation marks <1>: po/Rules-*. (line 11)
16735 * recode-sr-latin program: msgfilter Invocation.
16763 * standard output, and msgmerge program: msgmerge Invocation. (line 56)
16769 * Tcl mode, and msgfmt program: msgfmt Invocation. (line 43)
16770 * Tcl mode, and msgunfmt program: msgunfmt Invocation. (line 26)
16773 * testing .po files for equivalence: xgettext Invocation. (line 317)
16791 * xgettext program, usage: xgettext Invocation. (line 6)
16792 * xmodmap program, and typing quotation marks: Header Entry. (line 157)
16863 Node: msgfmt Invocation232870
16906 Node: po/POTFILES.in344099
16907 Node: po/LINGUAS345345
16908 Node: po/Makevars347034
16909 Node: po/Rules-*347782