n42translation 0.1.1 → 0.1.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ce8725b1932a987f51bba7099ce82a312bb9b821
4
- data.tar.gz: 51a8089a033c2df52d87572f35562d87cfb9add8
3
+ metadata.gz: e70af4ad0c11621e44f9ad9adc1a0f36fa0cb6c4
4
+ data.tar.gz: 15ab09f954d2268539f0156abaeca16b6ff97fc5
5
5
  SHA512:
6
- metadata.gz: bba10b71bb89113f79ec7c4b247083c758fa73cb7ae50a828a19533ec76c908d8afce7ffd11490029508dd279668ecc28fe3c9c02d3a2a40564a13aff85a1ea4
7
- data.tar.gz: 67fe97b54058148d71d9226808de9c9239ba4ff8816c398d4c246cf46d3186bdd29afa6b2308c63f7fbcd58b5876ffd1f028e04e2edfdf4ca0d4bc7f77856e42
6
+ metadata.gz: 39afed9be9e708930a1ccacf2a601e4b04afd54460f7ff45bbdba736047e9b02deb70a8b7da5ab892b438eb28b3bb01223653a5e1a6b549b6ee11c13b50bc66c
7
+ data.tar.gz: aa45a8991a502022a4a2ca194c29d7c2dbb2c7f3b27bb01261b03f8f3153b8381b99b9f8acc693a920b23f30db8f880ee3699b5675fa318c4bc7af263cb85d41
data/.gitignore CHANGED
@@ -4,3 +4,5 @@ locales/csv
4
4
  locales/iOS
5
5
  locales/Rails
6
6
  locales/builds
7
+
8
+ *.gem
@@ -1,15 +1,16 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- n42translation (0.0.9)
5
- activesupport
6
- builder
7
- thor
4
+ n42translation (0.1.2)
5
+ activesupport (~> 4.2)
6
+ builder (~> 3.2)
7
+ thor (~> 0.19)
8
+ write_xlsx (~> 0.83)
8
9
 
9
10
  GEM
10
11
  remote: https://rubygems.org/
11
12
  specs:
12
- activesupport (4.2.1)
13
+ activesupport (4.2.7.1)
13
14
  i18n (~> 0.7)
14
15
  json (~> 1.7, >= 1.7.7)
15
16
  minitest (~> 5.1)
@@ -17,10 +18,10 @@ GEM
17
18
  tzinfo (~> 1.1)
18
19
  builder (3.2.2)
19
20
  i18n (0.7.0)
20
- json (1.8.2)
21
- minitest (5.5.1)
21
+ json (1.8.3)
22
+ minitest (5.9.1)
22
23
  rubyzip (1.1.7)
23
- thor (0.19.1)
24
+ thor (0.19.4)
24
25
  thread_safe (0.3.5)
25
26
  tzinfo (1.2.2)
26
27
  thread_safe (~> 0.1)
@@ -34,6 +35,8 @@ PLATFORMS
34
35
  ruby
35
36
 
36
37
  DEPENDENCIES
37
- bundler (>= 1.0.0)
38
+ bundler (~> 1.6)
38
39
  n42translation!
39
- write_xlsx
40
+
41
+ BUNDLED WITH
42
+ 1.10.6
@@ -211,12 +211,15 @@ module N42translation
211
211
 
212
212
  def build_csv(source_path, project_name, outputfile_path, platforms, default_language)
213
213
  languages = get_languages(project_name)
214
- language_yamls = {}
215
- languages.each do |language|
216
- language_yamls["#{language}"] = platforms.map {|platform| yaml_for_platform_and_lang(source_path, project_name, platform, language) }.reduce({}, :merge)
217
- end
218
214
 
219
- csv_data = N42translation::CSVConvert.createCSV(language_yamls.values.map{|yml| join_hash_keys(yml,'.')}, languages, join_hash_keys(language_yamls[default_language],'.'), default_language)
215
+ language_hashes = languages.map do |language|
216
+ d = platforms.map do |platform|
217
+ join_hash_keys(yaml_for_platform_and_lang(source_path, project_name, platform, language), '.')
218
+ end.reduce({},:merge)
219
+ [language.to_sym, d]
220
+ end.to_h
221
+
222
+ csv_data = N42translation::CSVConvert.createCSV(language_hashes, languages, language_hashes[default_language.to_sym], default_language )
220
223
 
221
224
  filename = File.join(outputfile_path,'csv',"#{project_name}.csv")
222
225
  FileUtils.mkpath(File.dirname(filename))
@@ -225,12 +228,15 @@ module N42translation
225
228
 
226
229
  def build_xlsx(source_path, project_name, outputfile_path, platforms, default_language)
227
230
  languages = get_languages(project_name)
228
- language_yamls = {}
229
- languages.each do |language|
230
- language_yamls["#{language}"] = platforms.map {|platform| yaml_for_platform_and_lang(source_path, project_name, platform, language) }.reduce({}, :merge)
231
- end
232
231
 
233
- csv_data = N42translation::CSVConvert.createCSV(language_yamls.values.map{|yml| join_hash_keys(yml,'.')}, languages, join_hash_keys(language_yamls[default_language],'.'), default_language)
232
+ language_hashes = languages.map do |language|
233
+ d = platforms.map do |platform|
234
+ join_hash_keys(yaml_for_platform_and_lang(source_path, project_name, platform, language), '.')
235
+ end.reduce({},:merge)
236
+ [language.to_sym, d]
237
+ end.to_h
238
+
239
+ csv_data = N42translation::CSVConvert.createCSV(language_hashes, languages, language_hashes[default_language.to_sym], default_language )
234
240
 
235
241
  filename = File.join(outputfile_path,'xlsx',"#{project_name}.xlsx")
236
242
  FileUtils.mkpath(File.dirname(filename))
@@ -9,7 +9,7 @@ module N42translation
9
9
  project_name: n42translation_project
10
10
  languages: de,en
11
11
  targets:
12
- all: ios,android,rails,csv,xlsx
12
+ all: ios,android,rails
13
13
  mobile: ios,android
14
14
  target_build_path_names:
15
15
  android: Android
@@ -2,31 +2,34 @@ require 'yaml'
2
2
 
3
3
  module N42translation
4
4
  class CSVConvert
5
- def self.createCSV(ymls, langs, default_yml, default_language)
5
+ def self.createCSV(language_hashes, langs, default_yml, default_language)
6
6
 
7
- keys = ymls.map{|yml| yml.keys }.flatten.uniq
7
+ keys = language_hashes.dup.map do |lang, lang_hash|
8
+ lang_hash.keys
9
+ end.flatten.uniq
8
10
 
9
11
  rows = []
10
12
  rows << ["key",langs].flatten
11
13
 
12
14
  keys.each do |key|
13
- rows << [key, get_values_from_key(ymls, key, default_yml, default_language)].flatten
15
+ rows << [
16
+ key,
17
+ get_values_from_key(language_hashes, key, default_yml, default_language)
18
+ ].flatten
14
19
  end
15
20
 
16
21
  rows
17
22
  end
18
23
 
19
24
  private
20
- def self.get_values_from_key(ymls, key, default_yml, default_language)
21
- ymls.map do |yml|
22
- val = yml[key.to_s]
23
- if yml[key.to_s].nil?
25
+
26
+ def self.get_values_from_key(language_hashes, key, default_yml, default_language)
27
+ default_language_name = default_language.to_s.upcase
28
+ language_hashes.map do |lang, language_hash|
29
+ val = language_hash[key.to_s]
30
+ if val.nil?
24
31
  default_val = default_yml[key.to_s]
25
- if default_val.nil?
26
- "TODO: "
27
- else
28
- "TODO: #{default_val}(#{default_language.to_s.upcase})"
29
- end
32
+ "TODO: #{default_val.nil? ? '' : "#{default_val}(#{default_language_name})"}"
30
33
  else
31
34
  val
32
35
  end
@@ -1,3 +1,3 @@
1
1
  module N42translation
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: n42translation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wolfgang Lutz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-23 00:00:00.000000000 Z
11
+ date: 2017-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -140,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
140
  version: 1.3.6
141
141
  requirements: []
142
142
  rubyforge_project: n42translation
143
- rubygems_version: 2.4.5.1
143
+ rubygems_version: 2.5.2
144
144
  signing_key:
145
145
  specification_version: 4
146
146
  summary: Translation helper to build translations files from a single source