konjac 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/README.md CHANGED
@@ -3,6 +3,11 @@ konjac
3
3
 
4
4
  A Ruby command-line utility for translating files using a YAML wordlist
5
5
 
6
+ **Homepage**: http://brymck.herokuapp.com
7
+ **Author**: Bryan McKelvey
8
+ **Copyright**: (c) 2012 Bryan McKelvey
9
+ **License**: MIT
10
+
6
11
  Installation
7
12
  ------------
8
13
 
@@ -22,41 +27,41 @@ navigate in your command line to a directory of your choice, then run:
22
27
  cd konjac
23
28
  rake install
24
29
 
25
- Usage
26
- -----
30
+ Dictionary Format
31
+ -----------------
27
32
 
28
- Create a file in `~/.konjac/` called `dict.yml`. The file should have the
29
- following format:
33
+ Store terms in `~/.konjac/dict.yml`.
30
34
 
31
- ### Languages
35
+ **Simple (two-way equivalent terms)** - English "I" is equivalent to Spanish
36
+ "yo":
32
37
 
33
- All languages for use within a particular dictionary file file must be described
38
+ -
39
+ en: I
40
+ es: yo
34
41
 
35
- languages:
36
- en:
37
- - english
38
- - eng
39
- ja:
40
- - japanese
41
- - jpn
42
+ **Not as simple** - Japanese lacks a plural, therefore both "dog" and "dogs"
43
+ translate as 犬:
42
44
 
43
- ...
45
+ -
46
+ en: dog
47
+ ja:
48
+ ja: 犬
49
+ en: dogs? # i.e. the regular expression /dogs?/
44
50
 
45
- terms:
46
- -
47
- en: japanese
48
- ja: nihongo
49
- -
50
- en: book
51
- ja: hon
51
+ Usage
52
+ -----
52
53
 
53
- You can then translate a file using the command line like so:
54
+ Translate all text files in the current directory from Japanese into English:
54
55
 
55
56
  konjac translate *.txt from japanese to english
56
57
 
58
+ Utilize a document's implied language (English) and translate into Japanese:
57
59
 
58
- Example
59
- -------
60
+ konjac translate test_en.txt into japanese
61
+
62
+
63
+ Extended Example
64
+ ----------------
60
65
 
61
66
  ~/.konjac/dict.yml:
62
67
 
@@ -79,14 +84,18 @@ Example
79
84
  ja: 。
80
85
  ja:
81
86
  ja: 。
82
- en: !ruby/regexp '/\.\s?/'
87
+ en: !ruby/regexp '/\.(?:\s|$)/'
83
88
  - # Spaces between non-ASCII characters
84
89
  en:
85
90
  en: " "
86
91
  ja: !ruby/regexp '/\s{2,}/'
87
92
  ja:
88
93
  ja: "\\1\\2"
89
- en: !ruby/regexp '/([^a-z])\s([^a-z])/'
94
+ en: !ruby/regexp '/([^\w])\s([^\w])/'
95
+ - # Delete extraneous spaces
96
+ en:
97
+ en: ""
98
+ ja: !ruby/regexp '/\s+$/'
90
99
 
91
100
  ~/.konjac/test_en.txt
92
101
 
@@ -15,6 +15,7 @@ module Konjac
15
15
 
16
16
  # Build a regex template for the from language
17
17
  from_template = build_regex_template(from_lang)
18
+ to_template = build_replacement_template(from_lang, to_lang)
18
19
 
19
20
  # Get full path from name
20
21
  full_path = File.expand_path("~/.konjac/#{opts[:name]}.yml")
@@ -56,6 +57,7 @@ module Konjac
56
57
  unless from_term.is_a?(Regexp)
57
58
  from_term = Regexp.new(from_template % from_term)
58
59
  end
60
+ to_term = to_template % to_term
59
61
 
60
62
  @pairs << [ from_term, to_term ]
61
63
  end
@@ -92,6 +94,16 @@ module Konjac
92
94
  end
93
95
  end
94
96
 
97
+ # Builds a replacement template for the to language, depending on whether
98
+ # the both from and to languages allow for whitespace
99
+ def build_replacement_template(from_lang, to_lang)
100
+ if !Language.has_spaces?(from_lang) && Language.has_spaces?(to_lang)
101
+ "%s "
102
+ else
103
+ "%s"
104
+ end
105
+ end
106
+
95
107
  private
96
108
 
97
109
  def parse_language(lang)
@@ -237,7 +237,7 @@ module Konjac
237
237
 
238
238
  # Determine whether the specified language has spaces or not
239
239
  def has_spaces?(two_letter_code)
240
- !LANGUAGES_WITHOUT_SPACES.include?(two_letter_code)
240
+ !LANGUAGES_WITHOUT_SPACES.include?(two_letter_code.to_sym)
241
241
  end
242
242
 
243
243
  private
@@ -1,3 +1,3 @@
1
1
  module Konjac
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: konjac
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:
@@ -13,7 +13,7 @@ date: 2012-01-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
- requirement: &70101261736900 !ruby/object:Gem::Requirement
16
+ requirement: &70311450970640 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70101261736900
24
+ version_requirements: *70311450970640
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70101261736280 !ruby/object:Gem::Requirement
27
+ requirement: &70311450970000 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70101261736280
35
+ version_requirements: *70311450970000
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: sdoc
38
- requirement: &70101261735680 !ruby/object:Gem::Requirement
38
+ requirement: &70311450964120 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70101261735680
46
+ version_requirements: *70311450964120
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: autotest
49
- requirement: &70101261734760 !ruby/object:Gem::Requirement
49
+ requirement: &70311450963500 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70101261734760
57
+ version_requirements: *70311450963500
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: autotest-fsevent
60
- requirement: &70101261733460 !ruby/object:Gem::Requirement
60
+ requirement: &70311450962920 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70101261733460
68
+ version_requirements: *70311450962920
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: autotest-growl
71
- requirement: &70101261732860 !ruby/object:Gem::Requirement
71
+ requirement: &70311450962500 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70101261732860
79
+ version_requirements: *70311450962500
80
80
  description: A Ruby command-line utility for translating files using a YAML wordlist
81
81
  email:
82
82
  - bryan.mckelvey@gmail.com