Skip to content

Commit

Permalink
Update translation infrastructure
Browse files Browse the repository at this point in the history
  • Loading branch information
nadjaheitmann committed Jan 16, 2025
1 parent e06fb4d commit 538456c
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 8 deletions.
4 changes: 3 additions & 1 deletion .tx/config
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
[main]
host = https://www.transifex.com

[foreman.foreman_resource_quota]
[o:foreman:p:foreman:r:foreman_resource_quota]
file_filter = locale/<lang>/foreman_resource_quota.edit.po
source_file = locale/foreman_resource_quota.pot
source_lang = en
type = PO
minimum_perc = 50

2 changes: 2 additions & 0 deletions lib/foreman_resource_quota/register.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
apipie_documented_controllers ["#{ForemanResourceQuota::Engine.root}" \
'/app/controllers/foreman_resource_quot/api/v2/*.rb']

register_gettext

# Add permissions
security_block :foreman_resource_quota do
permission :view_resource_quotas,
Expand Down
27 changes: 20 additions & 7 deletions locale/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,15 @@
# make tx-update - download and merge translations from Transifex
# make clean - clean everything
#
DOMAIN = foreman_resource_quota
VERSION = $(shell ruby -e 'require "rubygems";spec = Gem::Specification::load(Dir.glob("../*.gemspec")[0]);puts spec.version')
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
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
Expand All @@ -30,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
Expand All @@ -42,19 +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)] from the Foreman installation, then make -C locale mo-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

mo-files: $(MOFILES)
git add $(POFILES) $(POTFILE) ../locale/*/LC_MESSAGES
git add $(POFILES) $(POTFILE) $(JSFILES) ../locale/*/LC_MESSAGES
git commit -m "i18n - pulling from tx"
@echo
@echo Changes commited!
@echo
echo

0 comments on commit 538456c

Please sign in to comment.