crowdin-cli 0.0.2 → 0.0.3

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/bin/crowdin-cli CHANGED
@@ -7,16 +7,7 @@ require 'zip/zip'
7
7
  require 'crowdin-api'
8
8
  require 'crowdin-cli'
9
9
 
10
- #begin # XXX: Remove this begin/rescue before distributing your app
11
- #require 'crowdin-cli'
12
- #rescue LoadError
13
- # STDERR.puts "In development, you need to use `bundle exec bin/crowdin-cli` to run your app"
14
- # STDERR.puts "At install-time, RubyGems will make sure lib, etc. are in the load path"
15
- # STDERR.puts "Feel free to remove this message from bin/crowdin-cli now"
16
- # exit 64
17
- #end
18
-
19
- # Ця хуїта повертає структуру директорій на сервері
10
+ # повертає структуру директорій на сервері
20
11
  #
21
12
  def walk_remote_tree(files, root = '/', result = { dirs: [], files: [] })
22
13
  files.each do |node|
@@ -33,7 +24,6 @@ def walk_remote_tree(files, root = '/', result = { dirs: [], files: [] })
33
24
  end
34
25
 
35
26
 
36
- # Хуйня... хулі
37
27
  # Повертає локальну структуру директорій
38
28
  # На вході масив файлів, наприклад:
39
29
  # ['/path/to/admin/en.xml', '/path/to/user/settings/strings.xml']
@@ -69,6 +59,16 @@ def unzip_file(file, dest)
69
59
  end
70
60
  end
71
61
 
62
+ def android_locale_code(locale_code)
63
+ locale_code = case locale_code
64
+ when 'he-IL' then 'iw-IL'
65
+ when 'yi-DE' then 'ji-DE'
66
+ when 'id-ID' then 'in-ID'
67
+ else locale_code
68
+ end
69
+ return locale_code.sub('-', '-r')
70
+ end
71
+
72
72
 
73
73
  ###
74
74
  include GLI::App
@@ -109,10 +109,6 @@ command :upload do |c|
109
109
  c.desc 'Upload source files'
110
110
  c.command :sources do |c|
111
111
  c.action do |global_options, options, args|
112
-
113
- c.desc 'defines whether to add files if there is the same file previously added'
114
- c.switch [:upload_duplicates]
115
-
116
112
  project_info = @crowdin.project_info(:json)
117
113
  project_info = JSON.parse(project_info)
118
114
 
@@ -145,14 +141,12 @@ command :upload do |c|
145
141
  # Update existing files in Crowdin project
146
142
  #
147
143
  # array containing elements common to the two arrays
148
- if options[:upload_dublicates]
149
- update_files = local_project_tree[:files] & remote_project_tree[:files]
150
- files_for_upload = local_files.select{ |file| update_files.include?(file[:dest]) }
151
- files_for_upload.map{ |file| file.keep_if{ |k, v| [:source, :dest].include?(k) } }
152
- files_for_upload.each do |file|
153
- puts "Update file `#{file[:dest]}`"
154
- @crowdin.update_file([] << file)
155
- end
144
+ update_files = local_project_tree[:files] & remote_project_tree[:files]
145
+ files_for_upload = local_files.select{ |file| update_files.include?(file[:dest]) }
146
+ files_for_upload.map{ |file| file.keep_if{ |k, v| [:source, :dest].include?(k) } }
147
+ files_for_upload.each do |file|
148
+ puts "Update file `#{file[:dest]}`"
149
+ @crowdin.update_file([] << file)
156
150
  end
157
151
 
158
152
  # Add new files to Crowdin project
@@ -236,7 +230,7 @@ command :upload do |c|
236
230
  '%locale%' => lang['locale'],
237
231
  '%locale_with_underscore%' => lang['locale'].gsub('-', '_'),
238
232
  '%original_file_name%' => original_file_name,
239
- '%android_code%' => 'values-',
233
+ '%android_code%' => android_locale_code(lang['locale']),
240
234
  '%original_path%' => original_path,
241
235
  '%file_extension%' => file_extension,
242
236
  '%file_name%' => file_extension,
@@ -279,6 +273,9 @@ command :download do |c|
279
273
  c.flag :l, :language, :default_value => 'all'
280
274
 
281
275
  c.action do |global_options ,options, args|
276
+ # use export API method before to download the most recent translations
277
+ @crowdin.export_translations
278
+
282
279
  language = options[:language]
283
280
 
284
281
  file = Tempfile.new(language)
@@ -1,5 +1,5 @@
1
1
  module Crowdin
2
2
  module CLI
3
- VERSION = '0.0.2'
3
+ VERSION = '0.0.3'
4
4
  end
5
5
  end
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.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -98,7 +98,7 @@ dependencies:
98
98
  requirements:
99
99
  - - '='
100
100
  - !ruby/object:Gem::Version
101
- version: 0.0.2
101
+ version: 0.0.3
102
102
  type: :runtime
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
@@ -106,7 +106,7 @@ dependencies:
106
106
  requirements:
107
107
  - - '='
108
108
  - !ruby/object:Gem::Version
109
- version: 0.0.2
109
+ version: 0.0.3
110
110
  description:
111
111
  email: anton.linux@gmail.com
112
112
  executables: