hanzi 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +3 -0
- data/VERSION +1 -1
- data/hanzi.gemspec +1 -1
- data/lib/hanzi.rb +9 -2
- data/test/test_hanzi.rb +10 -0
- metadata +2 -2
data/README.rdoc
CHANGED
@@ -11,6 +11,9 @@ Example usage:
|
|
11
11
|
Hanzi.to_pinyin('no! 为什么!') # no! wei4shen2me5!
|
12
12
|
Hanzi.to_pinyin('你好, 我是康昱辰。') # ni3hao3, wo3shi4kang1yu4chen2。
|
13
13
|
|
14
|
+
Hanzi.to_english('孔子') # Confucius (551-479 BC), Chinese thinker and social philosopher, also known as 孔夫子[Kong3 fu1 zi3]
|
15
|
+
Hanzi.to_english('老子喜欢') # nil (can only translate exact word matches)
|
16
|
+
|
14
17
|
To run tests:
|
15
18
|
|
16
19
|
rake test
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.1
|
data/hanzi.gemspec
CHANGED
data/lib/hanzi.rb
CHANGED
@@ -52,7 +52,7 @@ class Hanzi
|
|
52
52
|
match = nil
|
53
53
|
match_length = 0
|
54
54
|
4.downto(1) do |length|
|
55
|
-
match =
|
55
|
+
match = find_hanzi_match(text[pos, length])
|
56
56
|
match_length = length
|
57
57
|
break if match
|
58
58
|
end
|
@@ -70,8 +70,15 @@ class Hanzi
|
|
70
70
|
result
|
71
71
|
end
|
72
72
|
|
73
|
+
def to_english(text)
|
74
|
+
load_data if @data.nil?
|
75
|
+
|
76
|
+
entry = find_hanzi_match(text)
|
77
|
+
entry[:english] if entry && entry[:english]
|
78
|
+
end
|
79
|
+
|
73
80
|
private
|
74
|
-
def
|
81
|
+
def find_hanzi_match(text)
|
75
82
|
entry = @data.find do |word|
|
76
83
|
word[:simplified] == text || word[:traditional] == text
|
77
84
|
end
|
data/test/test_hanzi.rb
CHANGED
@@ -34,4 +34,14 @@ class TestHanzi < Test::Unit::TestCase
|
|
34
34
|
assert_equal 'ni3hao3, wo3shi4kang1yu4chen2。', result
|
35
35
|
end
|
36
36
|
|
37
|
+
def test_can_return_english_translation
|
38
|
+
result = Hanzi.to_english('你好')
|
39
|
+
assert result.downcase.include?('hello')
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_returns_nil_for_not_found_english_translation
|
43
|
+
result = Hanzi.to_english('老子你好')
|
44
|
+
assert_equal result, nil
|
45
|
+
end
|
46
|
+
|
37
47
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hanzi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -78,7 +78,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
78
78
|
version: '0'
|
79
79
|
segments:
|
80
80
|
- 0
|
81
|
-
hash:
|
81
|
+
hash: -991267641606687232
|
82
82
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|