Skip to content

Commit

Permalink
Fix src/po/ makefiles
Browse files Browse the repository at this point in the history
* Fix that errors.h was not parsed.
* Support dos-style path in fixfilenames.vim.
* Support translating *.vim with Windows makefiles.
* Fix space errors in README.txt.
  • Loading branch information
k-takata committed Sep 4, 2020
1 parent eb24556 commit 586b651
Show file tree
Hide file tree
Showing 6 changed files with 108 additions and 21 deletions.
40 changes: 33 additions & 7 deletions src/po/Make_cyg.mak
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -75,5 +103,3 @@ install-all: install
clean:
$(RM) *.mo
$(RM) *.pot


44 changes: 37 additions & 7 deletions src/po/Make_ming.mak
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -94,5 +126,3 @@ endif
clean:
$(RM) *.mo
$(RM) *.pot


36 changes: 33 additions & 3 deletions src/po/Make_mvc.mak
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -70,3 +99,4 @@ install-all: all
clean:
$(RM) *.mo
$(RM) *.pot
$(RM) files
3 changes: 2 additions & 1 deletion src/po/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ PO_INPUTLIST = \
../*.c \
../if_perl.xs \
../GvimExt/gvimext.cpp \
../errors.h \
../globals.h \
../if_py_both.h \
../vim.h \
Expand All @@ -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

Expand Down
4 changes: 2 additions & 2 deletions src/po/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Expand Down Expand Up @@ -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


Expand Down
2 changes: 1 addition & 1 deletion src/po/fixfilenames.vim
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 586b651

Please sign in to comment.