-
Notifications
You must be signed in to change notification settings - Fork 297
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Sync translation infrastructure from foreman_plugin_template (#11193)
This copies the Makefile from foreman_plugin_template to resolve an issue with the time stamp handling and pulling in new translations that made it past 50%. It also ignores action_names.rb since that's now considered a best practice. Generated files do not belong in git.
- Loading branch information
Showing
3 changed files
with
21 additions
and
205 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,20 +6,19 @@ | |
# make tx-update - download and merge translations from Transifex | ||
# make clean - clean everything | ||
# | ||
DOMAIN = katello | ||
VERSION = $(shell git describe --abbrev=0 --tags) | ||
DOMAIN = $(shell ruby -rrubygems -e 'puts Gem::Specification::load(Dir.glob("../*.gemspec")[0]).name') | ||
VERSION = $(shell ruby -rrubygems -e 'puts Gem::Specification::load(Dir.glob("../*.gemspec")[0]).version') | ||
POTFILE = $(DOMAIN).pot | ||
MOFILE = $(DOMAIN).mo | ||
ACTIONFILE = action_names.rb | ||
POFILES = $(shell find . -name '$(DOMAIN).po') | ||
MOFILES = $(patsubst %.po,%.mo,$(POFILES)) | ||
POXFILES = $(patsubst %.po,%.pox,$(POFILES)) | ||
EDITFILES = $(patsubst %.po,%.edit.po,$(POFILES)) | ||
JSFILES = $(shell find ../app/assets/javascripts/*/locale -name '$(DOMAIN).js') | ||
|
||
%.mo: %.po | ||
mkdir -p $(shell dirname $@)/LC_MESSAGES | ||
msgfmt -o $(shell dirname $@)/LC_MESSAGES/$(MOFILE) $< | ||
touch $(shell dirname $@)/LC_MESSAGES/$(MOFILE) | ||
|
||
# Generate MO files from PO files | ||
all-mo: $(MOFILES) | ||
|
@@ -32,9 +31,16 @@ all-mo: $(MOFILES) | |
cat $@ | ||
! grep -q msgid $@ | ||
|
||
%.edit.po: | ||
%.edit.po: %.po.time_stamp | ||
touch $@ | ||
|
||
# gettext will trash the .edit.po file if the time stamp doesn't exist or is older than the po file | ||
%.po.time_stamp: %.po | ||
touch --reference $< $@ | ||
|
||
# Prevent make from treating this as an intermediate file to be cleaned up | ||
.PRECIOUS: %.po.time_stamp | ||
|
||
check: $(POXFILES) | ||
|
||
# Unify duplicate translations | ||
|
@@ -44,34 +50,24 @@ uniq-po: | |
done | ||
|
||
tx-pull: $(EDITFILES) | ||
tx pull -f | ||
# Initialize new languages | ||
cd .. && tx pull -f --all --minimum-perc 50 | ||
# Force update all existing languages | ||
cd .. && tx pull -f --minimum-perc 0 | ||
for f in $(EDITFILES) ; do \ | ||
sed -i 's/^\("Project-Id-Version: \).*$$/\1$(DOMAIN) $(VERSION)\\n"/' $$f; \ | ||
done | ||
|
||
tx-update: tx-pull | ||
@echo | ||
@echo Run rake plugin:gettext[$(DOMAIN)] and rake plugin:po_to_json[$(DOMAIN)] from the Foreman installation, then make -C locale po-files to finish | ||
@echo Run rake plugin:gettext[$(DOMAIN)] from the Foreman installation | ||
@echo then run rake plugin:po_to_json[$(DOMAIN)] from the Foreman installation | ||
@echo then run make -C locale mo-files to finish | ||
@echo | ||
|
||
commit-translation-files: $(POFILES) | ||
git add $(POFILES) $(POTFILE) $(ACTIONFILE) ../app/assets/javascripts/katello/locale | ||
mo-files: $(MOFILES) | ||
git add $(POFILES) $(POTFILE) $(JSFILES) ../locale/*/LC_MESSAGES | ||
git commit -m "i18n - pulling from tx" | ||
@echo | ||
@echo Changes commited! | ||
@echo | ||
|
||
# Workaround when rake task fails (https://github.com/ruby/rake/pull/182) | ||
extract: | ||
rxgettext \ | ||
--sort-output \ | ||
--sort-by-msgid \ | ||
--no-wrap \ | ||
--no-location \ | ||
-o ${DOMAIN}.pot \ | ||
--package-name=${DOMAIN} \ | ||
--package-version="${VERSION}" \ | ||
[email protected] \ | ||
--copyright-holder="Foreman developers" \ | ||
--copyright-year=$(shell date +%Y) \ | ||
$(shell find ../app -type f -name \*.rb -o -name \*.erb) |
This file was deleted.
Oops, something went wrong.