translation 1.8.4 → 1.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/translation_io/client/base_operation/dump_markup_gettext_keys_step.rb +21 -0
- data/lib/translation_io/client/init_operation.rb +9 -0
- data/lib/translation_io/client/sync_operation.rb +9 -0
- data/lib/translation_io/client/sync_operation/apply_yaml_source_edits_step.rb +16 -3
- data/lib/translation_io/config.rb +1 -1
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4c393ed07bd2bf4db910f2b89540920d86da3244
|
4
|
+
data.tar.gz: f82f7acf41fb97eccdc42eca985b6ae2b2724d21
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 32fd1caaa72d9de52a640323cd3337609fa09d92044f2cd4747203d272b50010afde2ee97547b606f86f94c0c8d6a2b192834efc8f18822cbdf19cb3d41b7479
|
7
|
+
data.tar.gz: d1bd9c545975c64e8095ed7b484c2776891f61a7fd48de357b6bcde257c5444e865372ce22ff6b616d999ef9b9f5a4d660616f38dac3cadb8fd210f96958f7bc
|
@@ -21,12 +21,29 @@ module TranslationIO
|
|
21
21
|
file.puts " #{entry}"
|
22
22
|
file.puts "end"
|
23
23
|
end
|
24
|
+
|
25
|
+
# can happen sometimes if gettext parsing is wrong
|
26
|
+
if ruby_cmd_available?
|
27
|
+
remove_file_if_syntax_invalid(file_path, entry)
|
28
|
+
end
|
24
29
|
end
|
25
30
|
end
|
26
31
|
end
|
27
32
|
|
28
33
|
protected
|
29
34
|
|
35
|
+
def remove_file_if_syntax_invalid(file_path, entry)
|
36
|
+
if `ruby -c #{file_path} 2>/dev/null`.empty? # returns 'Syntax OK' if syntax valid
|
37
|
+
TranslationIO.info ""
|
38
|
+
TranslationIO.info "Warning - #{@markup_type.to_s.upcase} Gettext parsing failed: #{entry}"
|
39
|
+
TranslationIO.info " This entry will be ignored until you fix it. Please note that"
|
40
|
+
TranslationIO.info " this warning can sometimes be caused by complex interpolated strings."
|
41
|
+
TranslationIO.info ""
|
42
|
+
|
43
|
+
FileUtils.rm(file_path)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
30
47
|
def extracted_gettext_entries
|
31
48
|
entries = []
|
32
49
|
|
@@ -41,6 +58,10 @@ module TranslationIO
|
|
41
58
|
|
42
59
|
entries
|
43
60
|
end
|
61
|
+
|
62
|
+
def ruby_cmd_available?
|
63
|
+
@ruby_cmd_available ||= `which ruby`.strip.length > 0
|
64
|
+
end
|
44
65
|
end
|
45
66
|
end
|
46
67
|
end
|
@@ -46,6 +46,7 @@ module TranslationIO
|
|
46
46
|
BaseOperation::CreateNewMoFilesStep.new(locales_path).run
|
47
47
|
|
48
48
|
info_yaml_directory_structure
|
49
|
+
info_project_url(parsed_response)
|
49
50
|
end
|
50
51
|
|
51
52
|
cleanup
|
@@ -99,6 +100,14 @@ module TranslationIO
|
|
99
100
|
puts "please check this article: https://translation.io/blog/dealing-with-yaml-files-and-their-directory-structure"
|
100
101
|
puts "----------"
|
101
102
|
end
|
103
|
+
|
104
|
+
def info_project_url(parsed_response)
|
105
|
+
puts
|
106
|
+
puts "----------"
|
107
|
+
puts "Use this URL to translate: #{parsed_response['project_url']}"
|
108
|
+
puts "Then use 'rake translation:sync' to send new keys to Translation.io and get new translations into your project."
|
109
|
+
puts "----------"
|
110
|
+
end
|
102
111
|
end
|
103
112
|
end
|
104
113
|
end
|
@@ -39,10 +39,19 @@ module TranslationIO
|
|
39
39
|
BaseOperation::CreateNewMoFilesStep.new(locales_path).run
|
40
40
|
BaseOperation::SaveNewYamlFilesStep.new(target_locales, yaml_locales_path, parsed_response).run
|
41
41
|
BaseOperation::SaveSpecialYamlFilesStep.new(source_locale, target_locales, yaml_locales_path, yaml_file_paths).run
|
42
|
+
|
43
|
+
info_project_url(parsed_response)
|
42
44
|
end
|
43
45
|
|
44
46
|
cleanup
|
45
47
|
end
|
48
|
+
|
49
|
+
def info_project_url(parsed_response)
|
50
|
+
puts
|
51
|
+
puts "----------"
|
52
|
+
puts "Use this URL to translate: #{parsed_response['project_url']}"
|
53
|
+
puts "----------"
|
54
|
+
end
|
46
55
|
end
|
47
56
|
end
|
48
57
|
end
|
@@ -10,9 +10,7 @@ module TranslationIO
|
|
10
10
|
def run(params)
|
11
11
|
TranslationIO.info "Downloading YAML source editions."
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
params.merge!({ :timestamp => timestamp })
|
13
|
+
params.merge!({ :timestamp => metadata_timestamp })
|
16
14
|
parsed_response = perform_source_edits_request(params)
|
17
15
|
|
18
16
|
unless parsed_response.nil?
|
@@ -74,6 +72,21 @@ module TranslationIO
|
|
74
72
|
|
75
73
|
private
|
76
74
|
|
75
|
+
def metadata_timestamp
|
76
|
+
if File.exist?(TranslationIO.config.metadata_path)
|
77
|
+
metadata_content = File.read(TranslationIO.config.metadata_path)
|
78
|
+
|
79
|
+
if metadata_content.include?('>>>>') || metadata_content.include?('<<<<')
|
80
|
+
TranslationIO.info "[Error] #{TranslationIO.config.metadata_path} file is corrupted and seems to have unresolved versioning conflicts. Please resolve them and try again."
|
81
|
+
exit
|
82
|
+
else
|
83
|
+
return YAML::load(metadata_content)['timestamp'] rescue 0
|
84
|
+
end
|
85
|
+
else
|
86
|
+
return 0
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
77
90
|
def perform_source_edits_request(params)
|
78
91
|
uri = URI("#{TranslationIO.client.endpoint}/projects/#{TranslationIO.client.api_key}/source_edits")
|
79
92
|
parsed_response = BaseOperation.perform_request(uri, params)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: translation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: '1.9'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aurelien Malisart
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2017-02-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: gettext
|
@@ -68,7 +68,7 @@ dependencies:
|
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '4.1'
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
|
-
name:
|
71
|
+
name: simplecov
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
74
|
- - ">="
|
@@ -81,6 +81,20 @@ dependencies:
|
|
81
81
|
- - ">="
|
82
82
|
- !ruby/object:Gem::Version
|
83
83
|
version: '0'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: codeclimate-test-reporter
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - "~>"
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: 1.0.0
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - "~>"
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: 1.0.0
|
84
98
|
description: Rails translation made _("simple") with YAML and GetText. Localize your
|
85
99
|
app using either t(".keys") or _("free text") and type "rake translation:sync" to
|
86
100
|
synchronize with your translators.
|