mirror of
https://github.com/git-for-windows/git.git
synced 2026-02-04 03:33:01 -06:00
git-gui: treat the message template file as a built file
Follow the lead of 5377abc0c9d5 ("po/git.pot: don't check in result
of "make pot"", 2022-05-26) in the Git repository and do not track
git-gui.pot anymore.
Instead, translators are expected to integrate an up-to-date version
from the master branch into their translation file using
make ALL_POFILES=po/xx.po update-po
Update README to describe the new process. It is now understood that
different translations need not be based on the same message template
file, but rather individual translators should base their translation
on the most up-to-date code. Remove the section that addresses the
i18n coordinator as it does not apply when no common base is required
among translators.
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
This commit is contained in:
parent
5ff25b8384
commit
295de106db
2
Makefile
2
Makefile
@ -321,7 +321,7 @@ dist-version:
|
||||
@echo $(GITGUI_VERSION) > $(TARDIR)/version
|
||||
|
||||
clean::
|
||||
$(RM_RF) $(GITGUI_MAIN) lib/tclIndex po/*.msg
|
||||
$(RM_RF) $(GITGUI_MAIN) lib/tclIndex po/*.msg $(PO_TEMPLATE)
|
||||
$(RM_RF) GIT-VERSION-FILE GIT-GUI-VARS
|
||||
ifdef GITGUI_MACOSXAPP
|
||||
$(RM_RF) 'Git Gui.app'* git-gui
|
||||
|
||||
1
po/.gitignore
vendored
1
po/.gitignore
vendored
@ -1,2 +1,3 @@
|
||||
*.msg
|
||||
*~
|
||||
/git-gui.pot
|
||||
|
||||
68
po/README
68
po/README
@ -47,6 +47,10 @@ language, you do not have to perform any step in this section, but keep
|
||||
reading, because we are covering the basics.
|
||||
|
||||
If you did not find your language, you would need to start one yourself.
|
||||
Generate po/git-gui.pot using
|
||||
|
||||
$ make po/git-gui.pot
|
||||
|
||||
Copy po/git-gui.pot file to po/af.po (replace "af" with the code for
|
||||
your language). Edit the first several lines to match existing *.po
|
||||
files to make it clear this is a translation table for git-gui project,
|
||||
@ -169,18 +173,7 @@ In any case, make sure you are up to date before starting your work:
|
||||
|
||||
$ git checkout master
|
||||
$ git pull
|
||||
|
||||
In the former case, you will edit po/af.po (again, replace "af" with
|
||||
your language code), and after testing and updating the Last-Translator:
|
||||
and PO-Revision-Date: lines, "add/commit/push" as in the previous
|
||||
section.
|
||||
|
||||
By comparing "POT-Creation-Date:" line in po/git-gui.pot file and
|
||||
po/af.po file, you can tell if there are new messages that need to be
|
||||
translated. You would need the GNU gettext package to perform this
|
||||
step.
|
||||
|
||||
$ msgmerge -U po/af.po po/git-gui.pot
|
||||
$ make ALL_POFILES=po/af.po update-po
|
||||
|
||||
This updates po/af.po (again, replace "af" with your language
|
||||
code) so that it contains msgid lines (i.e. the original) that
|
||||
@ -200,52 +193,5 @@ watch out for:
|
||||
- New messages added to the software will have msgstr lines with empty
|
||||
strings. You would need to translate them.
|
||||
|
||||
The po/git-gui.pot file is updated by the internationalization
|
||||
coordinator from time to time. You _could_ update it yourself, but
|
||||
translators are discouraged from doing so because we would want all
|
||||
language teams to be working off of the same version of git-gui.pot.
|
||||
|
||||
****************************************************************
|
||||
|
||||
This section is a note to the internationalization coordinator, and
|
||||
translators do not have to worry about it too much.
|
||||
|
||||
The message template file po/git-gui.pot needs to be kept up to date
|
||||
relative to the software the translations apply to, and it is the
|
||||
responsibility of the internationalization coordinator.
|
||||
|
||||
When updating po/git-gui.pot file, however, _never_ run "msgmerge -U
|
||||
po/xx.po" for individual language translations, unless you are absolutely
|
||||
sure that there is no outstanding work on translation for language xx.
|
||||
Doing so will create unnecessary merge conflicts and force needless
|
||||
re-translation on translators. The translator however may not have access
|
||||
to the msgmerge tool, in which case the coordinator may run it for the
|
||||
translator as a service.
|
||||
|
||||
But mistakes do happen. Suppose a translation was based on an older
|
||||
version X, the POT file was updated at version Y and then msgmerge was run
|
||||
at version Z for the language, and the translator sent in a patch based on
|
||||
version X:
|
||||
|
||||
? translated
|
||||
/
|
||||
---X---Y---Z (master)
|
||||
|
||||
The coordinator could recover from such a mistake by first applying the
|
||||
patch to X, replace the translated file in Z, and then running msgmerge
|
||||
again based on the updated POT file and commit the result. The sequence
|
||||
would look like this:
|
||||
|
||||
$ git checkout X
|
||||
$ git am -s xx.patch
|
||||
$ git checkout master
|
||||
$ git checkout HEAD@{1} po/xx.po
|
||||
$ msgmerge -U po/xx.po po/git-gui.pot
|
||||
$ git commit -c HEAD@{1} po/xx.po
|
||||
|
||||
State in the message that the translated messages are based on a slightly
|
||||
older version, and msgmerge was run to incorporate changes to message
|
||||
templates from the updated POT file. The result needs to be further
|
||||
translated, but at least the messages that were updated by the patch that
|
||||
were not changed by the POT update will survive the process and do not
|
||||
need to be re-translated.
|
||||
After testing and updating the Last-Translator: and PO-Revision-Date:
|
||||
lines, "add/commit/push" as in the previous section.
|
||||
|
||||
2666
po/git-gui.pot
2666
po/git-gui.pot
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user