i18n-one_sky 0.0.1 → 0.0.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.
- data/Gemfile.lock +3 -3
- data/i18n-one_sky.gemspec +1 -1
- data/lib/i18n-one_sky/simple_client.rb +8 -7
- data/lib/i18n-one_sky/version.rb +1 -1
- data/spec/simple_client_spec.rb +1 -1
- metadata +5 -5
data/Gemfile.lock
CHANGED
@@ -3,7 +3,7 @@ PATH
|
|
3
3
|
specs:
|
4
4
|
i18n-one_sky (0.0.1)
|
5
5
|
i18n (~> 0.5.0)
|
6
|
-
one_sky (~> 0.0.
|
6
|
+
one_sky (~> 0.0.2)
|
7
7
|
thor (~> 0.14.4)
|
8
8
|
|
9
9
|
GEM
|
@@ -13,7 +13,7 @@ GEM
|
|
13
13
|
i18n (0.5.0)
|
14
14
|
json (1.4.6)
|
15
15
|
mime-types (1.16)
|
16
|
-
one_sky (0.0.
|
16
|
+
one_sky (0.0.2)
|
17
17
|
json (~> 1.4.6)
|
18
18
|
rest-client (~> 1.6.1)
|
19
19
|
rest-client (1.6.1)
|
@@ -35,6 +35,6 @@ DEPENDENCIES
|
|
35
35
|
bundler (~> 1.0.0)
|
36
36
|
i18n (~> 0.5.0)
|
37
37
|
i18n-one_sky!
|
38
|
-
one_sky (~> 0.0.
|
38
|
+
one_sky (~> 0.0.2)
|
39
39
|
rspec (~> 2.2.0)
|
40
40
|
thor (~> 0.14.4)
|
data/i18n-one_sky.gemspec
CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.rubyforge_project = "i18n-one_sky"
|
16
16
|
|
17
17
|
s.add_dependency "i18n", "~> 0.5.0"
|
18
|
-
s.add_dependency "one_sky", "~> 0.0.
|
18
|
+
s.add_dependency "one_sky", "~> 0.0.2"
|
19
19
|
s.add_dependency "thor", "~> 0.14.4"
|
20
20
|
|
21
21
|
s.add_development_dependency "rspec", "~> 2.2.0"
|
@@ -21,7 +21,8 @@ module I18n
|
|
21
21
|
def initialize(options = {})
|
22
22
|
options = default_options.merge!(options)
|
23
23
|
@project = ::OneSky::Project.new(options[:api_key], options[:api_secret], options[:project])
|
24
|
-
|
24
|
+
#@one_sky_locale = @project.details["base_locale"].gsub('_', '-')
|
25
|
+
@one_sky_locale = @project.details["base_locale"]
|
25
26
|
check_default_locales_match
|
26
27
|
@one_sky_languages = @project.languages
|
27
28
|
end
|
@@ -64,7 +65,7 @@ module I18n
|
|
64
65
|
|
65
66
|
# When your translators are done, call this method to download all available translations and save them as Simple backend *.yml files.
|
66
67
|
# Outside of Rails, manually supply the path where downloaded files should be saved.
|
67
|
-
def download_translations(path=nil)
|
68
|
+
def download_translations(path=nil, download_base_locale=false)
|
68
69
|
if defined? Rails
|
69
70
|
path ||= [Rails.root.to_s, "config", "locales"].join("/")
|
70
71
|
else
|
@@ -88,7 +89,7 @@ module I18n
|
|
88
89
|
File.delete(*Dir.glob("#{path}/*_one_sky.yml"))
|
89
90
|
|
90
91
|
# Process each locale and save to file
|
91
|
-
@translations.map { |k,v| save_locale(k, v, "#{path}/#{k}_one_sky.yml") unless k.to_s == @one_sky_locale }
|
92
|
+
@translations.map { |k,v| save_locale(k, v, "#{path}/#{k}_one_sky.yml") unless (k.to_s == @one_sky_locale and !download_base_locale)}
|
92
93
|
end
|
93
94
|
|
94
95
|
protected
|
@@ -101,13 +102,13 @@ module I18n
|
|
101
102
|
parts.each_with_index { |segment,i| node[segment]; i == parts.size - 1 ? node[segment] = v : node = node[segment] }
|
102
103
|
end
|
103
104
|
|
104
|
-
lang = @one_sky_languages.find { |e| e["
|
105
|
+
lang = @one_sky_languages.find { |e| e["locale"] == lang_code }
|
105
106
|
|
106
107
|
File.open(filename, 'w') do |f|
|
107
108
|
f.puts "# PLEASE DO NOT EDIT THIS FILE."
|
108
109
|
f.puts "# This was downloaded from OneSky. Log in to your OneSky account to manage translations on their website."
|
109
|
-
f.puts "# Language code: #{lang['
|
110
|
-
f.puts "# Language name: #{lang['
|
110
|
+
f.puts "# Language code: #{lang['locale']}"
|
111
|
+
f.puts "# Language name: #{lang['local_name']}"
|
111
112
|
f.puts "# Language English name: #{lang['eng_name']}"
|
112
113
|
f.print(nested.to_yaml)
|
113
114
|
end
|
@@ -124,7 +125,7 @@ module I18n
|
|
124
125
|
|
125
126
|
def check_default_locales_match
|
126
127
|
# Special case: i18n "en" is "en-us".
|
127
|
-
i18n_default_locale = I18n.default_locale == :en ? "
|
128
|
+
i18n_default_locale = I18n.default_locale == :en ? "en_us" : I18n.default_locale.to_s.downcase
|
128
129
|
raise DefaultLocaleMismatchError, "I18n and OneSky have different default locale settings. #{I18n.default_locale.to_s} <> #{@one_sky_locale}" if i18n_default_locale != @one_sky_locale.downcase
|
129
130
|
end
|
130
131
|
end
|
data/lib/i18n-one_sky/version.rb
CHANGED
data/spec/simple_client_spec.rb
CHANGED
@@ -50,7 +50,7 @@ describe "SimpleClient" do
|
|
50
50
|
describe "#download_translations" do
|
51
51
|
path = [File.dirname(__FILE__), 'data'].join('/')
|
52
52
|
it "saves translation files." do
|
53
|
-
@client.download_translations(path).should be_a_kind_of Array
|
53
|
+
@client.download_translations(path, true).should be_a_kind_of Array
|
54
54
|
Dir.glob("#{path}/*_one_sky.yml").size.should >= 1
|
55
55
|
end
|
56
56
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 2
|
9
|
+
version: 0.0.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Junjun Olympia
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-
|
17
|
+
date: 2011-02-27 00:00:00 +08:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -43,8 +43,8 @@ dependencies:
|
|
43
43
|
segments:
|
44
44
|
- 0
|
45
45
|
- 0
|
46
|
-
-
|
47
|
-
version: 0.0.
|
46
|
+
- 2
|
47
|
+
version: 0.0.2
|
48
48
|
type: :runtime
|
49
49
|
version_requirements: *id002
|
50
50
|
- !ruby/object:Gem::Dependency
|