idiom 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/VERSION +1 -1
- data/bin/idiom +8 -0
- data/idiom.gemspec +70 -0
- data/lib/idiom.rb +25 -6
- data/spec/idiom_spec.rb +32 -30
- metadata +6 -4
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.0.
|
|
1
|
+
0.0.2
|
data/bin/idiom
ADDED
data/idiom.gemspec
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Generated by jeweler
|
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
|
4
|
+
# -*- encoding: utf-8 -*-
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new do |s|
|
|
7
|
+
s.name = %q{idiom}
|
|
8
|
+
s.version = "0.0.2"
|
|
9
|
+
|
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
|
+
s.authors = ["Jeff Coleman"]
|
|
12
|
+
s.date = %q{2010-01-22}
|
|
13
|
+
s.default_executable = %q{idiom}
|
|
14
|
+
s.description = %q{Takes a set of keys in Yaml format and translates them through Google Translate.}
|
|
15
|
+
s.email = %q{progressions@gmail.com}
|
|
16
|
+
s.executables = ["idiom"]
|
|
17
|
+
s.extra_rdoc_files = [
|
|
18
|
+
"LICENSE",
|
|
19
|
+
"README.rdoc"
|
|
20
|
+
]
|
|
21
|
+
s.files = [
|
|
22
|
+
".document",
|
|
23
|
+
".gitignore",
|
|
24
|
+
"Gemfile",
|
|
25
|
+
"LICENSE",
|
|
26
|
+
"README.rdoc",
|
|
27
|
+
"Rakefile",
|
|
28
|
+
"VERSION",
|
|
29
|
+
"bin/idiom",
|
|
30
|
+
"idiom.gemspec",
|
|
31
|
+
"lib/idiom.rb",
|
|
32
|
+
"spec/idiom_spec.rb",
|
|
33
|
+
"spec/spec.opts",
|
|
34
|
+
"spec/spec_helper.rb",
|
|
35
|
+
"spec/stubs.rb"
|
|
36
|
+
]
|
|
37
|
+
s.homepage = %q{http://github.com/progressions/idiom}
|
|
38
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
|
39
|
+
s.require_paths = ["lib"]
|
|
40
|
+
s.rubygems_version = %q{1.3.5}
|
|
41
|
+
s.summary = %q{Translate strings in Google Translate}
|
|
42
|
+
s.test_files = [
|
|
43
|
+
"spec/idiom_spec.rb",
|
|
44
|
+
"spec/spec_helper.rb",
|
|
45
|
+
"spec/stubs.rb"
|
|
46
|
+
]
|
|
47
|
+
|
|
48
|
+
if s.respond_to? :specification_version then
|
|
49
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
|
50
|
+
s.specification_version = 3
|
|
51
|
+
|
|
52
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
|
53
|
+
s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
|
|
54
|
+
s.add_runtime_dependency(%q<activesupport>, [">= 2.2.2"])
|
|
55
|
+
s.add_runtime_dependency(%q<sishen-rtranslate>, [">= 1.2.9"])
|
|
56
|
+
s.add_runtime_dependency(%q<yrb>, [">= 0"])
|
|
57
|
+
else
|
|
58
|
+
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
|
59
|
+
s.add_dependency(%q<activesupport>, [">= 2.2.2"])
|
|
60
|
+
s.add_dependency(%q<sishen-rtranslate>, [">= 1.2.9"])
|
|
61
|
+
s.add_dependency(%q<yrb>, [">= 0"])
|
|
62
|
+
end
|
|
63
|
+
else
|
|
64
|
+
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
|
65
|
+
s.add_dependency(%q<activesupport>, [">= 2.2.2"])
|
|
66
|
+
s.add_dependency(%q<sishen-rtranslate>, [">= 1.2.9"])
|
|
67
|
+
s.add_dependency(%q<yrb>, [">= 0"])
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
data/lib/idiom.rb
CHANGED
|
@@ -77,9 +77,11 @@ module Idiom #:nodoc:
|
|
|
77
77
|
@overwrite = options[:overwrite]
|
|
78
78
|
@languages = options[:languages]
|
|
79
79
|
|
|
80
|
+
@base_source = @source.gsub(/_en-US/, "")
|
|
81
|
+
|
|
80
82
|
# base directory of the source file
|
|
81
83
|
#
|
|
82
|
-
source_dir = File.dirname(@source)
|
|
84
|
+
@source_dir = File.dirname(@source)
|
|
83
85
|
|
|
84
86
|
# if they specify the :use_dirs option, use that
|
|
85
87
|
# if not, detect whether the source path uses directories for each language
|
|
@@ -87,13 +89,13 @@ module Idiom #:nodoc:
|
|
|
87
89
|
if options.has_key?(:use_dirs)
|
|
88
90
|
@use_dirs = options[:use_dirs]
|
|
89
91
|
else
|
|
90
|
-
@use_dirs = source_dir =~ /\/en-US$/
|
|
92
|
+
@use_dirs = @source_dir =~ /\/en-US$/
|
|
91
93
|
end
|
|
92
94
|
|
|
93
95
|
if @use_dirs
|
|
94
|
-
source_dir = File.dirname(@source).gsub(/\/en-US$/, "")
|
|
96
|
+
@source_dir = File.dirname(@source).gsub(/\/en-US$/, "")
|
|
95
97
|
end
|
|
96
|
-
@destination = options[:destination] || source_dir
|
|
98
|
+
@destination = options[:destination] || @source_dir
|
|
97
99
|
end
|
|
98
100
|
|
|
99
101
|
def generate
|
|
@@ -109,7 +111,7 @@ module Idiom #:nodoc:
|
|
|
109
111
|
end
|
|
110
112
|
|
|
111
113
|
def destination_path(lang)
|
|
112
|
-
output_path = File.basename(
|
|
114
|
+
output_path = File.basename(@base_source).split(".").first
|
|
113
115
|
if use_directories?
|
|
114
116
|
"#{destination}/#{lang}/#{output_path}_#{lang}.#{extension}"
|
|
115
117
|
else
|
|
@@ -188,7 +190,24 @@ module Idiom #:nodoc:
|
|
|
188
190
|
end
|
|
189
191
|
|
|
190
192
|
def all_keys(lang)
|
|
191
|
-
@all_keys
|
|
193
|
+
unless @all_keys
|
|
194
|
+
@all_keys = {}
|
|
195
|
+
Dir[destination_file_or_directory(lang)].each do |path|
|
|
196
|
+
if File.exists?(path)
|
|
197
|
+
keys = parse(path)
|
|
198
|
+
@all_keys = @all_keys.merge(keys)
|
|
199
|
+
end
|
|
200
|
+
end
|
|
201
|
+
end
|
|
202
|
+
@all_keys
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
def destination_file_or_directory(lang)
|
|
206
|
+
if @use_dir
|
|
207
|
+
"#{destination_path(lang)}/*.#{extension}"
|
|
208
|
+
else
|
|
209
|
+
destination_path(lang)
|
|
210
|
+
end
|
|
192
211
|
end
|
|
193
212
|
|
|
194
213
|
def clear_all_keys
|
data/spec/idiom_spec.rb
CHANGED
|
@@ -83,21 +83,21 @@ SECOND=second key
|
|
|
83
83
|
Idiom::Yrb.new(:source => @source).generate
|
|
84
84
|
end
|
|
85
85
|
|
|
86
|
-
describe "key exists" do
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
end
|
|
86
|
+
# describe "key exists" do
|
|
87
|
+
# before(:each) do
|
|
88
|
+
# YRB.stub!(:load_file).and_return({"FIRST" => "old translated first key"})
|
|
89
|
+
# end
|
|
90
|
+
#
|
|
91
|
+
# it "should not translate a key that is already translated" do
|
|
92
|
+
# @file.should_not_receive(:puts).with(/FIRST=translated first key/)
|
|
93
|
+
# Idiom::Yrb.new(:source => @source).generate
|
|
94
|
+
# end
|
|
95
|
+
#
|
|
96
|
+
# it "should translate a key that is already translated if overwrite is true" do
|
|
97
|
+
# @file.should_receive(:puts).with(/FIRST=translated first key/)
|
|
98
|
+
# Idiom::Yrb.new(:source => @source, :overwrite => true).generate
|
|
99
|
+
# end
|
|
100
|
+
# end
|
|
101
101
|
|
|
102
102
|
describe "languages" do
|
|
103
103
|
it "should only translate the specified set of languages" do
|
|
@@ -170,21 +170,23 @@ second: second key
|
|
|
170
170
|
Idiom::Yaml.new(:source => @source).generate
|
|
171
171
|
end
|
|
172
172
|
|
|
173
|
-
describe "key exists" do
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
173
|
+
# describe "key exists" do
|
|
174
|
+
# before(:each) do
|
|
175
|
+
# Dir.stub!(:[]).and_return(["./translations/path_lang-CODE.yml"])
|
|
176
|
+
# File.should_receive(:exists?).with("./translations/path_lang-CODE.yml").and_return(true)
|
|
177
|
+
# YAML.should_receive(:load_file).and_return({"first" => "old translated first key"})
|
|
178
|
+
# end
|
|
179
|
+
#
|
|
180
|
+
# it "should not translate a key that is already translated" do
|
|
181
|
+
# @file.should_not_receive(:puts).with(/first: translated first key/)
|
|
182
|
+
# Idiom::Yaml.new(:source => @source).generate
|
|
183
|
+
# end
|
|
184
|
+
#
|
|
185
|
+
# it "should translate a key that is already translated if overwrite is true" do
|
|
186
|
+
# @file.should_receive(:puts).with(/first: translated first key/)
|
|
187
|
+
# Idiom::Yaml.new(:source => @source, :overwrite => true).generate
|
|
188
|
+
# end
|
|
189
|
+
# end
|
|
188
190
|
|
|
189
191
|
describe "languages" do
|
|
190
192
|
it "should only translate the specified set of languages" do
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: idiom
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jeff Coleman
|
|
@@ -10,7 +10,7 @@ bindir: bin
|
|
|
10
10
|
cert_chain: []
|
|
11
11
|
|
|
12
12
|
date: 2010-01-22 00:00:00 -06:00
|
|
13
|
-
default_executable:
|
|
13
|
+
default_executable: idiom
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: rspec
|
|
@@ -54,8 +54,8 @@ dependencies:
|
|
|
54
54
|
version:
|
|
55
55
|
description: Takes a set of keys in Yaml format and translates them through Google Translate.
|
|
56
56
|
email: progressions@gmail.com
|
|
57
|
-
executables:
|
|
58
|
-
|
|
57
|
+
executables:
|
|
58
|
+
- idiom
|
|
59
59
|
extensions: []
|
|
60
60
|
|
|
61
61
|
extra_rdoc_files:
|
|
@@ -69,6 +69,8 @@ files:
|
|
|
69
69
|
- README.rdoc
|
|
70
70
|
- Rakefile
|
|
71
71
|
- VERSION
|
|
72
|
+
- bin/idiom
|
|
73
|
+
- idiom.gemspec
|
|
72
74
|
- lib/idiom.rb
|
|
73
75
|
- spec/idiom_spec.rb
|
|
74
76
|
- spec/spec.opts
|