summaryrefslogtreecommitdiff
path: root/po/CMakeLists.txt
AgeCommit message (Collapse)Author
2016-08-10CMake: Translations: Allow excluding languages from translationJulian Andres Klode
This seems to be needed for the hebrew translations. Gbp-Dch: ignore
2016-08-10CMake: Translations: Add a statistics targetJulian Andres Klode
This is really useful stuff to have. Gbp-Dch: ignore
2016-08-10CMake: Translations: Build apt-all.pot and update .po filesJulian Andres Klode
Merge all the per-domain templates into one template file using msgcomm, stripping any line numbers in the input files, and sorting the output per file. This should create reasonably stable .pot and .po files that do not change just because files move around. It should also be resilient against some line changes, as long as one translated line is not moved before/after another translated line. Gbp-Dch: ignore
2016-08-10CMake: Translations: Add support for shell scriptsJulian Andres Klode
Rework the arguments to apt_add_translation_domain so a user can specify TARGETS and SCRIPTS, the latter being Shell scripts. For each language (TARGETS being C++, SCRIPTS being Shell), a separate template is generated via xgettext. Those templates are then merged together by using msgcomm. In case there are no Shell scripts in the translation domain, msgcomm will receive /dev/null instead of a shell translation template. This also reintroduces line numbers, as msgcomm would otherwise re-order the merged files not only by filename, but also by message string. It's unclear why it does that, it could just leave strings within a file alone. In contrast to the old build system, we use xgettext for shell scripts instead of bash --dump-strings, as it's just easier to use the same tool for everything. We also create valid headers.
2016-08-10CMake: po: Add mirror methodJulian Andres Klode
I forgot this one, sorry
2016-08-06CMake: Add support for building and installing .mo filesJulian Andres Klode
Introduce support for building translation domain-specific templates, merging them with the translations, and building a language-specific .mo file. The invocation of xgettext is done in the project source directory, not in the current source directory, and all paths are made relative to the project root, in order to have clean templates. This only supports the C++ source code for now, it unfortunately does not handle the shell scripts of deselect yet.