Skip to content

Commit 22fc41f

Browse files
RestorerZchrisbra
authored andcommitted
translation: Auto-generate headers for the vim.pot file
closes: #17855 Signed-off-by: RestorerZ <restorer@mail2k.ru> Signed-off-by: Christian Brabandt <cb@256bit.org>
1 parent d305729 commit 22fc41f

3 files changed

Lines changed: 33 additions & 16 deletions

File tree

src/po/Make_mvc.mak

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
!ENDIF
1313

1414
!IFNDEF LANGUAGE
15-
! IF [powershell.exe -nologo -noprofile $$lng=(Get-UICulture).TwoLetterISOLanguageName; \
15+
! IF [powershell.exe -nologo -noprofile \
16+
$$lng=(Get-UICulture).TwoLetterISOLanguageName; \
1617
$$Env:LANGUAGE=$$lng;Set-Content -Path .\lng.tmp -Value "LANGUAGE=$$lng"]
1718
! ENDIF
1819
# In order for the "install" and "cleanup-po" rule to work.
@@ -53,8 +54,8 @@ GETTEXT_PATH = D:\Programs\GetText\bin
5354
# Starting from version 0.22, msgfmt forcibly converts text to UTF-8 regardless
5455
# of the value of the "charset" field.
5556
!IF [%comspec% /v:on /e:on /c "for /F "tokens=4 delims= " %G in \
56-
('"$(GETTEXT_PATH)\msgfmt.exe" --version^|findstr /rc:[0-9^]\.[0-9^][0-9^]') do \
57-
@(set "v=%G" && if !v:~2^,2! GEQ 22 exit /b 1)"]
57+
('"$(GETTEXT_PATH)\msgfmt.exe" --version^|findstr /rc:[0-9^]\.[0-9^][0-9^]')\
58+
do @(set "v=%G" && if !v:~2^,2! GEQ 22 exit /b 1)"]
5859
MSGFMT = "$(GETTEXT_PATH)\msgfmt.exe" -v --no-convert
5960
!ELSE
6061
MSGFMT = "$(GETTEXT_PATH)\msgfmt.exe" -v
@@ -94,6 +95,14 @@ PSFLAGS = -NoLogo -NoProfile -Command
9495

9596
INSTALLDIR = $(VIMRUNTIME)\lang\$(LANGUAGE)\LC_MESSAGES
9697

98+
!IF [%comspec% /C \
99+
"for /F %G in ('wmic Path Win32_LocalTime Get Year /format:list ^| \
100+
findstr /R [0-9^]') do @(echo:%G> .\_date.tmp)"]
101+
!ENDIF
102+
!INCLUDE .\_date.tmp
103+
!IF [$(RM) .\_date.tmp]
104+
!ENDIF
105+
97106
.SUFFIXES:
98107
.SUFFIXES: .po .mo .pot .ck
99108

@@ -104,8 +113,8 @@ originals : $(MOFILES)
104113
converted: $(MOCONVERTED)
105114

106115
.po.ck:
107-
"$(VIMPROG)" -u NONE --noplugins -e -s -X --cmd "set enc=utf-8" -S check.vim \
108-
-c "if error == 0 | q | else | num 2 | cq | endif" $<
116+
"$(VIMPROG)" -u NONE --noplugins -e -s -X --cmd "set enc=utf-8" \
117+
-S check.vim -c "if error == 0 | q | else | num 2 | cq | endif" $<
109118
$(TOUCH_TARGET)
110119

111120
check: $(CHECKFILES)
@@ -456,11 +465,14 @@ first_time: files
456465
@ copy /b .\files+.\vim_to_js .\allfiles
457466
set OLD_PO_FILE_INPUT=yes
458467
set OLD_PO_FILE_OUTPUT=yes
459-
$(XGETTEXT) --default-domain=$(LANGUAGE) --add-comments $(XGETTEXT_KEYWORDS) \
460-
--files-from=.\allfiles
468+
$(XGETTEXT) --default-domain=$(LANGUAGE) --add-comments \
469+
$(XGETTEXT_KEYWORDS) --files-from=.\allfiles \
470+
--copyright-holder="$(Year), The Vim Project" --package-name=Vim \
471+
--msgid-bugs-address="vim-dev@vim.org"
461472
"$(VIMPROG)" -u NONE --not-a-term -S fixfilenames.vim $(LANGUAGE).po \
462473
$(PO_VIM_INPUTLIST)
463474
$(RM) *.js .\vim_to_js
475+
@$(MAKE) -lf Make_mvc.mak clean
464476

465477
$(PACKAGE).pot: files
466478
"$(VIMPROG)" -u NONE --not-a-term -S tojavascript.vim $(PACKAGE).pot \
@@ -469,18 +481,21 @@ $(PACKAGE).pot: files
469481
set OLD_PO_FILE_INPUT=yes
470482
set OLD_PO_FILE_OUTPUT=yes
471483
$(XGETTEXT) --default-domain=$(PACKAGE) --output=$(PACKAGE).pot \
472-
--add-comments $(XGETTEXT_KEYWORDS) --files-from=.\allfiles
484+
--add-comments $(XGETTEXT_KEYWORDS) --files-from=.\allfiles \
485+
--no-location --copyright-holder="$(Year), The Vim Project" \
486+
--package-name=Vim --msgid-bugs-address="vim-dev@vim.org"
473487
"$(VIMPROG)" -u NONE --not-a-term -S fixfilenames.vim $(PACKAGE).pot \
474488
$(PO_VIM_INPUTLIST)
475489
$(RM) *.js .\vim_to_js
490+
@$(MAKE) -lf Make_mvc.mak clean
476491

477492
# Only original translations with default encoding should be updated.
478493
# The files that are converted to a different encoding clearly state "DO NOT EDIT".
479494
update-po: $(MOFILES:.mo=)
480495

481496
# Don't add a dependency here, we only want to update the .po files manually.
482497
$(LANGUAGES):
483-
@$(MAKE) -nologo -f Make_mvc.mak GETTEXT_PATH="$(GETTEXT_PATH)" $(PACKAGE).pot
498+
@$(MAKE) -lf Make_mvc.mak GETTEXT_PATH="$(GETTEXT_PATH)" $(PACKAGE).pot
484499
$(CP) $@.po $@.po.orig
485500
$(MV) $@.po $@.po.old
486501
$(MSGMERGE) $@.po.old $(PACKAGE).pot -o $@.po

src/po/Makefile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ converted: $(MOCONVERTED)
4141

4242
.po.ck:
4343
$(VIMPROG) -u NONE --noplugins -e -s -X --cmd "set enc=utf-8" \
44-
-S check.vim -c "if error == 0 | q | else | num 2 | cq | endif" $< >/dev/null
44+
-S check.vim -c "if error == 0 | q | else | num 2 | cq | endif" \
45+
$< >/dev/null
4546
touch $@
4647

4748
check: $(CHECKFILES)
@@ -269,7 +270,8 @@ $(PACKAGE).pot: $(PO_INPUTLIST) $(PO_VIM_INPUTLIST)
269270
# Create vim.pot.
270271
$(XGETTEXT) --default-domain=$(PACKAGE) --output=$(PACKAGE).pot \
271272
--add-comments $(XGETTEXT_KEYWORDS) --files-from=./allfiles \
272-
--no-location
273+
--no-location --copyright-holder="$$(date +%Y), The Vim Project" \
274+
--package-name=Vim --msgid-bugs-address="vim-dev@vim.org"
273275
# Fix Vim scripts names, so that "gf" works.
274276
$(VIMPROG) -u NONE --not-a-term -S fixfilenames.vim $(PACKAGE).pot \
275277
$(PO_VIM_INPUTLIST)

src/po/vim.pot

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)