diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-09-04 13:53:00 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-09-04 13:53:00 +0200 |
commit | fa57335e532e505ce9229ddb2354a593fb057561 (patch) | |
tree | f391b2147bd2ecb9a8ee38b977aef28c2085b5f3 /src/po | |
parent | eb24556df3b16a19009ee3ddee8ae94dc058a3b2 (diff) | |
download | vim-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.mak | 40 | ||||
-rw-r--r-- | src/po/Make_ming.mak | 44 | ||||
-rw-r--r-- | src/po/Make_mvc.mak | 36 | ||||
-rw-r--r-- | src/po/Makefile | 3 | ||||
-rw-r--r-- | src/po/README.txt | 4 | ||||
-rw-r--r-- | src/po/fixfilenames.vim | 2 |
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 |