summaryrefslogtreecommitdiffstats
path: root/gettext-tools
Commit message (Collapse)AuthorAgeFilesLines
...
* xgettext: Improve error reporting when ITS is usedDaiki Ueno2015-12-101-2/+5
| | | | | * gettext-tools/src/xgettext.c (main): Print error when an ITS file is designated through a locating rule, but the file does not exist.
* build: Remove expat dependencyDaiki Ueno2015-12-099-581/+174
| | | | | | | | | | | | | | | | | | | | | | | | | * DEPENDENCIES: Suggest libxml2 instead of expat. * gnulib-local/lib/markup.c: New file. * gnulib-local/lib/markup.h: New file. * gnulib-local/modules/markup: New file. * autogen.sh (GNULIB_MODULES_LIBGETTEXTPO): Add markup module. * gettext-tools/configure.ac: Remove checks for expat. * gettext-tools/gnulib-lib/.gitignore: Ignore modules pulled by gnulib-tool due to the markup module usage. * gettext-tools/gnulib-tests/.gitignore: Likewise. * gettext-tools/libgettextpo/.gitignore: Likewise. * gettext-tools/libgettextpo/Makefile.am (libgettextpo_la_AUXSOURCES): Remove ../src/libexpat-compat.c. (libgettextpo_la_LDFLAGS): Remove @LTLIBEXPAT@. * gettext-tools/src/Makefile.am (noinst_HEADERS): Remove libexpat-compat.h. (libgettextsrc_la_SOURCES): Remove libexpat-compat.c. (libgettextsrc_la_LDFLAGS): Remove @LTLIBEXPAT@. * gettext-tools/src/format-kde-kuit.c: Use functions from markup.h, when the file is being compiled as part of libgettextpo. Otherwise use libxml2. * gettext-tools/src/libexpat-compat.c: Remove. * gettext-tools/src/libexpat-compat.h: Remove.
* build: Fix texi2html failure with perl 5.22Daiki Ueno2015-12-081-2/+2
| | | | | | * gettext-runtime/libasprintf/texi2html (update_sec_num): Don't use "defined" against an array ref. * gettext-tools/doc/texi2html (update_sec_num): Likewise.
* Update gnulibDaiki Ueno2015-12-081-0/+2
|
* xgettext: Ignore --from-code when XML modeDaiki Ueno2015-12-081-3/+5
| | | | | * gettext-tools/src/xgettext.c (extract_from_xml_file): Forcibly set current source encoding to UTF-8, on XML mode.
* build: Suppress compiler warningDaiki Ueno2015-12-081-3/+1
| | | | | * gettext-tools/src/its.c (its_rule_list_extract_text): Remove unused local variable "message".
* msgfmt: Support XML file mergingDaiki Ueno2015-12-0411-15/+916
| | | | | | | | | | | | | | | | | | | | | | | | | | | * gettext-tools/src/Makefile.am (noinst_HEADERS): Add write-xml.h. (msgfmt_SOURCES): Add write-xml.c. * gettext-tools/src/its.c (its_merge_context_merge_node): New function. (its_merge_context_merge): New function. (its_merge_context_alloc): New function. (its_merge_context_write): New function. (its_merge_context_free): New function. * gettext-tools/src/its.h (its_merge_context_ty): New type. * gettext-tools/src/msgfmt.c: Include "its.h", "locating-rule.h", and "write-xml.h". (SIZEOF): New macro. (xml_mode, xml_locale_name, xml_template_name, xml_base_directory, xml_language, xml_its_rules): New variable. (long_options): Add --language and --xml. (main): Handle new options. (usage): Document new options. (msgfmt_xml_bulk): New function. * gettext-tools/src/write-xml.c: New file. * gettext-tools/src/write-xml.h: New file. * gettext-tools/doc/gettext.texi: Mention XML file merging use-case. * gettext-tools/doc/msgfmt.texi: Mention --xml option. * gettext-tools/tests/msgfmt-xml-1: New file. * gettext-tools/tests/msgfmt-xml-2: New file. * gettext-tools/tests/Makefile.am (TESTS): Add new tests.
* xgettext: Rewrite Glade scanner in ITSDaiki Ueno2015-12-049-633/+79
| | | | | | | | | | | | | | * gettext-tools/its/glade.loc: New file. * gettext-tools/its/glade1.its: New file. * gettext-tools/its/glade2.its: New file. * gettext-tools/its/gtkbuilder.its: New file. * gettext-tools/its/Makefile.am (dist_its_DATA): Add new files. * gettext-tools/src/Makefile.am (xgettext_SOURCES): Remove x-glade.c. * gettext-tools/src/x-glade.c: Remove. * gettext-tools/src/x-glade.h (EXTENSIONS_GLADE): Set language field to NULL. (SCANNERS_GLADE): Set func field to NULL. * gettext-tools/po/POTFILES.in: Remove x-glade.c
* xgettext: Rewrite GSettings scanner in ITSDaiki Ueno2015-12-046-398/+27
| | | | | | | | | | | * gettext-tools/its/gsettings.its: New file. * gettext-tools/its/gsettings.loc: New file. * gettext-tools/its/Makefile.am (dist_its_DATA): Add new files. * gettext-tools/src/Makefile.am (xgettext_SOURCES): Remove x-gsettings.c. * gettext-tools/src/x-gsettings.c: Remove. * gettext-tools/src/x-gsettings.h (EXTENSIONS_GSETTINGS): Set language field to NULL. (SCANNER_GSETTINGS): Set func field to NULL.
* xgettext: Rewrite AppData scanner in ITSDaiki Ueno2015-12-047-383/+30
| | | | | | | | | | | * gettext-tools/its/appdata.loc: New file. * gettext-tools/its/appdata.its: New file. * gettext-tools/its/Makefile.am (dist_its_DATA): Add new files. * gettext-tools/src/Makefile.am (xgettext_SOURCES): Remove x-appdata.c. * gettext-tools/src/x-appdata.c: Remove. * gettext-tools/src/x-appdata.h (EXTENSIONS_APPDATA): Set language field to NULL. (SCANNERS_APPDATA): Set func field to NULL.
* xgettext: Add support for generic XML filesDaiki Ueno2015-12-0414-34/+3009
| | | | | | | | | | | | | | | | | | | | | | | | | * autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC): Add trim module. * gettext-tools/src/locating-rule.h: New file. * gettext-tools/src/locating-rule.c: New file. * gettext-tools/src/its.h: New file. * gettext-tools/src/its.c: New file. * gettext-tools/src/xgettext.c: Include "locating-rule.h" and "its.h". (its_locators): New variable. (long_options): Add --itstool option. (extract_from_xml_file): New function. (main): Handle --itstool option. (usage): Document --itstool option. * gettext-tools/src/Makefile.am (noinst_HEADERS): Add locating-rule.h and its.h. (libgettextsrc_la_CPPFLAGS): Add $(INCXML). (libgettextsrc_la_SOURCES): Add locating-rule.c and its.c. * gettext-tools/Makefile.am (SUBDIRS): Add its directory. * gettext-tools/configure.ac: Output its/Makefile. * gettext-tools/doc/gettext.texi (Preparing ITS Rules): New section. * gettext-tools/doc/xgettext.texi: Mention --itstool option. * gettext-tools/tests/Makefile.am (TESTS): Add new tests. * gettext-tools/tests/xgettext-its-1: New file * gettext-tools/tests/init-env.in: Set GETTEXTDATADIR for ITS tests.
* cldr-plurals: Add sanity checks for inputDaiki Ueno2015-11-181-10/+17
| | | | | * gettext-tools/src/cldr-plurals.c (extract_rules): Add null checks and element type checks.
* cldr-plurals: Rewrite XML handling using libxml2Daiki Ueno2015-11-172-259/+127
| | | | | | | | | | | | * src/cldr-plurals.c: Include <libxml/tree.h> and <libxml/parser.h>, instead of "libexpat-compat.h". (extract_locale, extracted_rules, parser, logical_file_name) (struct element_state, stack, stack_size, stack_depth) (ensure_stack_size, start_element_handler, end_element_handler) (character_data_handler): Remove. (extract_rules): Rename from extract_rule and rewrite using DOM. (main): Use extract_rules. * src/Makefile.am (cldr_plurals_CFLAGS): Add $(INCXML).
* cldr-plurals: Fix a trivial leakDaiki Ueno2015-11-171-0/+4
| | | | * src/cldr-plural.y (sample_range): Free unused operand value.
* doc: Fix typo in gettext_noop examplePhil Davis2015-11-171-1/+1
| | | | | | | * doc/gettext.texi (Special cases): Add missing ')' to a gettext_noop call. Copyright-paperwork-exempt: yes
* doc: Fix typo in msgfmt invocationDaiki Ueno2015-10-291-1/+2
| | | | | * gettext-tools/doc/msgfmt.texi: Fix the documentation of -d option, used in the Desktop Entry mode.
* build: Generate ChangeLogs for intl and poDaiki Ueno2015-10-151-0/+0
| | | | | | | | | * autogen.sh: Create empty ChangeLog files under intl and po. * Makefile.am (gen-ChangeLogs): Rename from gen-ChangeLog. Generate ChangeLog files for */intl and */po as well as top-level. * gettext-runtime/intl/ChangeLog.0: Rename from ChangeLog. * gettext-runtime/po/ChangeLog.0: Rename from ChangeLog. * gettext-tools/po/ChangeLog.1: Rename from ChangeLog.
* build: Remove ChangeLogsDaiki Ueno2015-10-1417-5/+3
| | | | | | | | | | | | | | | | | | | | | Generate ChangeLog files at "make dist" time, using gitlog-to-changelog. We still keep ChangeLog files under "po" and "intl" directories, since those files are copied as part of gettext infrastructure and it is still meaningful to have them there. * .gitignore: Add ChangeLog files. * Admin/release-steps: Remove mention of running update-changelog script. * Admin/update-changelog: Remove. * Makefile.am (gen-ChangeLog): New rule. * autogen.sh: Copy gitlog-to-changelog from gnulib. Create empty ChangeLog files to suppress Automake errors. * gettext-tools/doc/Makefile.am (EXTRA_DIST): Remove ChangeLog.0. * gettext-tools/man/Makefile.am (EXTRA_DIST): Remove ChangeLog.0. * gettext-tools/src/Makefile.am (EXTRA_DIST): Remove ChangeLog.0. * gettext-tools/tests/Makefile.am (EXTRA_DIST): Remove ChangeLog.0. * gnulib-local/Makefile.am (EXTRA_DIST): Remove ChangeLog files. * */ChangeLog: Rename to ChangeLog.0 or ChangeLog.1. * HACKING: Add brief guideline to submit patches.
* hello-c-gnome3: Simplify the Desktop Entry rulesDaiki Ueno2015-10-082-4/+9
| | | | | | * hello-c-gnome3/Makefile.am (hello.desktop.in): Don't use a temporary file. (hello.desktop): Likewise.
* doc: Don't expose generated versionDaiki Ueno2015-10-064-10/+21
| | | | | | | | * gettext-tools/doc/Makefile.am ($(srcdir)/stamp-vti): Set ARCHIVE-VERSION, derived from $(ARCHIVE_VERSION) in version.texi. * gettext-tools/doc/gettext.texi (Files under Version Control): Refer to ARCHIVE-VERSION, instead of VERSION. * gettext-tools/doc/autopoint.texi: Refer to ARCHIVE-VERSION, instead of VERSION.
* msgfmt: More refactoring on --desktopDaiki Ueno2015-10-063-14/+23
| | | | | | | * msgfmt.c (msgfmt_desktop_bulk): Distinguish the number of errors and the exit status. * write-desktop.c (msgdomain_write_desktop_bulk): Don't immediately exit when fwriteerror() returns error.
* msgfmt: Refactor --desktop handlingDaiki Ueno2015-10-065-92/+170
| | | | | | | | | | | | | | | | | * gettext-tools/src/msgfmt.c (get_languages): Avoid redundant memory allocation. (msgfmt_operand_list_init): New function. (msgfmt_operand_list_destroy): New function. (msgfmt_operand_list_append): New function. (msgfmt_operand_list_add_directory): New function. (msgfmt_desktop_bulk): Rewrite using msgfmt_operand_list_ty. * gettext-tools/src/msgfmt.h (msgfmt_operand_ty, msgfmt_operand_list_ty): New type. * gettext-tools/src/write-desktop.c (msgdomain_write_desktop_bulk): Simplify using msgfmt_operand_list_ty. (msgdomain_write_desktop): Simplify using msgfmt_operand_list_ty. * gettext-tools/src/write-desktop.h (msgdomain_write_desktop_bulk): Take OPERANDS as the first argument, instead of LANGUAGES and MESSAGES.
* sentence: Avoid compiler warningsDaiki Ueno2015-10-062-2/+8
| | | | | | * gettext-tools/src/sentence.c (sentence_end): Assign initial values to local variables to suppress compiler warnings with -Wmaybe-uninitialized. This shouldn't address any real bug.
* Release 0.19.6Daiki Ueno2015-09-1114-0/+56
|
* Update translationsDaiki Ueno2015-09-119-2185/+2926
|
* Prepare for 0.19.6Daiki Ueno2015-09-114-4/+4
|
* gettext-tools: Remove ABOUT-NLS from repositoryDaiki Ueno2015-09-111-1410/+0
|
* Revert "xgettext: Allow multiple --copyright-holder"Daiki Ueno2015-09-101-64/+6
| | | | | | | This reverts commit 15363cca838ff1d69f6e3bfbb47ecfe90c0f5000. Now that po/Makefile.in.in supports custom header for POT files, it is not meaningful to add a special case for multiple copyright holders.
* xgettext: Replace PACKAGE placeholder if possibleDaiki Ueno2015-08-242-2/+8
| | | | | * xgettext.c (construct_header): Replace PACKAGE placeholder in the header comment.
* xgettext: Add support for AppData XML filesPhilip Withnall2015-08-2110-3/+582
| | | | | | | | | | | AppData files are used to describe an application for package management, and are described here: http://people.freedesktop.org/~hughsient/appdata/ They may also currently be translated using intltool or itstool: http://people.freedesktop.org/~hughsient/appdata/#translation
* tests: Use check_PROGRAMSDaiki Ueno2015-08-212-1/+6
| | | | | * gettext-tools/tests/Makefile.am (check_PROGRAMS): Rename from noinst_PROGRAMS, to defer the compilation until required.
* autopoint: Respect AM_GNU_GETTEXT_REQUIRE_VERSIONDaiki Ueno2015-08-217-14/+128
| | | | | | | | | | * gettext-runtime/m4/gettext.m4 (AM_GNU_GETTEXT_REQUIRE_VERSION): New macro. Bump serial to 67. * gettext-tools/doc/autopoint.texi: Mention AM_GNU_GETTEXT_REQUIRE_VERSION. * gettext-tools/misc/gettextize.in: Check if AM_GNU_GETTEXT_VERSION is used. * gettext-tools/misc/autopoint.in: Respect AM_GNU_GETTEXT_REQUIRE_VERSION. * gettext-tools/tests/autopoint-2: Check AM_GNU_GETTEXT_REQUIRE_VERSION.
* xgettext: Allow multiple --copyright-holderDaiki Ueno2015-08-212-6/+75
| | | | | | | | | | Feature requested by Francesco Poli in: <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=682580>. * xgettext.c (default_copyright_holder): New constant, renamed from copyright_holder. (copyright_holder): Define as a variable. (main): Allow multiple --copyright-holder options. (construct_header): Support multiple --copyright-holder options.
* cldr-plurals: Fix trivial resource leakDaiki Ueno2015-08-152-0/+6
| | | | | * cldr-plurals.c (main): Close FP after use. Reported by Denis Denisov.
* build: Substitute archive version with configureDaiki Ueno2015-07-288-25/+30
| | | | | | | | | | | | * gettext-tools/configure.ac (ARCHIVE_VERSION): New substituted variable. * gettext-tools/misc/gettextize.in (archive_version): New variable, set to ARCHIVE_VERSION. Use it as the argument of AM_GNU_GETTEXT_VERSION. * gettext-tools/tests/init-env.in (ARCHIVE_VERSION): New substituted variable. * gettext-tools/tests/autopoint-2: Use ARCHIVE_VERSION, instead of the hard-coded version string. * gettext-tools/tests/autopoint-3: Likewise.
* gettextize: Use a crafted version stringDaiki Ueno2015-07-272-2/+14
| | | | | | | | | | Reported by Max Lin in: <https://lists.gnu.org/archive/html/bug-gettext/2015-07/msg00024.html>. * gettextize.in: Replace AM_GNU_GETTEXT_VERSION invocation with "$gettext_version" rather than "$version". This makes it easier to maintain a minor release without being affected by the actual version number generated by git-version-gen. (gettext_version): New variable.
* po-mode: Fix to accept four-part msgfmt version numberPeter Eisentraut2015-07-272-1/+8
|
* cldr-plurals: Fix --enable-relocatable compilationVáclav Slavík2015-07-212-0/+12
| | | | | | | | | Compilation of the cldr-plurals tool was broken in the relocatable case because of missing CPPFLAGS/LDFLAGS. Add the same flags used by other tools to the makefile. * gettext-tools/src/Makefile.am (cldr_plurals_CPPFLAGS) (cldr_plurals_LDFLAGS): Adjust for --enable-relocatable compilation.
* maint: Add more files to .gitignoreDaiki Ueno2015-07-151-0/+1
|
* Release 0.19.5Daiki Ueno2015-07-1014-0/+56
|
* Update translationsDaiki Ueno2015-07-1035-10173/+11591
|
* tests: Update minimum version of autopointDaiki Ueno2015-07-103-2/+7
| | | | | | * gettext-tools/tests/autopoint-2 (required_gettext_version): Update to 0.19.5. * gettext-tools/tests/autopoint-3 (required_gettext_version): Likewise.
* msginit: Remove obsolete country codesDaiki Ueno2015-06-292-2/+10
| | | | | | | | | * gettext-tools/src/msginit.c (catalogname_for_locale): Remove sr_YU, which were removed from ISO 3166-1:1997. Add comment saying that pap_AN, which were removed from ISO 3166-1:2006, can be removed in the future. Reported by Jakub Wilk in: <https://lists.gnu.org/archive/html/bug-gettext/2015-06/msg00057.html>.
* xgettext: Fix the last change to literalstringDaiki Ueno2015-06-252-11/+22
| | | | | | | * gettext-tools/src/x-c.c (literalstring_parse): Bail out if C == NUL. Also adjust the loop invariant in Unicode literal handling. Reported by Hanno Boeck in: <http://savannah.gnu.org/bugs/?45391>.
* maint: Add more files to .gitignoreDaiki Ueno2015-06-256-4/+16
|
* tests: Remove garbage added for debuggingDaiki Ueno2015-06-252-3/+3
|
* tests: Fix the last commitDaiki Ueno2015-06-251-2/+2
|
* xgettext: Make literal parser robust against NULDaiki Ueno2015-06-255-14/+77
| | | | | | | | | | | | | * gettext-tools/src/x-c.c (literalstring_parse): Add more NUL checks. Change the loop invariant so that C always points to the character previously pointed by P. Reported by Hanno Boeck in: <http://savannah.gnu.org/bugs/?45391>. * gettext-tools/tests/xg-c-21.c (main): New file. * gettext-tools/tests/xgettext-c-21 (result): New file. * gettext-tools/tests/Makefile.am (TESTS): Add new test. (EXTRA_DIST): Add xg-c-21.c.
* build: Export syntax_check_name to W32Daiki Ueno2015-06-252-0/+6
| | | | | * woe32dll/gettextsrc-exports.c: Export syntax_check_name. Reported by Michele Locati.
* xgettext: avoid out-of-bounds read in literalsDaiki Ueno2015-06-242-0/+9
| | | | | | * gettext-tools/src/x-c.c (literalstring_parse): Check if the next character of a backslash is NUL. Reported by Hanno Boeck in: <http://savannah.gnu.org/bugs/?45391>.