gettext_activerecord 2.0.0
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/COPYING +55 -0
- data/ChangeLog +4 -0
- data/README.rdoc +172 -0
- data/Rakefile +110 -0
- data/data/locale/bg/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/bs/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/ca/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/cs/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/de/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/el/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/eo/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/es/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/et/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/fr/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/hr/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/hu/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/it/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/ja/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/ko/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/lv/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/nb/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/nl/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/pt_BR/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/ru/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/sr/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/ua/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/vi/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/zh/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/data/locale/zh_TW/LC_MESSAGES/gettext_activerecord.mo +0 -0
- data/lib/gettext_activerecord/base.rb +66 -0
- data/lib/gettext_activerecord/i18n.rb +27 -0
- data/lib/gettext_activerecord/migration.rb +16 -0
- data/lib/gettext_activerecord/parser.rb +216 -0
- data/lib/gettext_activerecord/schema_definitions.rb +28 -0
- data/lib/gettext_activerecord/tools.rb +25 -0
- data/lib/gettext_activerecord/validations.rb +189 -0
- data/lib/gettext_activerecord/version.rb +12 -0
- data/lib/gettext_activerecord.rb +19 -0
- data/po/bg/gettext_activerecord.po +115 -0
- data/po/bs/gettext_activerecord.po +125 -0
- data/po/ca/gettext_activerecord.po +116 -0
- data/po/cs/gettext_activerecord.po +124 -0
- data/po/de/gettext_activerecord.po +117 -0
- data/po/el/gettext_activerecord.po +115 -0
- data/po/eo/gettext_activerecord.po +116 -0
- data/po/es/gettext_activerecord.po +116 -0
- data/po/et/gettext_activerecord.po +116 -0
- data/po/fr/gettext_activerecord.po +118 -0
- data/po/gettext_activerecord.pot +113 -0
- data/po/hr/gettext_activerecord.po +125 -0
- data/po/hu/gettext_activerecord.po +116 -0
- data/po/it/gettext_activerecord.po +122 -0
- data/po/ja/gettext_activerecord.po +116 -0
- data/po/ko/gettext_activerecord.po +123 -0
- data/po/lv/gettext_activerecord.po +116 -0
- data/po/nb/gettext_activerecord.po +117 -0
- data/po/nl/gettext_activerecord.po +123 -0
- data/po/pt_BR/gettext_activerecord.po +117 -0
- data/po/ru/gettext_activerecord.po +117 -0
- data/po/sr/gettext_activerecord.po +117 -0
- data/po/test.rb +8 -0
- data/po/ua/gettext_activerecord.po +120 -0
- data/po/vi/gettext_activerecord.po +116 -0
- data/po/zh/gettext_activerecord.po +119 -0
- data/po/zh_TW/gettext_activerecord.po +119 -0
- data/replace.rb +21 -0
- data/sample/README.rdoc +9 -0
- data/sample/Rakefile +32 -0
- data/sample/book.rb +3 -0
- data/sample/config/database.yml +3 -0
- data/sample/data/locale/ja/LC_MESSAGES/sample_ar.mo +0 -0
- data/sample/db/development.sqlite3 +0 -0
- data/sample/db/schema.rb +5 -0
- data/sample/locale/ja/LC_MESSAGES/sample_ar.mo +0 -0
- data/sample/po/ja/sample_ar.po +29 -0
- data/sample/po/sample_ar.pot +29 -0
- data/sample/sample.rb +22 -0
- data/test/Rakefile +43 -0
- data/test/db/migrate.rb +41 -0
- data/test/db/sqlite.rb +8 -0
- data/test/helper.rb +38 -0
- data/test/locale/ja/LC_MESSAGES/active_record.mo +0 -0
- data/test/models/book.rb +3 -0
- data/test/models/developer.rb +5 -0
- data/test/models/inept_wizard.rb +3 -0
- data/test/models/reply.rb +40 -0
- data/test/models/topic.rb +68 -0
- data/test/models/user.rb +3 -0
- data/test/models/wizard.rb +5 -0
- data/test/po/active_record.pot +388 -0
- data/test/po/ja/active_record.po +387 -0
- data/test/test_parser.rb +95 -0
- data/test/test_validations.rb +2575 -0
- data/test/vendor/repair_helper.rb +50 -0
- data/test.rb +2 -0
- metadata +268 -0
data/COPYING
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
You can redistribute this program and/or modify it under either the terms of
|
2
|
+
the LGPL (see the file LGPL), or the conditions below:
|
3
|
+
|
4
|
+
1. You may make and give away verbatim copies of the source form of the
|
5
|
+
software without restriction, provided that you duplicate all of the
|
6
|
+
original copyright notices and associated disclaimers.
|
7
|
+
|
8
|
+
2. You may modify your copy of the software in any way, provided that
|
9
|
+
you do at least ONE of the following:
|
10
|
+
|
11
|
+
a) place your modifications in the Public Domain or otherwise
|
12
|
+
make them Freely Available, such as by posting said
|
13
|
+
modifications to Usenet or an equivalent medium, or by allowing
|
14
|
+
the author to include your modifications in the software.
|
15
|
+
|
16
|
+
b) use the modified software only within your corporation or
|
17
|
+
organization.
|
18
|
+
|
19
|
+
c) rename any non-standard executables so the names do not conflict
|
20
|
+
with standard executables, which must also be provided.
|
21
|
+
|
22
|
+
d) make other distribution arrangements with the author.
|
23
|
+
|
24
|
+
3. You may distribute the software in object code or executable
|
25
|
+
form, provided that you do at least ONE of the following:
|
26
|
+
|
27
|
+
a) distribute the executables and library files of the software,
|
28
|
+
together with instructions (in the manual page or equivalent)
|
29
|
+
on where to get the original distribution.
|
30
|
+
|
31
|
+
b) accompany the distribution with the machine-readable source of
|
32
|
+
the software.
|
33
|
+
|
34
|
+
c) give non-standard executables non-standard names, with
|
35
|
+
instructions on where to get the original software distribution.
|
36
|
+
|
37
|
+
d) make other distribution arrangements with the author.
|
38
|
+
|
39
|
+
4. You may modify and include the part of the software into any other
|
40
|
+
software (possibly commercial). But some files in the distribution
|
41
|
+
are not written by the author, so that they are not under these terms.
|
42
|
+
|
43
|
+
For the list of those files and their copying conditions, see the
|
44
|
+
file LEGAL.
|
45
|
+
|
46
|
+
5. The scripts and library files supplied as input to or produced as
|
47
|
+
output from the software do not automatically fall under the
|
48
|
+
copyright of the software, but belong to whomever generated them,
|
49
|
+
and may be sold commercially, and may be aggregated with this
|
50
|
+
software.
|
51
|
+
|
52
|
+
6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
|
53
|
+
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
54
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
55
|
+
PURPOSE.
|
data/ChangeLog
ADDED
data/README.rdoc
ADDED
@@ -0,0 +1,172 @@
|
|
1
|
+
= gettext_activerecord
|
2
|
+
|
3
|
+
gettext_activerecord provides the localization for ActiveRecord-2.2 or later
|
4
|
+
using Ruby-GetText-Package.
|
5
|
+
|
6
|
+
* Validation messages translation
|
7
|
+
* Model translation
|
8
|
+
* extract messages from models with the rake task.
|
9
|
+
|
10
|
+
== Website
|
11
|
+
* homepage[http://www.yotabanana.com/hiki/ruby-gettext.html]
|
12
|
+
* on rubyforge[http://gettext/rubyforge.org/]
|
13
|
+
* on github[http://github.com/gettext_activerecord/]
|
14
|
+
|
15
|
+
== Requirements
|
16
|
+
* {Ruby 1.8.3 or later}[http://www.ruby-lang.org]
|
17
|
+
* {Rubygems}[http://www.rubygems.org/]
|
18
|
+
* {locale gem}[http://rubyforge.org/projects/locale/]
|
19
|
+
* $ gem install locale
|
20
|
+
* {gettext gem}[http://rubyforge.org/projects/gettext/]
|
21
|
+
* $ gem install gettext
|
22
|
+
|
23
|
+
== Install
|
24
|
+
#Uninstall old gettext if exists.
|
25
|
+
(sudo/su on POSIX system)
|
26
|
+
gem uninstall gettext
|
27
|
+
|
28
|
+
#from github (edge/unstable)
|
29
|
+
(sudo/su on POSIX system)
|
30
|
+
gem install locale
|
31
|
+
gem install mutoh-gettext -s http://gems.github.com/
|
32
|
+
|
33
|
+
#from rubyforge (stable)
|
34
|
+
(sudo/su on POSIX system)
|
35
|
+
gem install locale
|
36
|
+
gem install gettext
|
37
|
+
|
38
|
+
== Usage
|
39
|
+
=== without Rails
|
40
|
+
==== Rakefile
|
41
|
+
require 'rubygems'
|
42
|
+
|
43
|
+
desc "Create mo files"
|
44
|
+
task :makemo do
|
45
|
+
require 'gettext_activerecord/tools'
|
46
|
+
GetText.create_mofiles
|
47
|
+
end
|
48
|
+
|
49
|
+
task :updatepo do
|
50
|
+
require 'gettext_activerecord/tools'
|
51
|
+
# Need to access DB to find Model table/column names.
|
52
|
+
# Use config/database.yml which is the same style with rails.
|
53
|
+
GetText.update_pofiles("sample_ar", ["topic.rb"], "sample AR 1.0.0")
|
54
|
+
end
|
55
|
+
|
56
|
+
==== topic.rb
|
57
|
+
class Topic < ActiveRecord::Base
|
58
|
+
validates_length_of :title, :minimum => 10
|
59
|
+
end
|
60
|
+
|
61
|
+
==== sample.rb
|
62
|
+
require 'gettext_activerecord'
|
63
|
+
require 'topic'
|
64
|
+
|
65
|
+
# Use config/database.yml which is the same style with rails.
|
66
|
+
config = YAML.load(IO.read("config/database.yml"))["development"]
|
67
|
+
ActiveRecord::Base.establish_connection(config)
|
68
|
+
|
69
|
+
GetText.bindtextdomain_to(ActiveRecord, "sample_ar", :path => "locale")
|
70
|
+
|
71
|
+
GetText.set_locale "ja_JP.UTF-8"
|
72
|
+
a = Topic.new
|
73
|
+
a.title = "Foo"
|
74
|
+
a.save
|
75
|
+
puts a.errors.full_messages #puts Japanese error message.
|
76
|
+
|
77
|
+
==== Then ...
|
78
|
+
$ rake updatepo
|
79
|
+
$ cd po
|
80
|
+
$ mkdir ja
|
81
|
+
$ msginit -l ja_JP.UTF-8 -i sample_ar.pot -o ja/sample_ar.po
|
82
|
+
$ Edit ja/sample_ar.po
|
83
|
+
$ cd ../../
|
84
|
+
$ rake makemo
|
85
|
+
$ ruby sample.rb
|
86
|
+
|
87
|
+
=== with Rails
|
88
|
+
See gettext_rails [http://github.com/mutoh/gettext_rails/tree/master]
|
89
|
+
|
90
|
+
== Support matrix
|
91
|
+
* gettext_activerecord-2.0.0 - rails-2.3.2
|
92
|
+
|
93
|
+
== License
|
94
|
+
This program is licenced under the same licence as Ruby.
|
95
|
+
(See the file 'COPYING'.)
|
96
|
+
|
97
|
+
* Copyright (C) 2001-2009 Masao Mutoh <mutoh at highwhay.ne.jp>
|
98
|
+
== Translators
|
99
|
+
* Bosnian(bs) - Sanjin Sehic <saserr at gmail.com>
|
100
|
+
* Bulgarian(bg) - Sava Chankov <sava.chankov at gmail.com>
|
101
|
+
* Catalan(ca) - Ramon Salvadó <rsalvado at gnuine.com>
|
102
|
+
* Chinese(Simplified)(zh_CN)
|
103
|
+
* Yang Bob <bob.yang.dev at gmail.com> (current)
|
104
|
+
* Yingfeng <blogyingfeng at gmail.com>
|
105
|
+
* Chinese(Traditional)(zh_TW)
|
106
|
+
* Yang Bob <bob.yang.dev at gmail.com> (current)
|
107
|
+
* LIN CHUNG-YI <xmarsh at gmail.com>
|
108
|
+
* Croatian(hr) - Sanjin Sehic <saserr at gmail.com>
|
109
|
+
* Czech(cs) - Karel Miarka <kajism at yahoo.com>
|
110
|
+
* Dutch(nl) - Menno Jonkers <ruby-gettext at jonkers.com>
|
111
|
+
* Esperanto(eo) - Malte Milatz <malte at gmx-topmail.de>
|
112
|
+
* Estonian(et) - Erkki Eilonen <erkki at itech.ee>
|
113
|
+
* French(fr)
|
114
|
+
* Vincent Isambart <vincent.isambart at gmail.com> (current)
|
115
|
+
* David Sulc <davidsulc at gmail.com>
|
116
|
+
* David Sulc <davidsulc at gmail.com>
|
117
|
+
* Laurent Sansonetti <laurent.sansonetti at gmail.com>
|
118
|
+
* German(de)
|
119
|
+
* Patrick Lenz <patrick at limited-overload.de> (current)
|
120
|
+
* Detlef Reichl <detlef.reichl at gmx.org>
|
121
|
+
* Sven Herzberg <herzi at abi02.de>
|
122
|
+
* Sascha Ebach <se at digitale-wertschoepfung.de>
|
123
|
+
* Greek(el) - Vassilis Rizopoulos <damphyr at gmx.net>
|
124
|
+
* Hungarian(hu) - Tamás Tompa <tompata at gmail.com>
|
125
|
+
* Italian(it)
|
126
|
+
* Marco Lazzeri <marco.lazzeri at gmail.com>
|
127
|
+
* Gabriele Renzi <surrender_it at yahoo.it>
|
128
|
+
* Japanese(ja) - Masao Mutoh <mutomasa at gmail.com>
|
129
|
+
* Korean(ko) - Gyoung-Yoon Noh <nohmad at gmail.com>
|
130
|
+
* Latvian(lv) - Aivars Akots <aivars.akots at gmail.com>
|
131
|
+
* Norwegian(nb) - Runar Ingebrigtsen <runar at mopo.no>
|
132
|
+
* Portuguese(Brazil)(pt_BR)
|
133
|
+
* Antonio S. de A. Terceiro <terceiro at softwarelivre.org> (current)
|
134
|
+
* Joao Pedrosa <joaopedrosa at gmail.com>
|
135
|
+
* Russian(ru) - Yuri Kozlov <kozlov.y at gmail.com>
|
136
|
+
* Serbian(sr) - Slobodan Paunović" <slobodan.paunovic at gmail.com>
|
137
|
+
* Spanish(es)
|
138
|
+
* David Espada <davinci at escomposlinux.org> (current)
|
139
|
+
* David Moreno Garza <damog at damog.net>
|
140
|
+
* Ukrainian(ua) - Alex Rootoff <rootoff at pisem.net>
|
141
|
+
* Vietnamese(vi) - Ngoc Dao Thanh <ngocdaothanh at gmail.com>
|
142
|
+
|
143
|
+
== Status of translations
|
144
|
+
* Bosnian(bs) - 1.90.0 (old)
|
145
|
+
* Bulgarian(bg) - 2.0.0
|
146
|
+
* Catalan(ca) - 2.0.0
|
147
|
+
* Croatian(hr) - 1.90.0 (old)
|
148
|
+
* Chinese(zh_CN) - 2.0.0
|
149
|
+
* Chinese(zh_TW) - 2.0.0
|
150
|
+
* Czech(cs) - 1.9.0 (old)
|
151
|
+
* Dutch(nl) - 1.90.0 (old)
|
152
|
+
* English(default) - 1.90.0 (old)
|
153
|
+
* Esperanto(eo) - 2.0.0
|
154
|
+
* Estonian(et) - 2.0.0
|
155
|
+
* French(fr) - 2.0.0
|
156
|
+
* German(de) - 2.0.0
|
157
|
+
* Greek(el) - 2.0.0
|
158
|
+
* Hungarian(hu) - 2.0.0
|
159
|
+
* Italian(it) - 1.6.0 (old)
|
160
|
+
* Japanese(ja) - 2.0.0
|
161
|
+
* Korean(ko) - 1.9.0 (old)
|
162
|
+
* Latvian(lv) - 2.0.0
|
163
|
+
* Norwegian(nb) - 2.0.0
|
164
|
+
* Portuguese(Brazil)(pt_BR) - 2.0.0
|
165
|
+
* Russian(ru) - 2.0.0
|
166
|
+
* Serbian(sr) - 1.91.0 (old)
|
167
|
+
* Spanish(es) - 2.0.0
|
168
|
+
* Ukrainian(ua) - 2.0.0
|
169
|
+
* Vietnamese(vi) - 2.0.0
|
170
|
+
|
171
|
+
== Maintainer
|
172
|
+
Masao Mutoh <mutomasa at gmail.com>
|
data/Rakefile
ADDED
@@ -0,0 +1,110 @@
|
|
1
|
+
#
|
2
|
+
# Rakefile for gettext_activerecord.
|
3
|
+
#
|
4
|
+
# Use setup.rb or gem for installation.
|
5
|
+
# You don't need to use this file directly.
|
6
|
+
#
|
7
|
+
# Copyright(c) 2009 Masao Mutoh
|
8
|
+
#
|
9
|
+
# This program is licenced under the same licence as Ruby.
|
10
|
+
#
|
11
|
+
|
12
|
+
#make lib and paralel gettext checkout available
|
13
|
+
$LOAD_PATH.unshift "./lib"
|
14
|
+
gettext_path = File.join(ENV["GETTEXT_PATH"] || "../gettext/", "lib")
|
15
|
+
$LOAD_PATH.unshift gettext_path
|
16
|
+
|
17
|
+
require 'rubygems'
|
18
|
+
require 'rake'
|
19
|
+
require 'rake/packagetask'
|
20
|
+
require 'rake/gempackagetask'
|
21
|
+
require 'rake/rdoctask'
|
22
|
+
|
23
|
+
gettext_path = File.join(ENV["GETTEXT_PATH"] || "../gettext/", "lib")
|
24
|
+
$LOAD_PATH.unshift gettext_path
|
25
|
+
|
26
|
+
require 'gettext_activerecord/version'
|
27
|
+
|
28
|
+
PKG_VERSION = GetTextActiveRecord::VERSION
|
29
|
+
|
30
|
+
task :default => [:makemo]
|
31
|
+
|
32
|
+
############################################################
|
33
|
+
# Manage po/mo files
|
34
|
+
############################################################
|
35
|
+
desc "Create *.mo from *.po"
|
36
|
+
task :makemo do
|
37
|
+
$stderr.puts "Create active_record mo files."
|
38
|
+
require 'gettext/tools'
|
39
|
+
GetText.create_mofiles
|
40
|
+
end
|
41
|
+
|
42
|
+
desc "Update pot/po files to match new version."
|
43
|
+
task :updatepo do
|
44
|
+
require 'gettext/tools'
|
45
|
+
|
46
|
+
GetText.update_pofiles("gettext_activerecord",
|
47
|
+
Dir.glob("lib/**/*.rb"),
|
48
|
+
"gettext_activerecord #{PKG_VERSION}")
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
############################################################
|
53
|
+
# Package tasks
|
54
|
+
############################################################
|
55
|
+
|
56
|
+
desc "Create gem and tar.gz"
|
57
|
+
spec = Gem::Specification.new do |s|
|
58
|
+
s.name = 'gettext_activerecord'
|
59
|
+
s.version = PKG_VERSION
|
60
|
+
s.summary = 'Localization support for ActiveRecord by Ruby-GetText-Package.'
|
61
|
+
s.author = 'Masao Mutoh'
|
62
|
+
s.email = 'mutomasa at gmail.com'
|
63
|
+
s.homepage = 'http://gettext.rubyforge.org/'
|
64
|
+
s.rubyforge_project = "gettext"
|
65
|
+
s.files = FileList['**/*'].to_a.select{|v| v !~ /pkg|git/}
|
66
|
+
s.require_path = 'lib'
|
67
|
+
s.add_dependency('gettext', '>= 2.0.0')
|
68
|
+
s.add_dependency('activerecord', '>= 2.3.2')
|
69
|
+
s.has_rdoc = true
|
70
|
+
s.description = 'Localization support for ActiveRecord by Ruby-GetText-Package.'
|
71
|
+
end
|
72
|
+
|
73
|
+
Rake::PackageTask.new("gettext_activerecord", PKG_VERSION) do |o|
|
74
|
+
o.package_files = FileList['**/*'].to_a.select{|v| v !~ /pkg|git/}
|
75
|
+
o.need_tar_gz = true
|
76
|
+
o.need_zip = false
|
77
|
+
end
|
78
|
+
|
79
|
+
Rake::GemPackageTask.new(spec) do |p|
|
80
|
+
p.gem_spec = spec
|
81
|
+
p.need_tar_gz = false
|
82
|
+
p.need_zip = false
|
83
|
+
end
|
84
|
+
|
85
|
+
############################################################
|
86
|
+
# Misc tasks
|
87
|
+
############################################################
|
88
|
+
|
89
|
+
Rake::RDocTask.new { |rdoc|
|
90
|
+
allison = `allison --path`.chop
|
91
|
+
rdoc.rdoc_dir = 'doc'
|
92
|
+
rdoc.title = "gettext_activerecord API Reference"
|
93
|
+
rdoc.options << '--line-numbers' << '--inline-source'
|
94
|
+
rdoc.rdoc_files.include('README', 'ChangeLog')
|
95
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
96
|
+
rdoc.template = allison if allison.size > 0
|
97
|
+
}
|
98
|
+
|
99
|
+
desc "Publish the release files to RubyForge."
|
100
|
+
task :release => [ :package ] do
|
101
|
+
require 'rubyforge'
|
102
|
+
|
103
|
+
rubyforge = RubyForge.new
|
104
|
+
rubyforge.configure
|
105
|
+
rubyforge.login
|
106
|
+
rubyforge.add_release("gettext", "gettext_activerecord",
|
107
|
+
PKG_VERSION,
|
108
|
+
"pkg/gettext_activerecord-#{PKG_VERSION}.gem",
|
109
|
+
"pkg/gettext_activerecord-#{PKG_VERSION}.tar.gz")
|
110
|
+
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,66 @@
|
|
1
|
+
=begin
|
2
|
+
lib/gettext_activerecord/base.rb - GetText for ActiveRecord::Base
|
3
|
+
|
4
|
+
Copyright (C) 2009 Masao Mutoh
|
5
|
+
|
6
|
+
You may redistribute it and/or modify it under the same
|
7
|
+
license terms as Ruby.
|
8
|
+
|
9
|
+
$Id$
|
10
|
+
=end
|
11
|
+
|
12
|
+
module ActiveRecord #:nodoc:
|
13
|
+
class Base
|
14
|
+
include GetText
|
15
|
+
include Validations
|
16
|
+
|
17
|
+
@@gettext_untranslate = Hash.new(false)
|
18
|
+
@@gettext_untranslate_columns = {}
|
19
|
+
|
20
|
+
class << self
|
21
|
+
# Untranslate all of the tablename/fieldnames in this model class.
|
22
|
+
def untranslate_all
|
23
|
+
@@gettext_untranslate[self] = true
|
24
|
+
end
|
25
|
+
|
26
|
+
# Returns true if "untranslate_all" is called. Otherwise false.
|
27
|
+
def untranslate_all?
|
28
|
+
@@gettext_untranslate[self]
|
29
|
+
end
|
30
|
+
|
31
|
+
# Sets the untranslate columns.
|
32
|
+
# (e.g.) untranslate :foo, :bar, :baz
|
33
|
+
def untranslate(*w)
|
34
|
+
ary = @@gettext_untranslate_columns[self] || []
|
35
|
+
ary += w.collect{|v| v.to_s}
|
36
|
+
@@gettext_untranslate_columns[self] = ary
|
37
|
+
end
|
38
|
+
|
39
|
+
# Returns true if the column is set "untranslate".
|
40
|
+
# (e.g.) untranslate? :foo
|
41
|
+
def untranslate?(columnname)
|
42
|
+
ary = @@gettext_untranslate_columns[self] || []
|
43
|
+
ary.include?(columnname)
|
44
|
+
end
|
45
|
+
|
46
|
+
def untranslate_data #:nodoc:
|
47
|
+
[@@gettext_untranslate[self], @@gettext_untranslate_columns[self] || []]
|
48
|
+
end
|
49
|
+
|
50
|
+
def columns_with_gettext_activerecord
|
51
|
+
unless defined? @columns
|
52
|
+
@columns = nil
|
53
|
+
end
|
54
|
+
unless @columns
|
55
|
+
@columns = columns_without_gettext_activerecord
|
56
|
+
@columns.each {|column|
|
57
|
+
column.table_class = self
|
58
|
+
}
|
59
|
+
end
|
60
|
+
@columns
|
61
|
+
end
|
62
|
+
alias_method_chain :columns, :gettext_activerecord
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
=begin
|
2
|
+
lib/gettext_activerecord/i18n.rb - GetText for ActiveRecord's I18n.
|
3
|
+
|
4
|
+
Copyright (C) 2009 Masao Mutoh
|
5
|
+
|
6
|
+
You may redistribute it and/or modify it under the same
|
7
|
+
license terms as Ruby.
|
8
|
+
=end
|
9
|
+
|
10
|
+
module I18n #:nodoc:
|
11
|
+
class << self
|
12
|
+
include GetText
|
13
|
+
# gettext_activerecord doesn't define backend. So it can be used with another backend.
|
14
|
+
def translate_with_gettext_activerecord(key, options = {}) #:nodoc:
|
15
|
+
if options[:scope] == [:activerecord, :errors]
|
16
|
+
options[:attribute] = key.to_s.split(".")[3]
|
17
|
+
options # This value will be used in ActiveRecord::Base::Errors.localize_error_messages
|
18
|
+
else
|
19
|
+
translate_without_gettext_activerecord(key, options)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
alias_method_chain :translate, :gettext_activerecord #:nodoc:
|
23
|
+
alias_method :t_with_gettext_activerecord, :translate_with_gettext_activerecord #:nodoc:
|
24
|
+
alias_method_chain :t, :gettext_activerecord #:nodoc:
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
=begin
|
2
|
+
lib/gettext_activerecord/migration.rb - GetText for ActiveRecord::Migration
|
3
|
+
|
4
|
+
Copyright (C) 2009 Masao Mutoh
|
5
|
+
|
6
|
+
You may redistribute it and/or modify it under the same
|
7
|
+
license terms as Ruby.
|
8
|
+
|
9
|
+
=end
|
10
|
+
|
11
|
+
module ActiveRecord #:nodoc:
|
12
|
+
class Migration
|
13
|
+
extend GetText
|
14
|
+
include GetText
|
15
|
+
end
|
16
|
+
end
|