babelyoda 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/babelyoda/ibtool.rb +3 -3
- data/lib/babelyoda/version.rb +1 -1
- data/lib/babelyoda/xib.rb +7 -6
- data/lib/babelyoda.rb +27 -8
- metadata +23 -17
data/lib/babelyoda/ibtool.rb
CHANGED
@@ -24,7 +24,7 @@ module Babelyoda
|
|
24
24
|
$logger.error "IBTOOL ERROR: #{ncmd}" unless rc
|
25
25
|
end
|
26
26
|
|
27
|
-
def self.localize_incrementally(source_xib_fn, target_xib_fn, strings_fn, old_source_xib_fn
|
27
|
+
def self.localize_incrementally(source_xib_fn, target_xib_fn, strings_fn, old_source_xib_fn)
|
28
28
|
# ibtool
|
29
29
|
# --previous-file path_to_project/English.lproj/MainWindow.old.xib # The old English XIB
|
30
30
|
# --incremental-file path_to_project/fr.lproj/MainWindow.old.xib # The old French XIB
|
@@ -33,14 +33,14 @@ module Babelyoda
|
|
33
33
|
# --write path_to_project/fr.lproj/MainWindow.xib # The new French XIB that will be created
|
34
34
|
# path_to_project/English.lproj/MainWindow.new.xib # The new English XIB
|
35
35
|
|
36
|
-
ncmd = ['ibtool', '--previous-file', old_source_xib_fn, '--incremental-file',
|
36
|
+
ncmd = ['ibtool', '--previous-file', old_source_xib_fn, '--incremental-file', target_xib_fn,
|
37
37
|
'--strings-file', strings_fn, '--localize-incremental', '--write', target_xib_fn, source_xib_fn]
|
38
38
|
rc = Kernel.system(*ncmd)
|
39
39
|
$logger.error "IBTOOL ERROR: #{ncmd}" unless rc
|
40
40
|
end
|
41
41
|
|
42
42
|
def self.import_strings(filename, strings_filename)
|
43
|
-
ncmd = ['ibtool', '--import-strings-file', strings_filename, filename]
|
43
|
+
ncmd = ['ibtool', '--import-strings-file', strings_filename, '--write', filename, filename]
|
44
44
|
rc = Kernel.system(*ncmd)
|
45
45
|
$logger.error "IBTOOL ERROR: #{ncmd}" unless rc
|
46
46
|
end
|
data/lib/babelyoda/version.rb
CHANGED
data/lib/babelyoda/xib.rb
CHANGED
@@ -58,15 +58,15 @@ module Babelyoda
|
|
58
58
|
|
59
59
|
def localize_incremental(language, scm)
|
60
60
|
assert_localization_target(language)
|
61
|
-
unless
|
61
|
+
unless localizable_incrementally?(scm, language)
|
62
62
|
localize(language, scm)
|
63
63
|
else
|
64
64
|
puts "Incrementally localizing #{filename} => #{File.localized(filename, language)}..."
|
65
65
|
strings_fn = strings_filename(language)
|
66
66
|
$logger.error "No strings file found: #{strings_fn}" unless File.exist?(strings_fn)
|
67
67
|
|
68
|
-
scm.fetch_versions!(filename
|
69
|
-
Babelyoda::Ibtool.localize_incrementally(filename, File.localized(filename, language), strings_fn, filenames[0]
|
68
|
+
scm.fetch_versions!(filename) do |filenames|
|
69
|
+
Babelyoda::Ibtool.localize_incrementally(filename, File.localized(filename, language), strings_fn, filenames[0])
|
70
70
|
end
|
71
71
|
end
|
72
72
|
end
|
@@ -76,13 +76,14 @@ module Babelyoda
|
|
76
76
|
end
|
77
77
|
|
78
78
|
def import_strings(scm)
|
79
|
+
puts "Importing #{strings_filename} => #{filename}"
|
79
80
|
Babelyoda::Ibtool.import_strings(filename, strings_filename)
|
80
81
|
end
|
81
82
|
|
82
83
|
private
|
83
|
-
|
84
|
-
def
|
85
|
-
scm.version_exist?(filename) &&
|
84
|
+
|
85
|
+
def localizable_incrementally?(scm, language)
|
86
|
+
scm.version_exist?(filename) && File.exist?(File.localized(filename, language))
|
86
87
|
end
|
87
88
|
|
88
89
|
def assert_localization_target(language)
|
data/lib/babelyoda.rb
CHANGED
@@ -34,7 +34,7 @@ namespace :babelyoda do
|
|
34
34
|
puts "Extracting strings from sources..."
|
35
35
|
dev_lang = spec.development_language
|
36
36
|
|
37
|
-
spec.scm.transaction("Extract strings from sources") do
|
37
|
+
spec.scm.transaction("[Babelyoda] Extract strings from sources") do
|
38
38
|
Babelyoda::Genstrings.run(spec.source_files, dev_lang) do |keyset|
|
39
39
|
old_strings_filename = strings_filename(keyset.name, dev_lang)
|
40
40
|
old_strings = Babelyoda::Strings.new(old_strings_filename, dev_lang).read
|
@@ -48,7 +48,7 @@ namespace :babelyoda do
|
|
48
48
|
desc "Extract strings from XIBs"
|
49
49
|
task :extract_xib_strings do
|
50
50
|
puts "Extracting .strings from XIBs..."
|
51
|
-
spec.scm.transaction("Extract strings from XIBs") do
|
51
|
+
spec.scm.transaction("[Babelyoda] Extract strings from XIBs") do
|
52
52
|
spec.xib_files.each do |xib_filename|
|
53
53
|
xib = Babelyoda::Xib.new(xib_filename, spec.development_language)
|
54
54
|
next unless xib.extractable?(spec.development_language)
|
@@ -118,7 +118,7 @@ namespace :babelyoda do
|
|
118
118
|
desc "Fetches remote strings and merges them down into local .string files"
|
119
119
|
task :fetch_strings do
|
120
120
|
puts "Fetching remote translations..."
|
121
|
-
spec.scm.transaction("Merge in remote translations") do
|
121
|
+
spec.scm.transaction("[Babelyoda] Merge in remote translations") do
|
122
122
|
spec.strings_files.each do |filename|
|
123
123
|
keyset_name = Babelyoda::Keyset.keyset_name(filename)
|
124
124
|
remote_keyset = spec.engine.load_keyset(keyset_name, nil, :unapproved, true)
|
@@ -136,7 +136,7 @@ namespace :babelyoda do
|
|
136
136
|
task :localize_xibs do
|
137
137
|
puts "Translating XIB files..."
|
138
138
|
|
139
|
-
spec.scm.transaction("Localize XIB files") do
|
139
|
+
spec.scm.transaction("[Babelyoda] Localize XIB files") do
|
140
140
|
spec.xib_files.each do |filename|
|
141
141
|
xib = Babelyoda::Xib.new(filename, spec.development_language)
|
142
142
|
|
@@ -147,12 +147,9 @@ namespace :babelyoda do
|
|
147
147
|
end
|
148
148
|
end
|
149
149
|
|
150
|
-
spec.scm.transaction("Update XIB SHA1 version refs") do
|
150
|
+
spec.scm.transaction("[Babelyoda] Update XIB SHA1 version refs") do
|
151
151
|
spec.xib_files.each do |filename|
|
152
152
|
spec.scm.store_version!(filename)
|
153
|
-
spec.localization_languages.each do |language|
|
154
|
-
spec.scm.store_version!(File.localized(filename, language))
|
155
|
-
end
|
156
153
|
end
|
157
154
|
end
|
158
155
|
end
|
@@ -161,6 +158,28 @@ namespace :babelyoda do
|
|
161
158
|
task :pull => [:fetch_strings, :localize_xibs] do
|
162
159
|
end
|
163
160
|
|
161
|
+
# desc "Verifies all local translations are present"
|
162
|
+
# task :verify do
|
163
|
+
# combined_keyset = Babelyoda::Keyset.new('babelyoda.verify')
|
164
|
+
# spec.strings_files.each do |filename|
|
165
|
+
# dev_lang_strings = Babelyoda::Strings.new(filename, spec.development_language).read
|
166
|
+
# combined_keyset.merge!(dev_lang_strings)
|
167
|
+
# spec.localization_languages.each do |language|
|
168
|
+
# lang_strings = Babelyoda::Strings.new(filename, language).read
|
169
|
+
# combined_keyset.merge!(lang_strings)
|
170
|
+
# end
|
171
|
+
# end
|
172
|
+
# puts "TOTAL KEYS: #{combined_keyset}"
|
173
|
+
# missing = {}
|
174
|
+
# spec.localization_languages.each do |language|
|
175
|
+
# missing[language] = Babelyoda::Keyset.new('babelyoda.verify.' + language)
|
176
|
+
# end
|
177
|
+
# puts "MISSING KEYS:"
|
178
|
+
# spec.localization_languages.each do |language|
|
179
|
+
# puts " #{language}: #{missing}"
|
180
|
+
# end
|
181
|
+
# end
|
182
|
+
|
164
183
|
namespace :remote do
|
165
184
|
|
166
185
|
desc "List remote keysets"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: babelyoda
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-01-19 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &70248372389060 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -24,10 +24,10 @@ dependencies:
|
|
24
24
|
version: 2.8.0
|
25
25
|
type: :development
|
26
26
|
prerelease: false
|
27
|
-
version_requirements: *
|
27
|
+
version_requirements: *70248372389060
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: awesome_print
|
30
|
-
requirement: &
|
30
|
+
requirement: &70248372387200 !ruby/object:Gem::Requirement
|
31
31
|
none: false
|
32
32
|
requirements:
|
33
33
|
- - ~>
|
@@ -38,10 +38,10 @@ dependencies:
|
|
38
38
|
version: 1.0.2
|
39
39
|
type: :runtime
|
40
40
|
prerelease: false
|
41
|
-
version_requirements: *
|
41
|
+
version_requirements: *70248372387200
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: rake
|
44
|
-
requirement: &
|
44
|
+
requirement: &70248372385200 !ruby/object:Gem::Requirement
|
45
45
|
none: false
|
46
46
|
requirements:
|
47
47
|
- - ~>
|
@@ -52,10 +52,10 @@ dependencies:
|
|
52
52
|
version: 0.9.2.2
|
53
53
|
type: :runtime
|
54
54
|
prerelease: false
|
55
|
-
version_requirements: *
|
55
|
+
version_requirements: *70248372385200
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: active_support
|
58
|
-
requirement: &
|
58
|
+
requirement: &70248372381080 !ruby/object:Gem::Requirement
|
59
59
|
none: false
|
60
60
|
requirements:
|
61
61
|
- - ~>
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: 3.0.0
|
67
67
|
type: :runtime
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *70248372381080
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: rchardet19
|
72
|
-
requirement: &
|
72
|
+
requirement: &70248372378460 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ~>
|
@@ -80,10 +80,10 @@ dependencies:
|
|
80
80
|
version: 1.3.5
|
81
81
|
type: :runtime
|
82
82
|
prerelease: false
|
83
|
-
version_requirements: *
|
83
|
+
version_requirements: *70248372378460
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
85
|
name: builder
|
86
|
-
requirement: &
|
86
|
+
requirement: &70248372376260 !ruby/object:Gem::Requirement
|
87
87
|
none: false
|
88
88
|
requirements:
|
89
89
|
- - ~>
|
@@ -94,10 +94,10 @@ dependencies:
|
|
94
94
|
version: 3.0.0
|
95
95
|
type: :runtime
|
96
96
|
prerelease: false
|
97
|
-
version_requirements: *
|
97
|
+
version_requirements: *70248372376260
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
99
|
name: nokogiri
|
100
|
-
requirement: &
|
100
|
+
requirement: &70248372375060 !ruby/object:Gem::Requirement
|
101
101
|
none: false
|
102
102
|
requirements:
|
103
103
|
- - ~>
|
@@ -108,10 +108,10 @@ dependencies:
|
|
108
108
|
version: 1.5.0
|
109
109
|
type: :runtime
|
110
110
|
prerelease: false
|
111
|
-
version_requirements: *
|
111
|
+
version_requirements: *70248372375060
|
112
112
|
- !ruby/object:Gem::Dependency
|
113
113
|
name: term-ansicolor
|
114
|
-
requirement: &
|
114
|
+
requirement: &70248372373400 !ruby/object:Gem::Requirement
|
115
115
|
none: false
|
116
116
|
requirements:
|
117
117
|
- - ~>
|
@@ -122,7 +122,7 @@ dependencies:
|
|
122
122
|
version: 1.0.7
|
123
123
|
type: :runtime
|
124
124
|
prerelease: false
|
125
|
-
version_requirements: *
|
125
|
+
version_requirements: *70248372373400
|
126
126
|
description: A simple utility to push/pull l10n resources of an Xcode project to/from
|
127
127
|
the translators
|
128
128
|
email:
|
@@ -170,12 +170,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
170
170
|
- - ! '>='
|
171
171
|
- !ruby/object:Gem::Version
|
172
172
|
version: '0'
|
173
|
+
segments:
|
174
|
+
- 0
|
175
|
+
hash: -4332337468175115437
|
173
176
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
174
177
|
none: false
|
175
178
|
requirements:
|
176
179
|
- - ! '>='
|
177
180
|
- !ruby/object:Gem::Version
|
178
181
|
version: '0'
|
182
|
+
segments:
|
183
|
+
- 0
|
184
|
+
hash: -4332337468175115437
|
179
185
|
requirements: []
|
180
186
|
rubyforge_project: babelyoda
|
181
187
|
rubygems_version: 1.8.10
|