amatsuda-i18n_generators 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt ADDED
@@ -0,0 +1,68 @@
1
+ == 0.4.1
2
+
3
+ * bugfixes:
4
+ * i18n_translation abnormally ends when loading a view containing "-%>" (thanks to babie-san!)
5
+
6
+ == 0.4.0
7
+
8
+ * major enhancements:
9
+ * translation generator now preserves any existing extra lines in the YAML file (thanks to Iain Hecker-san!)
10
+
11
+ == 0.3.4
12
+
13
+ * enhancements:
14
+ * Reduce unnecessary request to CLDR site
15
+
16
+ == 0.3.3
17
+
18
+ * bugfixes:
19
+ * Did not work on Ruby 1.8.6 (thanks to akm-san!)
20
+
21
+ == 0.3.2
22
+
23
+ * bugfixes:
24
+ * Trim mode in ERB didn't work on some platforms (thanks to valda-san!)
25
+
26
+ == 0.3.1
27
+
28
+ * enhancements:
29
+ * Translate all keys simultaneously using thread
30
+ * Translations with :scope is going to be yamlized with proper hierarchy
31
+
32
+ == 0.3.0
33
+
34
+ * major enhancements:
35
+ * Renamed the generators
36
+ i18n_locales -> i18n_locale (i18n --locale)
37
+ i18n_models -> i18n_translation (i18n --translation)
38
+ * Handle all translate keys which appear in view files (thanks to PanosJee-san!)
39
+
40
+ == 0.2.0
41
+
42
+ * major enhancements:
43
+ * Implemented i18n_scaffold generator (thanks to Iain Hecker-san!)
44
+
45
+ * enhancements:
46
+ * i18n_models generator can now deal with non AR classes which has content_columns (thanks to Iain Hecker-san!)
47
+
48
+ == 0.1.0
49
+
50
+ * major enhancements:
51
+ * Fetch locale YAML file from rails-i18n project repository first
52
+
53
+ * bugfixes:
54
+ * Could not recognize model names with multipie words (thanks to makoto-san!)
55
+
56
+ == 0.0.8
57
+
58
+ * major enhancements:
59
+ * Lots of changes for this commit by DHH http://github.com/rails/rails/commit/d9b92ee11b33fed5c7a94a91415fa846705f7dd3
60
+
61
+ == 0.0.4
62
+
63
+ * Gemified on GitHub
64
+
65
+ == 0.0.1
66
+
67
+ * Birthday!
68
+
data/README.rdoc CHANGED
@@ -39,9 +39,15 @@ This will generate following locale file.
39
39
  The generator copies the en.yml file (bundled inside Rails framework) into config/locales directory, and one-to-one localizes/translates each attribute value into the specified locale/language.
40
40
  Then the generater sets the application default locale to the specified locale.
41
41
 
42
- This will generate following locale file.
42
+ For example,
43
43
 
44
- config/locales/ja.yml
44
+ % ./script/generate i18n_locale zh
45
+
46
+ will generate following locale files.
47
+
48
+ config/locales/active_support_zh.yml
49
+ config/locales/active_record_zh.yml
50
+ config/locales/action_view_zh.yml
45
51
 
46
52
  === 3. Generate Translation YAML File For All Models/Attributes and views/**/*.erb
47
53
 
@@ -58,7 +64,7 @@ This will generate following YAML file.
58
64
  The generator scans your app/models directory, and generates a YAML file with all the AR model names and attributes so that you don't have to write the YAML skeleton manually or by copy/paste.
59
65
  In addition, the generator scans all the *.erb files in your app/views/** directory, and picks all the keys for I18n.translate, then adds them to the YAML file.
60
66
  In addition, the generator tries to translate each of them into the specified language.
61
- The generator doesn't overwrite the existing value so that you can rerun the generator again and again just like Annotate Model plugin.
67
+ The generator doesn't overwrite the existing value so that you can rerun the generator again and again just like Annotate Model command.
62
68
 
63
69
  === 4. Generate All
64
70
 
@@ -78,7 +84,9 @@ Executes 2 and 3 at once.
78
84
 
79
85
  * As a gem
80
86
 
81
- % sudo gem install amatsuda-i18n_generators -s http://gems.github.com
87
+ % sudo gem source http://gems.github.com
88
+
89
+ % sudo gem install amatsuda-i18n_generators
82
90
 
83
91
  * As a Rails plugin
84
92
 
@@ -87,7 +95,7 @@ Executes 2 and 3 at once.
87
95
 
88
96
  == CAUTION
89
97
 
90
- Current version of this plugin is very very very very roughly implemented just for experiment.
98
+ Current version of this plugin is very very very roughly implemented just for experiment.
91
99
  Every time you execute the generate command, the plugin connects to the Unicode CLDR website and scrapes the huge amount of its contents.
92
100
  Please be careful not to harm your network environment and CLDR website by running this plugin too many times.
93
101
 
data/Rakefile CHANGED
@@ -1,15 +1,15 @@
1
1
  require 'rake'
2
2
  require 'rake/testtask'
3
3
  require 'rake/rdoctask'
4
+ require 'spec/rake/spectask'
4
5
 
5
- desc 'Default: run unit tests.'
6
- task :default => :test
6
+ desc 'Default: run the specs.'
7
+ task :default => :spec
7
8
 
8
- desc 'Test the i18n_generators plugin.'
9
- Rake::TestTask.new(:test) do |t|
10
- t.libs << 'lib'
11
- t.pattern = 'test/**/*_test.rb'
12
- t.verbose = true
9
+ desc 'Run the specs for i18n_generatoes.'
10
+ Spec::Rake::SpecTask.new(:spec) do |t|
11
+ t.spec_opts = ['--colour --format progress --loadby mtime --reverse']
12
+ t.spec_files = FileList['spec/**/*_spec.rb']
13
13
  end
14
14
 
15
15
  desc 'Generate documentation for the i18n_generators plugin.'
@@ -35,10 +35,13 @@ class I18nGenerator < Rails::Generator::NamedBase
35
35
  record do |m|
36
36
  m.directory 'config/locales'
37
37
  unless options[:generate_translation_only]
38
+ logger.debug 'updating environment.rb ...'
38
39
  m.generate_configuration
39
40
  if defined_in_rails_i18n_repository?
41
+ logger.debug "fetching #{locale_name}.yml from rails-i18n repository..."
40
42
  m.fetch_from_rails_i18n_repository
41
43
  else
44
+ logger.debug "generating #{locale_name} YAML files for Rails..."
42
45
  m.active_support_yaml
43
46
  m.active_record_yaml
44
47
  m.action_view_yaml
@@ -15,7 +15,10 @@ module I18nTranslationGeneratorModule
15
15
  def method_missing(method, *args, &block); nil; end
16
16
  end
17
17
 
18
- def_erb_method 'execute', '#{filename}'
18
+ fname = '#{filename}'
19
+ erb = nil
20
+ File.open(fname) {|f| erb = ERB.new(f.read, nil, '-') }
21
+ erb.def_method(self, 'execute', fname)
19
22
  end
20
23
  EOS
21
24
  m.const_get('Executer').new.execute { }
data/spec/cldr_spec.rb CHANGED
@@ -1,5 +1,7 @@
1
+ # encoding: utf-8
1
2
  $KCODE = 'U'
2
3
 
4
+ require File.join(File.dirname(__FILE__), 'spec_helper')
3
5
  require File.join(File.dirname(__FILE__), '../generators/i18n_locale/lib/cldr')
4
6
  include I18nLocaleGeneratorModule
5
7
 
@@ -1,3 +1,4 @@
1
+ require File.join(File.dirname(__FILE__), 'spec_helper')
1
2
  require File.join(File.dirname(__FILE__), '/../generators/i18n_locale/i18n_locale_command')
2
3
 
3
4
  describe I18nGenerator::Generator::Commands::Create do
@@ -1,3 +1,4 @@
1
+ require File.join(File.dirname(__FILE__), 'spec_helper')
1
2
  require File.join(File.dirname(__FILE__), '/../generators/i18n_translation/i18n_translation_command')
2
3
 
3
4
  describe I18nGenerator::Generator::Commands::Create do
@@ -1,5 +1,6 @@
1
1
  $KCODE = 'U'
2
2
 
3
+ require File.join(File.dirname(__FILE__), 'spec_helper')
3
4
  require File.join(File.dirname(__FILE__), '../generators/i18n_translation/lib/translator')
4
5
  include I18nTranslationGeneratorModule
5
6
 
@@ -12,6 +13,7 @@ describe Translator do
12
13
  before do
13
14
  res_200 = mock('res_200')
14
15
  res_200.stub!(:read).and_return('{"responseData": {"translatedText":"こんにちは"}, "responseDetails": null, "responseStatus": 200}')
16
+ OpenURI.stub!(:open_uri).and_return(res_200)
15
17
  end
16
18
 
17
19
  it 'returns translated text' do
data/spec/yaml_spec.rb CHANGED
@@ -1,4 +1,6 @@
1
+ require File.join(File.dirname(__FILE__), 'spec_helper')
1
2
  require File.join(File.dirname(__FILE__), '/../generators/i18n/lib/yaml')
3
+
2
4
  include I18nLocaleGeneratorModule
3
5
 
4
6
  describe 'Yaml' do
@@ -32,7 +34,25 @@ describe 'Yaml' do
32
34
  end
33
35
 
34
36
  it 'should generate a path string on any node' do
35
- @yaml['ja']['activerecord']['errors']['messages'].path.should == '/ja-JP/activerecord/errors/messages'
37
+ @yaml['ja']['activerecord']['errors']['messages'].path.should == '/ja/activerecord/errors/messages'
38
+ end
39
+
40
+ describe '[] method' do
41
+ describe 'when a child with the specified key exists' do
42
+ it 'should return a child which has the specified key'
43
+
44
+ it 'should not modify the YAML contents'
45
+ end
46
+
47
+ describe 'when a child with the specified key exists' do
48
+ it 'should return a new node with the specified key'
49
+
50
+ it 'should append the created node under the current node'
51
+
52
+ it 'should append the created line to the YAML document'
53
+
54
+ it 'should increment the line number of the succeeding lines of the newly added line'
55
+ end
36
56
  end
37
57
  end
38
58
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amatsuda-i18n_generators
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akira Matsuda
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-12-17 00:00:00 -08:00
12
+ date: 2009-01-21 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -30,6 +30,7 @@ extensions: []
30
30
  extra_rdoc_files: []
31
31
 
32
32
  files:
33
+ - History.txt
33
34
  - MIT-LICENSE
34
35
  - README.rdoc
35
36
  - Rakefile