summaryrefslogtreecommitdiffstats
path: root/install/po
diff options
context:
space:
mode:
Diffstat (limited to 'install/po')
-rw-r--r--install/po/Makefile.in22
-rw-r--r--install/po/README16
2 files changed, 34 insertions, 4 deletions
diff --git a/install/po/Makefile.in b/install/po/Makefile.in
index 9a3dde78a..bc91a933b 100644
--- a/install/po/Makefile.in
+++ b/install/po/Makefile.in
@@ -14,6 +14,7 @@ MSGFMT = @MSGFMT@
MSGINIT = @MSGINIT@
MSGMERGE = @MSGMERGE@
MSGCMP = @MSGCMP@
+MSGATTRIB = @MSGATTRIB@
TX = @TX@
IPA_TEST_I18N = ../../tests/i18n.py
@@ -67,7 +68,7 @@ C_POTFILES = $(C_FILES) $(H_FILES)
.SUFFIXES:
.SUFFIXES: .po .mo
-.PHONY: all create-po update-po update-pot install mostlyclean clean distclean test mo-files debug
+.PHONY: all create-po update-po update-pot install mostlyclean clean distclean test mo-files debug strip-po merge-po $(po_files)
all:
@@ -86,6 +87,19 @@ $(po_files): $(DOMAIN).pot
echo Merging $(DOMAIN).pot into $@; \
$(MSGMERGE) --no-fuzzy-matching -o $@ $@ $(DOMAIN).pot
+strip-po:
+ @for po_file in $(po_files); do \
+ echo Stripping $$po_file; \
+ $(MSGATTRIB) --translated --no-fuzzy --no-location $$po_file > $$po_file.tmp; \
+ mv $$po_file.tmp $$po_file; \
+ done
+ @export FILES_TO_REMOVE=`find . -name '*.po' -empty`; \
+ if [ "$$FILES_TO_REMOVE" != "" ]; then \
+ echo Removing empty translation files; \
+ rm -v $$FILES_TO_REMOVE; \
+ echo; echo Please remove the deleted files from LINGUAS!; echo; \
+ fi
+
create-po: $(DOMAIN).pot
@for po_file in $(po_files); do \
if [ ! -e $$po_file ]; then \
@@ -98,10 +112,14 @@ create-po: $(DOMAIN).pot
pull-po:
cd ../..; $(TX) pull -f
+ $(MAKE) strip-po
-update-po: update-pot
+merge-po: update-pot
$(MAKE) $(po_files)
+update-po: merge-po
+ $(MAKE) strip-po
+
update-pot:
@rm -f $(DOMAIN).pot.update
@pushd ../.. ; \
diff --git a/install/po/README b/install/po/README
index ada7df40e..6894a0633 100644
--- a/install/po/README
+++ b/install/po/README
@@ -6,10 +6,17 @@ A: Edit Makefile.in and add the source file to the appropriate *_POTFILES list.
NOTE: Now this i only necessary for python files that lack the .py
extension. All .py, .c and .h files are automatically sourced.
+Q: Untranslated strings and file locations are missing from my .po file.
+ How do I add them?
+
+A: make merge-po
+ Untranslated strings are left out of the files in SCM. The merge-po command
+ runs msgmerge to add them again.
+
Q: How do I pick up new strings to translate from the source files after the
source have been modified?
-A: make update-po
+A: make merge-po
This regenerates the pot template file by scanning all the source files.
Then the new strings are merged into each .po file from the new pot file.
@@ -18,6 +25,11 @@ Q: How do I just regenerate the pot template file without regenerating all the
A: make update-pot
+Q: I am done translating. How do I commit my changes?
+
+A: Run `make strip-po` to remove unneeded information from the po files, then
+ add your changes to SCM.
+
Q: How do I add a new language for translation?
A: Edit the LINGUAS file and add the new language. Then run "make create-po".
@@ -27,7 +39,7 @@ A: Edit the LINGUAS file and add the new language. Then run "make create-po".
http://www.gnu.org/software/hello/manual/gettext/Plural-forms.html
However, if this line is wrong, it is often an indicator that the locale
value is incorrect. For example, using 'jp' for Japanese in stead of 'ja'
- will result in an invailid Plural's line.
+ will result in an invalid Plurals line.
Q: What files must be under source code control?