summaryrefslogtreecommitdiff
path: root/src/po
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-09-04 13:53:00 +0200
committerBram Moolenaar <Bram@vim.org>2020-09-04 13:53:00 +0200
commitfa57335e532e505ce9229ddb2354a593fb057561 (patch)
treef391b2147bd2ecb9a8ee38b977aef28c2085b5f3 /src/po
parenteb24556df3b16a19009ee3ddee8ae94dc058a3b2 (diff)
downloadvim-git-fa57335e532e505ce9229ddb2354a593fb057561.tar.gz
patch 8.2.1585: messages in globals.h not translatedv8.2.1585
Problem: Messages in globals.h not translated, xgettext on MS-Windows not fully supported. Solution: Add globals.h to list of input files. Update MS-Windows makefiles to improve message translations. (Ken Takata, closes #6858)
Diffstat (limited to 'src/po')
-rw-r--r--src/po/Make_cyg.mak40
-rw-r--r--src/po/Make_ming.mak44
-rw-r--r--src/po/Make_mvc.mak36
-rw-r--r--src/po/Makefile3
-rw-r--r--src/po/README.txt4
-rw-r--r--src/po/fixfilenames.vim2
6 files changed, 108 insertions, 21 deletions
diff --git a/src/po/Make_cyg.mak b/src/po/Make_cyg.mak
index 3f853016f..0fe7f9295 100644
--- a/src/po/Make_cyg.mak
+++ b/src/po/Make_cyg.mak
@@ -16,6 +16,7 @@ endif
include Make_all.mak
PACKAGE = vim
+VIM = ../vim
# Uncomment one of the lines below or modify it to put the path to your
# gettext binaries
@@ -44,21 +45,48 @@ MKD = mkdir -p
.SUFFIXES:
.SUFFIXES: .po .mo .pot
-.PHONY: first_time all install clean $(LANGUAGES)
+.PHONY: first_time all install install-all clean $(LANGUAGES)
.po.mo:
$(MSGFMT) -o $@ $<
all: $(MOFILES) $(MOCONVERTED)
-first_time:
+PO_INPUTLIST = \
+ $(wildcard ../*.c) \
+ ../if_perl.xs \
+ ../GvimExt/gvimext.cpp \
+ ../errors.h \
+ ../globals.h \
+ ../if_py_both.h \
+ ../vim.h \
+ gvim.desktop.in \
+ vim.desktop.in
+
+PO_VIM_INPUTLIST = \
+ ../../runtime/optwin.vim
+
+PO_VIM_JSLIST = \
+ optwin.js
+
+first_time: $(PO_INPUTLIST) $(PO_VIM_INPUTLIST)
+ $(VIM) -u NONE --not-a-term -S tojavascript.vim $(LANGUAGE).pot $(PO_VIM_INPUTLIST)
$(XGETTEXT) --default-domain=$(LANGUAGE) \
- --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(wildcard ../*.c) ../if_perl.xs ../GvimExt/gvimext.cpp $(wildcard ../globals.h) ../if_py_both.h ../vim.h
+ --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(PO_INPUTLIST) $(PO_VIM_JSLIST)
+ $(VIM) -u NONE --not-a-term -S fixfilenames.vim $(LANGUAGE).pot $(PO_VIM_INPUTLIST)
+ $(RM) *.js
-$(LANGUAGES):
+$(PACKAGE).pot: $(PO_INPUTLIST) $(PO_VIM_INPUTLIST)
+ $(VIM) -u NONE --not-a-term -S tojavascript.vim $(PACKAGE).pot $(PO_VIM_INPUTLIST)
$(XGETTEXT) --default-domain=$(PACKAGE) \
- --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(wildcard ../*.c) ../if_perl.xs ../GvimExt/gvimext.cpp $(wildcard ../globals.h) ../if_py_both.h ../vim.h
+ --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(PO_INPUTLIST) $(PO_VIM_JSLIST)
$(MV) $(PACKAGE).po $(PACKAGE).pot
+ $(VIM) -u NONE --not-a-term -S fixfilenames.vim $(PACKAGE).pot $(PO_VIM_INPUTLIST)
+ $(RM) *.js
+
+# Don't add a dependency here, we only want to update the .po files manually
+$(LANGUAGES):
+ @$(MAKE) -f Make_cyg.mak $(PACKAGE).pot GETTEXT_PATH=$(GETTEXT_PATH)
$(CP) $@.po $@.po.orig
$(MV) $@.po $@.po.old
$(MSGMERGE) $@.po.old $(PACKAGE).pot -o $@.po
@@ -75,5 +103,3 @@ install-all: install
clean:
$(RM) *.mo
$(RM) *.pot
-
-
diff --git a/src/po/Make_ming.mak b/src/po/Make_ming.mak
index aa19306c6..5e9428f64 100644
--- a/src/po/Make_ming.mak
+++ b/src/po/Make_ming.mak
@@ -22,6 +22,11 @@ endif
include Make_all.mak
PACKAGE = vim
+ifeq (sh.exe, $(SHELL))
+VIM = ..\vim
+else
+VIM = ../vim
+endif
# Uncomment one of the lines below or modify it to put the path to your
# gettex binaries; I use the first
@@ -53,21 +58,48 @@ endif
.SUFFIXES:
.SUFFIXES: .po .mo .pot
-.PHONY: first_time all install clean $(LANGUAGES)
+.PHONY: first_time all install install-all clean $(LANGUAGES)
.po.mo:
$(MSGFMT) -o $@ $<
all: $(MOFILES) $(MOCONVERTED)
-first_time:
+PO_INPUTLIST = \
+ $(wildcard ../*.c) \
+ ../if_perl.xs \
+ ../GvimExt/gvimext.cpp \
+ ../errors.h \
+ ../globals.h \
+ ../if_py_both.h \
+ ../vim.h \
+ gvim.desktop.in \
+ vim.desktop.in
+
+PO_VIM_INPUTLIST = \
+ ../../runtime/optwin.vim
+
+PO_VIM_JSLIST = \
+ optwin.js
+
+first_time: $(PO_INPUTLIST) $(PO_VIM_INPUTLIST)
+ $(VIM) -u NONE --not-a-term -S tojavascript.vim $(LANGUAGE).pot $(PO_VIM_INPUTLIST)
$(XGETTEXT) --default-domain=$(LANGUAGE) \
- --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(wildcard ../*.c) ../if_perl.xs ../GvimExt/gvimext.cpp $(wildcard ../globals.h) ../if_py_both.h ../vim.h
+ --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(PO_INPUTLIST) $(PO_VIM_JSLIST)
+ $(VIM) -u NONE --not-a-term -S fixfilenames.vim $(LANGUAGE).pot $(PO_VIM_INPUTLIST)
+ $(RM) *.js
-$(LANGUAGES):
+$(PACKAGE).pot: $(PO_INPUTLIST) $(PO_VIM_INPUTLIST)
+ $(VIM) -u NONE --not-a-term -S tojavascript.vim $(PACKAGE).pot $(PO_VIM_INPUTLIST)
$(XGETTEXT) --default-domain=$(PACKAGE) \
- --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(wildcard ../*.c) ../if_perl.xs ../GvimExt/gvimext.cpp $(wildcard ../globals.h) ../if_py_both.h ../vim.h
+ --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(PO_INPUTLIST) $(PO_VIM_JSLIST)
$(MV) $(PACKAGE).po $(PACKAGE).pot
+ $(VIM) -u NONE --not-a-term -S fixfilenames.vim $(PACKAGE).pot $(PO_VIM_INPUTLIST)
+ $(RM) *.js
+
+# Don't add a dependency here, we only want to update the .po files manually
+$(LANGUAGES):
+ @$(MAKE) -f Make_ming.mak $(PACKAGE).pot GETTEXT_PATH=$(GETTEXT_PATH)
$(CP) $@.po $@.po.orig
$(MV) $@.po $@.po.old
$(MSGMERGE) $@.po.old $(PACKAGE).pot -o $@.po
@@ -94,5 +126,3 @@ endif
clean:
$(RM) *.mo
$(RM) *.pot
-
-
diff --git a/src/po/Make_mvc.mak b/src/po/Make_mvc.mak
index 43c805fb9..801a43694 100644
--- a/src/po/Make_mvc.mak
+++ b/src/po/Make_mvc.mak
@@ -14,6 +14,7 @@ VIMRUNTIME = ..\..\runtime
!include Make_all.mak
PACKAGE = vim
+VIM = ..\vim
# Correct the following line for the directory where gettext et al is installed
GETTEXT_PATH = H:\gettext.0.14.4\bin
@@ -41,19 +42,47 @@ INSTALLDIR = $(VIMRUNTIME)\lang\$(LANGUAGE)\LC_MESSAGES
all: $(MOFILES) $(MOCONVERTED)
-files:
- $(LS) $(LSFLAGS) ..\*.c ..\if_perl.xs ..\GvimExt\gvimext.cpp ..\globals.h ..\if_py_both.h ..\vim.h > .\files
+PO_INPUTLIST = \
+ ..\*.c \
+ ..\if_perl.xs \
+ ..\GvimExt\gvimext.cpp \
+ ..\errors.h \
+ ..\globals.h \
+ ..\if_py_both.h \
+ ..\vim.h \
+ gvim.desktop.in \
+ vim.desktop.in
+
+PO_VIM_INPUTLIST = \
+ ..\..\runtime\optwin.vim
+
+PO_VIM_JSLIST = \
+ optwin.js
+
+files: $(PO_INPUTLIST) $(PO_VIM_INPUTLIST)
+ $(LS) $(LSFLAGS) $(PO_INPUTLIST) > .\files
+ echo $(PO_VIM_JSLIST)>> .\files
first_time: files
+ $(VIM) -u NONE --not-a-term -S tojavascript.vim $(LANGUAGE).pot $(PO_VIM_INPUTLIST)
set OLD_PO_FILE_INPUT=yes
set OLD_PO_FILE_OUTPUT=yes
$(XGETTEXT) --default-domain=$(LANGUAGE) --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 --files-from=.\files
+ $(VIM) -u NONE --not-a-term -S fixfilenames.vim $(LANGUAGE).pot $(PO_VIM_INPUTLIST)
+ $(RM) *.js
-$(LANGUAGES): files
+$(PACKAGE).pot: files
+ $(VIM) -u NONE --not-a-term -S tojavascript.vim $(PACKAGE).pot $(PO_VIM_INPUTLIST)
set OLD_PO_FILE_INPUT=yes
set OLD_PO_FILE_OUTPUT=yes
$(XGETTEXT) --default-domain=$(PACKAGE) --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 --files-from=.\files
$(MV) $(PACKAGE).po $(PACKAGE).pot
+ $(VIM) -u NONE --not-a-term -S fixfilenames.vim $(PACKAGE).pot $(PO_VIM_INPUTLIST)
+ $(RM) *.js
+
+# Don't add a dependency here, we only want to update the .po files manually
+$(LANGUAGES):
+ @$(MAKE) -nologo -f Make_mvc.mak $(PACKAGE).pot GETTEXT_PATH=$(GETTEXT_PATH)
$(CP) $@.po $@.po.orig
$(MV) $@.po $@.po.old
$(MSGMERGE) $@.po.old $(PACKAGE).pot -o $@.po
@@ -70,3 +99,4 @@ install-all: all
clean:
$(RM) *.mo
$(RM) *.pot
+ $(RM) files
diff --git a/src/po/Makefile b/src/po/Makefile
index 8ef93e6eb..e46bceaf3 100644
--- a/src/po/Makefile
+++ b/src/po/Makefile
@@ -181,6 +181,7 @@ PO_INPUTLIST = \
../*.c \
../if_perl.xs \
../GvimExt/gvimext.cpp \
+ ../errors.h \
../globals.h \
../if_py_both.h \
../vim.h \
@@ -202,7 +203,7 @@ $(PACKAGE).pot: $(PO_INPUTLIST) $(PO_VIM_INPUTLIST)
$(PO_INPUTLIST) $(PO_VIM_JSLIST)
mv -f $(PACKAGE).po $(PACKAGE).pot
# Fix Vim scripts names, so that "gf" works
- $(VIM) -u NONE --not-a-term -S fixfilenames.vim $(PACKAGE).pot $(PO_VIM_INPUTLIST)
+ $(VIM) -u NONE --not-a-term -S fixfilenames.vim $(PACKAGE).pot $(PO_VIM_INPUTLIST)
# Delete the temporary files
rm *.js
diff --git a/src/po/README.txt b/src/po/README.txt
index 68d267af1..6979b82e6 100644
--- a/src/po/README.txt
+++ b/src/po/README.txt
@@ -92,7 +92,7 @@ language.
msgstr "Berichten übersetzt bei: John Doe <john@doe.org>"
(3) Remove unused messages (optional)
- Remove messages that have been marked as obsolete.
+ Remove messages that have been marked as obsolete.
Such messages start with "#~".
The cleanup script will also do that (see next step).
@@ -128,7 +128,7 @@ language.
Vim normally picks up the .mo files from:
$VIMRUNTIME/lang/{lang}/LC_MESSAGES/vim.mo
To try out the messages with Vim use:
- make tryoutinstall
+ make tryoutinstall
And run Vim with $VIMRUNTIME set to ../runtime
diff --git a/src/po/fixfilenames.vim b/src/po/fixfilenames.vim
index 65d448ce4..04bc0791c 100644
--- a/src/po/fixfilenames.vim
+++ b/src/po/fixfilenames.vim
@@ -5,7 +5,7 @@ set shortmess+=A
for name in argv()[1:]
let jsname = fnamemodify(name, ":t:r") .. ".js"
- exe "%s+" .. jsname .. "+" .. name .. "+"
+ exe "%s+" .. jsname .. "+" .. substitute(name, '\\', '/', 'g') .. "+"
endfor
write