- 08 6月, 2020 1 次提交
-
-
由 Daniel P. Berrangé 提交于
We're no longer using Zanata, so remove the old push/pull rules. Reviewed-by: NPavel Hrdina <phrdina@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
- 04 6月, 2020 5 次提交
-
-
由 Daniel P. Berrangé 提交于
To integrate with weblate the only practical option currently is to store the .pot file in git. This is required so that it can add new languages by cloning the .pot file. It also enables weblate to run msgmerge on the languages whenever pulling in new changes from git. The pot file will have to be the full content including the source locations, so this is going to result in unpleasant diffs when it is updated periodically. Reviewed-by: NPavel Hrdina <phrdina@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
We previously adopted a minimization technique for po files which stripped source locations and non-translated msgids in order to save space in the git repos and have saner commit diffs. At this time it is not possible to integrate with weblate while having non-translated msgids stripped, as it will immediately add them back again. By keeping all non-translated msgids, our .po files are about x2 the size at 37 MB vs the original 18 MB. This is still way better than the original po/ directory which was 109 MB. We're saving 38 MB by still omitting source file locations, and another 34 MB are saved by the dropping of all languages which are 100% untranslated. Reviewed-by: NPavel Hrdina <phrdina@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
The .po files are stored with strings in alphabetical order instead of source file location order, because this minimizes the diffs created when code moves around within or between files. By default msgmerge will honour the order of strings in the .pot file when creating a .po file, so it is useful if we also create the .pot file with desired ordering. Reviewed-by: NPavel Hrdina <phrdina@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
A .mini.po file is exactly the same format as a .po file. We just used the alternative extension as we wanted to be able to store both full and minimized forms in the same directory. This complicates integration with some translation tools, however, which only really expect to see $LANG.po as a filename. With this change we drop the rules for creating non-minimized po files, and thus the po/*.po are always minimized. A useful side effect is that we no longer run msgmerge during creation of the gmo files, and thus don't need to have a date override to get reproducible builds. Reviewed-by: NPavel Hrdina <phrdina@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
To enable translation management systems to add new languages they need to be able to modify the supported language list. The LINGUAS file is a simple standard format that can be used for the language list, as this is easier than modifying make variables. Reviewed-by: NPavel Hrdina <phrdina@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
- 08 1月, 2020 1 次提交
-
-
由 Michal Privoznik 提交于
The variable value is split on multiple lines, which have too long indentation prefix leading to needless long lines. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 07 1月, 2020 1 次提交
-
-
由 Pavel Hrdina 提交于
When building RPMs for libvirt the PO files are part of libvirt-libs package. Now that we generate libvirt.pot during build time the POT creation date is also generated at that time. The issue here is that when building libvirt-libs for x86_64 and i686 the generated libvirt.pot file will have different POT creation date which affects installed PO files as well which leads to conflict when installing both x86_64 and i686 packages. Signed-off-by: NPavel Hrdina <phrdina@redhat.com> Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
-
- 09 11月, 2019 2 次提交
-
-
由 Pavel Hrdina 提交于
There was no need to handle files for translation from build directory but that will change with following patches where we will stop generating source files into source directory. In order to have them included for translation we have to prefix each file with SRCDIR or BUILDDIR. Signed-off-by: NPavel Hrdina <phrdina@redhat.com> Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Pavel Hrdina 提交于
Historically we did not support VPATH builds and everything was generated into source directory. The introduction of VPATH builds did not changed the way how our translation files are handled. This patch changes the rules to generate everything into build directory and stops distributing generated files in order to have properly separated VPATH builds. Signed-off-by: NPavel Hrdina <phrdina@redhat.com> Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
-
- 18 10月, 2019 1 次提交
-
-
由 Daniel P. Berrangé 提交于
As part of an goal to eliminate Perl from libvirt build tools, rewrite the minimize-po.pl tool in Python. This was a straight conversion, manually going line-by-line to change the syntax from Perl to Python. Thus the overall structure of the file and approach is the same. Reviewed-by: NJán Tomko <jtomko@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
- 06 6月, 2018 1 次提交
-
-
由 Daniel P. Berrangé 提交于
With --disable-nls is given we turn off use of gettext in the source code, but mistakenly still installed the gmo files. Reported-by: NOlaf Hering <olaf@aepfle.de> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
- 19 4月, 2018 8 次提交
-
-
由 Daniel P. Berrangé 提交于
The .pot, .po and .gmo files are slightly unusual in that we generate them in the srcdir when building form git. This is because they'll be bundled in the tar archive, so a build-from-tar will see them in srcdir. Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
Similar to the libvirt.pot, .po files contain line numbers and file names identifying where in the source a translatable string comes from. The source locations in the .po files are thrown away and replaced with content from the libvirt.pot whenever msgmerge is run, so this is not precious information that needs to be stored in git. When msgmerge processes a .po file, it will add in any msgids from the libvirt.pot that were not already present. Thus, if a particular msgid currently has no translation, it can be considered redundant and again does not need storing in git. When msgmerge processes a .po file and can't find an exact existing translation match, it will try todo fuzzy matching instead, marking such entries with a "# fuzzy" comment to alert the translator to take a look and either discard, edit or accept the match. Looking at the existing fuzzy matches in .po files shows that the quality is awful, with many having a completely different set of printf format specifiers between the msgid and fuzzy msgstr entry. Fortunately when msgfmt generates the .gmo, the fuzzy entries are all ignored anyway. The fuzzy entries could be useful to translators if they were working on the .po files directly from git, but Libvirt outsourced translation to the Fedora Zanata system, so keeping fuzzy matches in git is not much help. Finally, by default msgids are sorted based on source location. Thus, if a bit of code with translatable text is moved from one file to another, it may shift around in the .po file, despite the msgid not itself changing. If the msgids were sorted alphabetically, the .po files would have stable ordering when code is refactored. This patch takes advantage of the above observations to canonicalize and minimize the content stored for .po files in git. Instead of storing the real .po files, we now store .mini.po files. The .mini.po files are the same file format as .po files, but have no source location comments, are sorted alphabetically, and all fuzzy msgstrs and msgids with no translation are discarded. This cuts the size of content in the po directory from 109MB to 19MB. Users working from a libvirt git checkout who need the full .po files can run "make update-po", which merges the libvirt.pot and .mini.po file to create a .po file containing all the content previously stored in git. Conversely if a full .po file has been modified, for example, by downloading new content from Zanata, the .mini.po files can be updated by running "make update-mini-po". The resulting diffs of the .mini.po file will clearly show the changed translations without any of the noise that previously obscured content. Being able to see content changes clearly actually identified a bug in the zanata python client where it was adding bogus "fuzzy" annotations to many messages: https://bugzilla.redhat.com/show_bug.cgi?id=1564497 Users working from libvirt releases should not see any difference in behaviour, since the tarballs only contain the full .po files, not the .mini.po files. As an added benefit, generating tarballs with "make dist", will no longer cause creation of dirty files in git, since it won't touch the .mini.po files, only the .po files which are no longer kept in git. To avoid creating a single commit 100+MB in size, each language is minimized separately in a following commit. Reviewed-by: NJán Tomko <jtomko@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
Add rules to handle pushing libvirt.pot to zanata, and refreshing .po files with new content from zanata. Reviewed-by: NJán Tomko <jtomko@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
Historically we have relied on autopoint/gettextize to install a standard po/Makefile.in.in. There is very limited scope for customizing this and it also causes a bunch of extra stuff to be pulled into configure.ac which potentially clashes with gnulib. Writing make rules for po file management is no more difficult than any other rules libvirt has, so stop using autopoint/gettextize. Reviewed-by: NJán Tomko <jtomko@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-