Merge pull request #71 from camlow325/maint/master/SERVER-1733-update-to-i18n-0.7.1
(SERVER-1733) Update to clj-parent 0.4.3 and i18n 0.7.1
This commit is contained in:
commit
3b09ec527a
4 changed files with 51 additions and 21 deletions
|
@ -4,12 +4,12 @@
|
||||||
# lein i18n init
|
# lein i18n init
|
||||||
#
|
#
|
||||||
|
|
||||||
# The locale in which our messages are written, and for which we therefore
|
|
||||||
# have messages without any further effort
|
|
||||||
MESSAGE_LOCALE=en
|
|
||||||
|
|
||||||
# The name of the package into which the translations bundle will be placed
|
# The name of the package into which the translations bundle will be placed
|
||||||
BUNDLE=puppetlabs.http_client
|
BUNDLE=puppetlabs.http_client
|
||||||
|
|
||||||
|
# The name of the POT file into which the gettext code strings (msgid) will be placed
|
||||||
|
POT_NAME=http-client.pot
|
||||||
|
|
||||||
# The list of names of packages covered by the translation bundle;
|
# The list of names of packages covered by the translation bundle;
|
||||||
# by default it contains a single package - the same where the translations
|
# by default it contains a single package - the same where the translations
|
||||||
# bundle itself is placed - but this can be overridden - preferably in
|
# bundle itself is placed - but this can be overridden - preferably in
|
||||||
|
@ -17,7 +17,7 @@ BUNDLE=puppetlabs.http_client
|
||||||
PACKAGES?=$(BUNDLE)
|
PACKAGES?=$(BUNDLE)
|
||||||
LOCALES=$(basename $(notdir $(wildcard locales/*.po)))
|
LOCALES=$(basename $(notdir $(wildcard locales/*.po)))
|
||||||
BUNDLE_DIR=$(subst .,/,$(BUNDLE))
|
BUNDLE_DIR=$(subst .,/,$(BUNDLE))
|
||||||
BUNDLE_FILES=$(patsubst %,resources/$(BUNDLE_DIR)/Messages_%.class,$(MESSAGE_LOCALE) $(LOCALES))
|
BUNDLE_FILES=$(patsubst %,resources/$(BUNDLE_DIR)/Messages_%.class,$(LOCALES))
|
||||||
FIND_SOURCES=find src -name \*.clj
|
FIND_SOURCES=find src -name \*.clj
|
||||||
# xgettext before 0.19 does not understand --add-location=file. Even CentOS
|
# xgettext before 0.19 does not understand --add-location=file. Even CentOS
|
||||||
# 7 ships with an older gettext. We will therefore generate full location
|
# 7 ships with an older gettext. We will therefore generate full location
|
||||||
|
@ -27,7 +27,7 @@ LOC_OPT=$(shell xgettext --add-location=file -f - </dev/null >/dev/null 2>&1 &&
|
||||||
LOCALES_CLJ=resources/locales.clj
|
LOCALES_CLJ=resources/locales.clj
|
||||||
define LOCALES_CLJ_CONTENTS
|
define LOCALES_CLJ_CONTENTS
|
||||||
{
|
{
|
||||||
:locales #{$(patsubst %,"%",$(MESSAGE_LOCALE) $(LOCALES))}
|
:locales #{$(patsubst %,"%",$(LOCALES))}
|
||||||
:packages [$(patsubst %,"%",$(PACKAGES))]
|
:packages [$(patsubst %,"%",$(PACKAGES))]
|
||||||
:bundle $(patsubst %,"%",$(BUNDLE).Messages)
|
:bundle $(patsubst %,"%",$(BUNDLE).Messages)
|
||||||
}
|
}
|
||||||
|
@ -37,10 +37,10 @@ export LOCALES_CLJ_CONTENTS
|
||||||
|
|
||||||
i18n: msgfmt
|
i18n: msgfmt
|
||||||
|
|
||||||
# Update locales/messages.pot
|
# Update locales/<project-name>.pot
|
||||||
update-pot: locales/messages.pot
|
update-pot: locales/$(POT_NAME)
|
||||||
|
|
||||||
locales/messages.pot: $(shell $(FIND_SOURCES)) | locales
|
locales/$(POT_NAME): $(shell $(FIND_SOURCES)) | locales
|
||||||
@tmp=$$(mktemp $@.tmp.XXXX); \
|
@tmp=$$(mktemp $@.tmp.XXXX); \
|
||||||
$(FIND_SOURCES) \
|
$(FIND_SOURCES) \
|
||||||
| xgettext --from-code=UTF-8 --language=lisp \
|
| xgettext --from-code=UTF-8 --language=lisp \
|
||||||
|
@ -68,29 +68,37 @@ locales/messages.pot: $(shell $(FIND_SOURCES)) | locales
|
||||||
|
|
||||||
# Run msgfmt over all .po files to generate Java resource bundles
|
# Run msgfmt over all .po files to generate Java resource bundles
|
||||||
# and create the locales.clj file
|
# and create the locales.clj file
|
||||||
msgfmt: $(BUNDLE_FILES) $(LOCALES_CLJ)
|
msgfmt: $(BUNDLE_FILES) $(LOCALES_CLJ) clean-orphaned-bundles
|
||||||
|
|
||||||
# force rebuild of locales.clj if its contents is not the
|
# Force rebuild of locales.clj if its contents is not the the desired one. The
|
||||||
# the desired one
|
# shell echo is used to add a trailing newline to match the one from `cat`
|
||||||
ifneq ($(shell cat $(LOCALES_CLJ) 2> /dev/null),$(shell echo '$(subst ','\'',$(LOCALES_CLJ_CONTENTS))'))
|
ifneq ($(shell cat $(LOCALES_CLJ) 2> /dev/null),$(shell echo '$(LOCALES_CLJ_CONTENTS)'))
|
||||||
.PHONY: $(LOCALES_CLJ)
|
.PHONY: $(LOCALES_CLJ)
|
||||||
endif
|
endif
|
||||||
$(LOCALES_CLJ): | resources
|
$(LOCALES_CLJ): | resources
|
||||||
@echo "Writing $@"
|
@echo "Writing $@"
|
||||||
@echo "$$LOCALES_CLJ_CONTENTS" > $@
|
@echo "$$LOCALES_CLJ_CONTENTS" > $@
|
||||||
|
|
||||||
|
# Remove every resource bundle that wasn't generated from a PO file.
|
||||||
|
# We do this because we used to generate the english bundle directly from the POT.
|
||||||
|
.PHONY: clean-orphaned-bundles
|
||||||
|
clean-orphaned-bundles:
|
||||||
|
@for bundle in resources/$(BUNDLE_DIR)/Messages_*.class; do \
|
||||||
|
locale=$$(basename "$$bundle" | sed -E -e 's/\$$?1?\.class$$/_class/' | cut -d '_' -f 2;); \
|
||||||
|
if [ ! -f "locales/$$locale.po" ]; then \
|
||||||
|
rm "$$bundle"; \
|
||||||
|
fi \
|
||||||
|
done
|
||||||
|
|
||||||
resources/$(BUNDLE_DIR)/Messages_%.class: locales/%.po | resources
|
resources/$(BUNDLE_DIR)/Messages_%.class: locales/%.po | resources
|
||||||
msgfmt --java2 -d resources -r $(BUNDLE).Messages -l $(*F) $<
|
msgfmt --java2 -d resources -r $(BUNDLE).Messages -l $(*F) $<
|
||||||
|
|
||||||
resources/$(BUNDLE_DIR)/Messages_$(MESSAGE_LOCALE).class: locales/messages.pot | resources
|
|
||||||
msgfmt --java2 -d resources -r $(BUNDLE).Messages -l $(MESSAGE_LOCALE) $<
|
|
||||||
|
|
||||||
# Use this to initialize translations. Updating the PO files is done
|
# Use this to initialize translations. Updating the PO files is done
|
||||||
# automatically through a CI job that utilizes the scripts in the project's
|
# automatically through a CI job that utilizes the scripts in the project's
|
||||||
# `bin` file, which themselves come from the `clj-i18n` project.
|
# `bin` file, which themselves come from the `clj-i18n` project.
|
||||||
locales/%.po: | locales
|
locales/%.po: | locales
|
||||||
@if [ ! -f $@ ]; then \
|
@if [ ! -f $@ ]; then \
|
||||||
touch $@ && msginit --no-translator -l $(*F) -o $@ -i $<; \
|
touch $@ && msginit --no-translator -l $(*F) -o $@ -i locales/$(POT_NAME); \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
resources locales:
|
resources locales:
|
||||||
|
@ -107,7 +115,7 @@ This Makefile assists in handling i18n related tasks during development. Files
|
||||||
that need to be checked into source control are put into the locales/ directory.
|
that need to be checked into source control are put into the locales/ directory.
|
||||||
They are
|
They are
|
||||||
|
|
||||||
locales/messages.pot - the POT file generated by 'make update-pot'
|
locales/$(POT_NAME) - the POT file generated by 'make update-pot'
|
||||||
locales/$$LANG.po - the translations for $$LANG
|
locales/$$LANG.po - the translations for $$LANG
|
||||||
|
|
||||||
Only the $$LANG.po files should be edited manually; this is usually done by
|
Only the $$LANG.po files should be edited manually; this is usually done by
|
||||||
|
@ -116,7 +124,7 @@ translators.
|
||||||
You can use the following targets:
|
You can use the following targets:
|
||||||
|
|
||||||
i18n: refresh all the files in locales/ and recompile resources
|
i18n: refresh all the files in locales/ and recompile resources
|
||||||
update-pot: extract strings and update locales/messages.pot
|
update-pot: extract strings and update locales/$(POT_NAME)
|
||||||
locales/LANG.po: create translations for LANG
|
locales/LANG.po: create translations for LANG
|
||||||
msgfmt: compile the translations into Java classes; this step is
|
msgfmt: compile the translations into Java classes; this step is
|
||||||
needed to make translations available to the Clojure code
|
needed to make translations available to the Clojure code
|
||||||
|
|
22
locales/eo.po
Normal file
22
locales/eo.po
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# Esperanto translations for puppetlabs.http_client package.
|
||||||
|
# Copyright (C) 2017 Puppet <docs@puppet.com>
|
||||||
|
# This file is distributed under the same license as the puppetlabs.http_client package.
|
||||||
|
# Automatically generated, 2017.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: puppetlabs.http_client \n"
|
||||||
|
"Report-Msgid-Bugs-To: docs@puppet.com\n"
|
||||||
|
"POT-Creation-Date: \n"
|
||||||
|
"PO-Revision-Date: \n"
|
||||||
|
"Last-Translator: Automatically generated\n"
|
||||||
|
"Language-Team: none\n"
|
||||||
|
"Language: eo\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
|
#: src/clj/puppetlabs/http/client/async.clj
|
||||||
|
msgid "Unsupported request method: {0}"
|
||||||
|
msgstr ""
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
:min-lein-version "2.7.1"
|
:min-lein-version "2.7.1"
|
||||||
|
|
||||||
:parent-project {:coords [puppetlabs/clj-parent "0.3.3"]
|
:parent-project {:coords [puppetlabs/clj-parent "0.4.3"]
|
||||||
:inherit [:managed-dependencies]}
|
:inherit [:managed-dependencies]}
|
||||||
|
|
||||||
;; Abort when version ranges or version conflicts are detected in
|
;; Abort when version ranges or version conflicts are detected in
|
||||||
|
@ -54,4 +54,4 @@
|
||||||
:deploy-via :lein-deploy}
|
:deploy-via :lein-deploy}
|
||||||
|
|
||||||
:plugins [[lein-parent "0.3.1"]
|
:plugins [[lein-parent "0.3.1"]
|
||||||
[puppetlabs/i18n "0.6.0"]])
|
[puppetlabs/i18n "0.7.1"]])
|
||||||
|
|
Loading…
Reference in a new issue