Revision fcab8024
Added by Martin Bacovsky about 8 years ago
.gitignore | ||
---|---|---|
24 | 24 |
.rvmrc |
25 | 25 |
.ruby-version |
26 | 26 |
.ruby-gemset |
27 |
|
|
28 |
# Locale files |
|
29 |
locale/*/*.edit.po |
|
30 |
locale/*/*.po.time_stamp |
|
31 |
|
.tx/config | ||
---|---|---|
1 |
[main] |
|
2 |
host = https://www.transifex.com |
|
3 |
|
|
4 |
[foreman.hammer_cli_foreman_docker] |
|
5 |
file_filter = locale/<lang>/hammer_cli_foreman_docker.po |
|
6 |
source_file = locale/hammer_cli_foreman_docker.pot |
|
7 |
source_lang = en |
|
8 |
type = PO |
|
9 |
|
Gemfile | ||
---|---|---|
2 | 2 |
|
3 | 3 |
gemspec |
4 | 4 |
|
5 |
if RUBY_VERSION >= '1.9' |
|
6 |
# for generating i18n files, gettext > 3.0 dropped ruby 1.8 support |
|
7 |
gem 'gettext', '>= 3.1.3', '< 4.0.0' |
|
8 |
end |
|
9 |
|
|
10 |
group :test do |
|
11 |
gem 'rake', '~> 10.1.0' |
|
12 |
end |
|
13 |
|
|
5 | 14 |
# load local gemfile |
6 | 15 |
local_gemfile = File.join(File.dirname(__FILE__), 'Gemfile.local') |
7 | 16 |
self.instance_eval(Bundler.read_file(local_gemfile)) if File.exist?(local_gemfile) |
Rakefile | ||
---|---|---|
12 | 12 |
end |
13 | 13 |
|
14 | 14 |
namespace :gettext do |
15 |
desc "Update pot file" |
|
16 |
task :find do |
|
15 |
task :setup do |
|
17 | 16 |
require "hammer_cli_foreman_docker/version" |
18 | 17 |
require "hammer_cli_foreman_docker/i18n" |
19 |
require 'gettext/tools' |
|
18 |
require 'gettext/tools/task'
|
|
20 | 19 |
|
21 | 20 |
domain = HammerCLIForemanDocker::I18n::LocaleDomain.new |
22 |
GetText.update_pofiles(domain.domain_name, domain.translated_files, |
|
23 |
"#{domain.domain_name} #{HammerCLIForemanDocker.version}", |
|
24 |
:po_root => domain.locale_dir) |
|
21 |
GetText::Tools::Task.define do |task| |
|
22 |
task.package_name = domain.domain_name |
|
23 |
task.package_version = HammerCLIForemanDocker.version.to_s |
|
24 |
task.domain = domain.domain_name |
|
25 |
task.mo_base_directory = domain.locale_dir |
|
26 |
task.po_base_directory = domain.locale_dir |
|
27 |
task.files = domain.translated_files |
|
28 |
end |
|
29 |
end |
|
30 |
|
|
31 |
desc "Update pot file" |
|
32 |
task :find => [:setup] do |
|
33 |
Rake::Task["gettext:po:update"].invoke |
|
25 | 34 |
end |
26 | 35 |
end |
27 | 36 |
|
lib/hammer_cli_foreman_docker.rb | ||
---|---|---|
1 | 1 |
require 'hammer_cli_foreman' |
2 | 2 |
|
3 | 3 |
module HammerCLIForemanDocker |
4 |
require 'hammer_cli_foreman_docker/i18n' |
|
5 |
|
|
4 | 6 |
HammerCLI::MainCommand.lazy_subcommand("docker", _("Manipulate docker content"), |
5 | 7 |
'HammerCLIForemanDocker::DockerCommand', |
6 | 8 |
'hammer_cli_foreman_docker/docker' |
lib/hammer_cli_foreman_docker/i18n.rb | ||
---|---|---|
1 |
require 'hammer_cli' |
|
2 |
|
|
3 |
module HammerCLIForemanDocker |
|
4 |
module I18n |
|
5 |
class LocaleDomain < HammerCLI::I18n::LocaleDomain |
|
6 |
def translated_files |
|
7 |
Dir.glob(File.join(File.dirname(__FILE__), '../**/*.rb')) |
|
8 |
end |
|
9 |
|
|
10 |
def locale_dir |
|
11 |
File.join(File.dirname(__FILE__), '../../locale') |
|
12 |
end |
|
13 |
|
|
14 |
def domain_name |
|
15 |
'hammer_cli_foreman_docker' |
|
16 |
end |
|
17 |
end |
|
18 |
|
|
19 |
class SystemLocaleDomain < LocaleDomain |
|
20 |
def locale_dir |
|
21 |
'/usr/share/locale' |
|
22 |
end |
|
23 |
|
|
24 |
def domain_name |
|
25 |
"#{super}@system" |
|
26 |
end |
|
27 |
end |
|
28 |
end |
|
29 |
end |
|
30 |
|
|
31 |
HammerCLI::I18n.add_domain(HammerCLIForemanDocker::I18n::LocaleDomain.new) |
|
32 |
HammerCLI::I18n.add_domain(HammerCLIForemanDocker::I18n::SystemLocaleDomain.new) |
locale/Makefile | ||
---|---|---|
1 |
# |
|
2 |
# Makefile for PO merging and MO generation. More info in the README. |
|
3 |
# |
|
4 |
# make all-mo (default) - generate MO files |
|
5 |
# make check - check translations using translate-tool |
|
6 |
# make tx-update - download and merge translations from Transifex |
|
7 |
# make clean - clean everything |
|
8 |
# |
|
9 |
DOMAIN = hammer_cli_foreman_docker |
|
10 |
VERSION = $(shell ruby -e 'require "rubygems";spec = Gem::Specification::load("../hammer_cli_foreman_docker.gemspec");puts spec.version') |
|
11 |
POTFILE = $(DOMAIN).pot |
|
12 |
MOFILE = $(DOMAIN).mo |
|
13 |
POFILES = $(shell find . -name '$(DOMAIN).po') |
|
14 |
MOFILES = $(patsubst %.po,%.mo,$(POFILES)) |
|
15 |
POXFILES = $(patsubst %.po,%.pox,$(POFILES)) |
|
16 |
EDITFILES = $(patsubst %.po,%.edit.po,$(POFILES)) |
|
17 |
|
|
18 |
%.mo: %.po |
|
19 |
mkdir -p $(shell dirname $@)/LC_MESSAGES |
|
20 |
msgfmt -o $(shell dirname $@)/LC_MESSAGES/$(MOFILE) $< |
|
21 |
|
|
22 |
# Generate MO files from PO files |
|
23 |
all-mo: $(MOFILES) |
|
24 |
|
|
25 |
# Check for malformed strings |
|
26 |
%.pox: %.po |
|
27 |
msgfmt -c $< |
|
28 |
pofilter --nofuzzy -t variables -t blank -t urls -t emails -t long -t newlines \ |
|
29 |
-t endwhitespace -t endpunc -t puncspacing -t options -t printf -t validchars --gnome $< > $@ |
|
30 |
cat $@ |
|
31 |
! grep -q msgid $@ |
|
32 |
|
|
33 |
check: $(POXFILES) |
|
34 |
|
|
35 |
# Unify duplicate translations |
|
36 |
uniq-po: |
|
37 |
for f in $(shell find ./ -name "*.po") ; do \ |
|
38 |
msguniq $$f -o $$f ; \ |
|
39 |
done |
|
40 |
|
|
41 |
tx-pull: $(EDITFILES) |
|
42 |
tx pull -f |
|
43 |
for f in $(POFILES) ; do \ |
|
44 |
sed -i 's/^\("Project-Id-Version: \).*$$/\1$(DOMAIN) $(VERSION)\\n"/' $$f; \ |
|
45 |
done |
|
46 |
|
|
47 |
# Extract strings and update the .pot, prepare .edit.po files |
|
48 |
extract-strings: |
|
49 |
bundle exec rake gettext:find |
|
50 |
|
|
51 |
# Merge .edit.po into .po |
|
52 |
update-po: |
|
53 |
bundle exec rake gettext:find |
|
54 |
|
|
55 |
tx-update: extract-strings tx-pull $(MOFILES) |
|
56 |
git commit -m "i18n - extracting new, pulling from tx" ../locale |
|
57 |
-echo Changes commited! |
locale/README.md | ||
---|---|---|
1 |
Updating the translations |
|
2 |
------------------------- |
|
3 |
|
|
4 |
1. Check if there are any new languages with progress more than 50% on [transifex](https://www.transifex.com/projects/p/foreman/resource/hammer_clic_foreman_docker/). If so, do the following for each of the new languages: |
|
5 |
|
|
6 |
``` |
|
7 |
mkdir locale/<lang> |
|
8 |
cp locale/hammer_cli_foreman_docker.pot locale/<lang>/hammer_cli_foreman_docker.po |
|
9 |
``` |
|
10 |
2. Make sure you have `transifex-client` installed |
|
11 |
|
|
12 |
3. Update the translations. From GIT repo root directory run: |
|
13 |
|
|
14 |
``` |
|
15 |
make -C locale tx-update |
|
16 |
``` |
|
17 |
|
|
18 |
It will download translations from transifex, generates `mo` files, updates strings in `pot` file and wraps all the changes in a new commit. Transifex automatically updates its strings when the commit is pushed to Github. |
locale/en/hammer_cli_foreman_docker.po | ||
---|---|---|
1 |
# English translations for hammer_cli_foreman_docker package. |
|
2 |
# Copyright (C) 2015 THE PACKAGE'S COPYRIGHT HOLDER |
|
3 |
# This file is distributed under the same license as the hammer_cli_foreman_docker package. |
|
4 |
# FIRST AUTHOR <EMAIL@ADDRESS>, 2015. |
|
5 |
# |
|
6 |
msgid "" |
|
7 |
msgstr "" |
|
8 |
"Project-Id-Version: hammer_cli_foreman_docker 0.0.1\n" |
|
9 |
"Report-Msgid-Bugs-To: \n" |
|
10 |
"PO-Revision-Date: 2015-03-09 13:45+0100\n" |
|
11 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
|
12 |
"Language-Team: English\n" |
|
13 |
"Language: en\n" |
|
14 |
"MIME-Version: 1.0\n" |
|
15 |
"Content-Type: text/plain; charset=UTF-8\n" |
|
16 |
"Content-Transfer-Encoding: 8bit\n" |
|
17 |
"Plural-Forms: nplurals=2; plural=n != 1;\n" |
|
18 |
"\n" |
|
19 |
|
|
20 |
msgid "Manipulate docker content" |
|
21 |
msgstr "" |
|
22 |
|
|
23 |
msgid "Manage docker containers" |
|
24 |
msgstr "" |
|
25 |
|
|
26 |
msgid "Name" |
|
27 |
msgstr "" |
|
28 |
|
|
29 |
msgid "Image repository" |
|
30 |
msgstr "" |
|
31 |
|
|
32 |
msgid "Tag" |
|
33 |
msgstr "" |
|
34 |
|
|
35 |
msgid "Command" |
|
36 |
msgstr "" |
|
37 |
|
|
38 |
msgid "Compute resource" |
|
39 |
msgstr "" |
|
40 |
|
|
41 |
msgid "Entrypoint" |
|
42 |
msgstr "" |
|
43 |
|
|
44 |
msgid "CPU set" |
|
45 |
msgstr "" |
|
46 |
|
|
47 |
msgid "CPU shares" |
|
48 |
msgstr "" |
|
49 |
|
|
50 |
msgid "Memory (Bytes)" |
|
51 |
msgstr "" |
|
52 |
|
|
53 |
msgid "TTY" |
|
54 |
msgstr "" |
|
55 |
|
|
56 |
msgid "Attach STDIN" |
|
57 |
msgstr "" |
|
58 |
|
|
59 |
msgid "Attach STDOUT" |
|
60 |
msgstr "" |
|
61 |
|
|
62 |
msgid "Attach STDERR" |
|
63 |
msgstr "" |
|
64 |
|
|
65 |
msgid "Registry" |
|
66 |
msgstr "" |
|
67 |
|
|
68 |
msgid "Docker container created" |
|
69 |
msgstr "" |
|
70 |
|
|
71 |
msgid "Could not create the container" |
|
72 |
msgstr "" |
|
73 |
|
|
74 |
msgid "Docker container deleted" |
|
75 |
msgstr "" |
|
76 |
|
|
77 |
msgid "Could not delete the container" |
|
78 |
msgstr "" |
|
79 |
|
|
80 |
msgid "Logs" |
|
81 |
msgstr "" |
|
82 |
|
|
83 |
msgid "Running" |
|
84 |
msgstr "" |
|
85 |
|
|
86 |
msgid "Power a container on" |
|
87 |
msgstr "" |
|
88 |
|
|
89 |
msgid "The container was started." |
|
90 |
msgstr "" |
|
91 |
|
|
92 |
msgid "Power a container off" |
|
93 |
msgstr "" |
|
94 |
|
|
95 |
msgid "The container was stopped." |
|
96 |
msgstr "" |
|
97 |
|
|
98 |
msgid "Manage docker images" |
|
99 |
msgstr "" |
|
100 |
|
|
101 |
msgid "ID" |
|
102 |
msgstr "" |
|
103 |
|
|
104 |
msgid "Image ID" |
|
105 |
msgstr "" |
|
106 |
|
|
107 |
msgid "Size" |
|
108 |
msgstr "" |
|
109 |
|
|
110 |
msgid "Tags" |
|
111 |
msgstr "" |
|
112 |
|
|
113 |
msgid "Repository ID" |
|
114 |
msgstr "" |
|
115 |
|
|
116 |
msgid "Manage docker tags" |
|
117 |
msgstr "" |
|
118 |
|
|
119 |
msgid "Docker Image ID" |
|
120 |
msgstr "" |
locale/hammer_cli_foreman_docker.pot | ||
---|---|---|
1 |
# SOME DESCRIPTIVE TITLE. |
|
2 |
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
|
3 |
# This file is distributed under the same license as the hammer_cli_foreman_docker package. |
|
4 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
|
5 |
# |
|
6 |
#, fuzzy |
|
7 |
msgid "" |
|
8 |
msgstr "" |
|
9 |
"Project-Id-Version: hammer_cli_foreman_docker 0.0.1\n" |
|
10 |
"Report-Msgid-Bugs-To: \n" |
|
11 |
"POT-Creation-Date: 2015-03-09 13:45+0100\n" |
|
12 |
"PO-Revision-Date: 2015-03-09 13:45+0100\n" |
|
13 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
|
14 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
|
15 |
"Language: \n" |
|
16 |
"MIME-Version: 1.0\n" |
|
17 |
"Content-Type: text/plain; charset=UTF-8\n" |
|
18 |
"Content-Transfer-Encoding: 8bit\n" |
|
19 |
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" |
|
20 |
|
|
21 |
#: ../lib/hammer_cli_foreman_docker.rb:6 |
|
22 |
msgid "Manipulate docker content" |
|
23 |
msgstr "" |
|
24 |
|
|
25 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:8 |
|
26 |
msgid "Manage docker containers" |
|
27 |
msgstr "" |
|
28 |
|
|
29 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:13 |
|
30 |
msgid "Name" |
|
31 |
msgstr "" |
|
32 |
|
|
33 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:14 |
|
34 |
msgid "Image repository" |
|
35 |
msgstr "" |
|
36 |
|
|
37 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:15 |
|
38 |
#: ../lib/hammer_cli_foreman_docker/docker_image.rb:27 |
|
39 |
#: ../lib/hammer_cli_foreman_docker/docker_tag.rb:10 |
|
40 |
#: ../lib/hammer_cli_foreman_docker/docker_tag.rb:22 |
|
41 |
msgid "Tag" |
|
42 |
msgstr "" |
|
43 |
|
|
44 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:16 |
|
45 |
msgid "Command" |
|
46 |
msgstr "" |
|
47 |
|
|
48 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:17 |
|
49 |
msgid "Compute resource" |
|
50 |
msgstr "" |
|
51 |
|
|
52 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:26 |
|
53 |
msgid "Entrypoint" |
|
54 |
msgstr "" |
|
55 |
|
|
56 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:27 |
|
57 |
msgid "CPU set" |
|
58 |
msgstr "" |
|
59 |
|
|
60 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:28 |
|
61 |
msgid "CPU shares" |
|
62 |
msgstr "" |
|
63 |
|
|
64 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:29 |
|
65 |
msgid "Memory (Bytes)" |
|
66 |
msgstr "" |
|
67 |
|
|
68 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:30 |
|
69 |
msgid "TTY" |
|
70 |
msgstr "" |
|
71 |
|
|
72 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:31 |
|
73 |
msgid "Attach STDIN" |
|
74 |
msgstr "" |
|
75 |
|
|
76 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:32 |
|
77 |
msgid "Attach STDOUT" |
|
78 |
msgstr "" |
|
79 |
|
|
80 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:33 |
|
81 |
msgid "Attach STDERR" |
|
82 |
msgstr "" |
|
83 |
|
|
84 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:34 |
|
85 |
msgid "Registry" |
|
86 |
msgstr "" |
|
87 |
|
|
88 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:43 |
|
89 |
msgid "Docker container created" |
|
90 |
msgstr "" |
|
91 |
|
|
92 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:44 |
|
93 |
msgid "Could not create the container" |
|
94 |
msgstr "" |
|
95 |
|
|
96 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:50 |
|
97 |
msgid "Docker container deleted" |
|
98 |
msgstr "" |
|
99 |
|
|
100 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:51 |
|
101 |
msgid "Could not delete the container" |
|
102 |
msgstr "" |
|
103 |
|
|
104 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:61 |
|
105 |
msgid "Logs" |
|
106 |
msgstr "" |
|
107 |
|
|
108 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:78 |
|
109 |
msgid "Running" |
|
110 |
msgstr "" |
|
111 |
|
|
112 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:100 |
|
113 |
msgid "Power a container on" |
|
114 |
msgstr "" |
|
115 |
|
|
116 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:101 |
|
117 |
msgid "The container was started." |
|
118 |
msgstr "" |
|
119 |
|
|
120 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:117 |
|
121 |
msgid "Power a container off" |
|
122 |
msgstr "" |
|
123 |
|
|
124 |
#: ../lib/hammer_cli_foreman_docker/docker_container.rb:118 |
|
125 |
msgid "The container was stopped." |
|
126 |
msgstr "" |
|
127 |
|
|
128 |
#: ../lib/hammer_cli_foreman_docker/docker_image.rb:5 |
|
129 |
msgid "Manage docker images" |
|
130 |
msgstr "" |
|
131 |
|
|
132 |
#: ../lib/hammer_cli_foreman_docker/docker_image.rb:9 |
|
133 |
#: ../lib/hammer_cli_foreman_docker/docker_image.rb:21 |
|
134 |
#: ../lib/hammer_cli_foreman_docker/docker_tag.rb:9 |
|
135 |
#: ../lib/hammer_cli_foreman_docker/docker_tag.rb:21 |
|
136 |
msgid "ID" |
|
137 |
msgstr "" |
|
138 |
|
|
139 |
#: ../lib/hammer_cli_foreman_docker/docker_image.rb:10 |
|
140 |
#: ../lib/hammer_cli_foreman_docker/docker_image.rb:22 |
|
141 |
msgid "Image ID" |
|
142 |
msgstr "" |
|
143 |
|
|
144 |
#: ../lib/hammer_cli_foreman_docker/docker_image.rb:11 |
|
145 |
#: ../lib/hammer_cli_foreman_docker/docker_image.rb:23 |
|
146 |
msgid "Size" |
|
147 |
msgstr "" |
|
148 |
|
|
149 |
#: ../lib/hammer_cli_foreman_docker/docker_image.rb:25 |
|
150 |
msgid "Tags" |
|
151 |
msgstr "" |
|
152 |
|
|
153 |
#: ../lib/hammer_cli_foreman_docker/docker_image.rb:26 |
|
154 |
#: ../lib/hammer_cli_foreman_docker/docker_tag.rb:11 |
|
155 |
#: ../lib/hammer_cli_foreman_docker/docker_tag.rb:23 |
|
156 |
msgid "Repository ID" |
|
157 |
msgstr "" |
|
158 |
|
|
159 |
#: ../lib/hammer_cli_foreman_docker/docker_tag.rb:5 |
|
160 |
msgid "Manage docker tags" |
|
161 |
msgstr "" |
|
162 |
|
|
163 |
#: ../lib/hammer_cli_foreman_docker/docker_tag.rb:26 |
|
164 |
msgid "Docker Image ID" |
|
165 |
msgstr "" |
locale/zanata.xml | ||
---|---|---|
1 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
|
2 |
<config xmlns="http://zanata.org/namespace/config/"> |
|
3 |
<url>https://translate.zanata.org/zanata/</url> |
|
4 |
<project>satellite6-hammer_cli_foreman_docker</project> |
|
5 |
<project-version>6.0</project-version> |
|
6 |
<project-type>podir</project-type> |
|
7 |
<locales> |
|
8 |
<locale>fr</locale> |
|
9 |
<locale>it</locale> |
|
10 |
<locale>ja</locale> |
|
11 |
<locale>ko</locale> |
|
12 |
<locale>gu</locale> |
|
13 |
<locale>hi</locale> |
|
14 |
<locale>mr</locale> |
|
15 |
<locale>or</locale> |
|
16 |
<locale>ru</locale> |
|
17 |
<locale>te</locale> |
|
18 |
<locale>pa</locale> |
|
19 |
<locale>kn</locale> |
|
20 |
<locale map-from="de">de-DE</locale> |
|
21 |
<locale map-from="es">es-ES</locale> |
|
22 |
<locale map-from="pt_BR">pt-BR</locale> |
|
23 |
<locale map-from="bn">bn-IN</locale> |
|
24 |
<locale map-from="ta">ta-IN</locale> |
|
25 |
<locale map-from="zh_CN">zh-Hans-CN</locale> |
|
26 |
<locale map-from="zh_TW">zh-Hant-TW</locale> |
|
27 |
</locales> |
|
28 |
</config> |
Also available in: Unified diff
Fixes #9682 - added suport for i18n