crowdin-cli 0.0.15 → 0.0.16
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/crowdin-cli +24 -11
- data/lib/crowdin-cli/version.rb +1 -1
- metadata +2 -2
data/bin/crowdin-cli
CHANGED
@@ -56,7 +56,7 @@ def export_pattern_to_path(path, export_pattern, lang, languages_mapping = nil)
|
|
56
56
|
pattern = {
|
57
57
|
'%language%' => lang['name'],
|
58
58
|
'%two_letters_code%' => lang['iso_639_1'],
|
59
|
-
'%
|
59
|
+
'%three_letters_code%' => lang['iso_639_3'],
|
60
60
|
'%locale%' => lang['locale'],
|
61
61
|
'%locale_with_underscore%' => lang['locale'].gsub('-', '_'),
|
62
62
|
'%android_code%' => android_locale_code(lang['locale']),
|
@@ -92,7 +92,7 @@ def get_invalid_placeholders(export_pattern)
|
|
92
92
|
valid_placeholders = [
|
93
93
|
'%language%',
|
94
94
|
'%two_letters_code%',
|
95
|
-
'%
|
95
|
+
'%three_letters_code%',
|
96
96
|
'%locale%',
|
97
97
|
'%locale_with_underscore%',
|
98
98
|
'%android_code%',
|
@@ -124,15 +124,27 @@ def unzip_file(zip, dest, files_list)
|
|
124
124
|
# overwrite files if they already exist inside of the extracted path
|
125
125
|
Zip.options[:on_exists_proc] = true
|
126
126
|
|
127
|
+
unmatched_files = []
|
128
|
+
|
127
129
|
Zip::ZipFile.open(zip) do |zip_file|
|
128
|
-
zip_file.select{|f| f.file?}.each do |f|
|
130
|
+
zip_file.select{ |f| f.file? }.each do |f|
|
129
131
|
file = files_list[f.name]
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
132
|
+
if file
|
133
|
+
f_path = File.join(dest, file)
|
134
|
+
FileUtils.mkdir_p(File.dirname(f_path))
|
135
|
+
puts "Download: #{file}"
|
136
|
+
zip_file.extract(f, f_path)
|
137
|
+
else
|
138
|
+
unmatched_files << f
|
139
|
+
end
|
134
140
|
end
|
135
141
|
end
|
142
|
+
|
143
|
+
unless unmatched_files.empty?
|
144
|
+
puts "Warning: Downloaded translations does not match current project configuration. Some of the resulted files will be omitted."
|
145
|
+
unmatched_files.each{ |file| puts " - `#{file}'" }
|
146
|
+
puts "Crowdin has internal caching mechanisms that prevents us from overload. Please try to download translations later."
|
147
|
+
end
|
136
148
|
end
|
137
149
|
|
138
150
|
###
|
@@ -408,7 +420,7 @@ command :download do |c|
|
|
408
420
|
dest = file['source'].sub("#{@base_path}", '')
|
409
421
|
|
410
422
|
translation_languages.each do |lang|
|
411
|
-
|
423
|
+
zipped_file = export_pattern_to_path(dest, file['translation'], lang)
|
412
424
|
local_file = export_pattern_to_path(dest, file['translation'], lang, languages_mapping)
|
413
425
|
|
414
426
|
downloadable_files[zipped_file] = local_file
|
@@ -435,9 +447,10 @@ command :download do |c|
|
|
435
447
|
|
436
448
|
##
|
437
449
|
file = Tempfile.new(language)
|
450
|
+
path = file.path
|
438
451
|
begin
|
439
|
-
@crowdin.download_translation(language, :output =>
|
440
|
-
unzip_file(
|
452
|
+
@crowdin.download_translation(language, :output => path)
|
453
|
+
unzip_file(path, @base_path, downloadable_files)
|
441
454
|
ensure
|
442
455
|
file.close
|
443
456
|
file.unlink # delete the temp file
|
@@ -476,7 +489,7 @@ EOS
|
|
476
489
|
|
477
490
|
else
|
478
491
|
exit_now! <<EOS
|
479
|
-
Can't find configuration file (default `crowdin.
|
492
|
+
Can't find configuration file (default `crowdin.yaml').
|
480
493
|
Type `crowdin-cli help` to know how to specify custom configuration file
|
481
494
|
|
482
495
|
See http://crowdin.net/page/cli-client#configuration-file for more details
|
data/lib/crowdin-cli/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crowdin-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.16
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-10-
|
12
|
+
date: 2012-10-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|