babelyoda 2.0.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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, old_target_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', old_target_xib_fn,
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
@@ -1,3 +1,3 @@
1
1
  module Babelyoda
2
- VERSION = "2.0.0"
2
+ VERSION = "2.0.1"
3
3
  end
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 has_incremental_resources?(language, scm)
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, File.localized(filename, language)) do |filenames|
69
- Babelyoda::Ibtool.localize_incrementally(filename, File.localized(filename, language), strings_fn, filenames[0], filenames[1])
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 has_incremental_resources?(language, scm)
85
- scm.version_exist?(filename) && scm.version_exist?(File.localized(filename, language))
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.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: &70123403021020 !ruby/object:Gem::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: *70123403021020
27
+ version_requirements: *70248372389060
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: awesome_print
30
- requirement: &70123403019300 !ruby/object:Gem::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: *70123403019300
41
+ version_requirements: *70248372387200
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rake
44
- requirement: &70123403017960 !ruby/object:Gem::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: *70123403017960
55
+ version_requirements: *70248372385200
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: active_support
58
- requirement: &70123402999880 !ruby/object:Gem::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: *70123402999880
69
+ version_requirements: *70248372381080
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rchardet19
72
- requirement: &70123402998780 !ruby/object:Gem::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: *70123402998780
83
+ version_requirements: *70248372378460
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: builder
86
- requirement: &70123402997800 !ruby/object:Gem::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: *70123402997800
97
+ version_requirements: *70248372376260
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: nokogiri
100
- requirement: &70123402996700 !ruby/object:Gem::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: *70123402996700
111
+ version_requirements: *70248372375060
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: term-ansicolor
114
- requirement: &70123402995660 !ruby/object:Gem::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: *70123402995660
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