git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/9] gitk i18n implementation: Add Makefile with rules for po file creation and installation.

From
Christian Stimming <stimming@tuhh.de>
Date
Nov 7, 2007, 17:39 UTC
Message-ID
<200711071839.08570.stimming@tuhh.de>

The compiled .msg files will be installed into $(sharedir)/gitk/lib/msgs according to Junio's mailing list proposal on 2007-07-28. --- These patches are against master of gitk.git at git.kernel.org.

Just in case any of the mailers might mess up whitespaces, I've also attached all 9 patches in the attached tarball.

 Makefile |   45 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 deletions(-)
 create mode 100644 Makefile
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..38154b6
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,45 @@
+# Set the installation directories; this section is needed only in
+# gitk.git but probably not in git.git.
+ifndef gitexecdir
+	gitexecdir := $(shell git --exec-path)
+endif
+ifndef sharedir
+	sharedir := $(dir $(gitexecdir))share
+endif
+
+# From here on, these are needed in git.git/gitk/Makefile.
+gitk_libdir   ?= $(sharedir)/gitk/lib
+msgsdir    ?= $(gitk_libdir)/msgs
+msgsdir_SQ  = $(subst ','\'',$(msgsdir))
+
+## Beginning of po-file creation rules
+XGETTEXT   ?= xgettext
+MSGFMT     ?= msgfmt
+PO_TEMPLATE = po/gitk.pot
+ALL_POFILES = $(wildcard po/*.po)
+ALL_MSGFILES = $(subst .po,.msg,$(ALL_POFILES))
+
+all:: $(ALL_MSGFILES)
+
+$(PO_TEMPLATE): gitk
+	$(XGETTEXT) -kmc -LTcl -o $@ gitk
+update-po:: $(PO_TEMPLATE)
+	$(foreach p, $(ALL_POFILES), echo Updating $p ; msgmerge -U $p $(PO_TEMPLATE) ; )
+$(ALL_MSGFILES): %.msg : %.po
+	@echo Generating catalog $@
+	$(MSGFMT) --statistics --tcl $< -l $(basename $(notdir $<)) -d $(dir $@)
+
+clean::
+	rm -f $(ALL_PROGRAMS) po/*.msg
+## End of po-file creation rules
+
+# Install rules for po-files
+install: all
+	$(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(msgsdir_SQ)' $(INSTALL_D1)
+	$(QUIET)$(foreach p,$(ALL_MSGFILES), $(INSTALL_R0)$p $(INSTALL_R1) '$(DESTDIR_SQ)$(msgsdir_SQ)' &&) true
+
+uninstall:
+	$(QUIET)$(foreach p,$(ALL_MSGFILES), $(REMOVE_F0)'$(DESTDIR_SQ)$(msgsdir_SQ)'/$(notdir $p) $(REMOVE_F1) &&) true
+	$(QUIET)$(REMOVE_D0)'$(DESTDIR_SQ)$(msgsdir_SQ)' $(REMOVE_D1)
+	$(QUIET)$(REMOVE_D0)'$(DESTDIR_SQ)$(libdir_SQ)' $(REMOVE_D1)
+	$(QUIET)$(REMOVE_D0)`dirname '$(DESTDIR_SQ)$(libdir_SQ)'` $(REMOVE_D1)
-- 
1.5.3.4.206.g58ba4
Next: Christian Stimming
Message 1 of 13 in “gitk i18n implementation: Add Makefile with rules for po file creation and installation.”
  1. 1/9 gitk i18n implementation: Add Makefile with rules for po file creation and installation.Christian Stimming, Nov 7, 2007
  2. 2/9 gitk i18n implementation: Import msgcat for message string translation; load translation catalogs.Christian Stimming, Nov 7, 2007
  3. 3/9 gitk i18n implementation: Markup many strings for translation.Christian Stimming, Nov 7, 2007
  4. 4/9 gitk i18n: Initial German translation.Christian Stimming, Nov 7, 2007
  5. 5/9 gitk i18n: More i18n markup: findtype options menu.Christian Stimming, Nov 7, 2007
  6. 6/9 gitk i18n: More i18n markup: highlight_related and selectedhlview options menu.Christian Stimming, Nov 7, 2007
  7. 7/9 gitk i18n: More i18n markup: findloc optionmenu.Christian Stimming, Nov 7, 2007
  8. 8/9 gitk i18n: More i18n markup: gdttype optionmenu.Christian Stimming, Nov 7, 2007
  9. 9/9 gitk i18n: Recode gitk from latin1 to utf8 so that the (c) copyright character is valid utf8.Christian Stimming, Nov 7, 2007
  10. Paul MackerrasDec 11, 2007
  11. Christian StimmingDec 12, 2007
  12. Junio C HamanoNov 7, 2007
  13. Christian StimmingNov 7, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.