gettext 1.3.0 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +47 -0
- data/NEWS +10 -1
- data/README +11 -11
- data/ext/gettext/locale_system.c +4 -3
- data/lib/gettext.rb +2 -3
- data/lib/gettext/locale.rb +2 -1
- data/lib/gettext/poparser.rb +2 -2
- data/lib/gettext/rails.rb +20 -11
- data/lib/gettext/textdomain.rb +2 -1
- data/lib/gettext/version.rb +1 -1
- data/samples/rails/README +2 -2
- data/test/gettext_test.rb +10 -0
- data/test/gettext_test_locale.rb +10 -2
- data/test/gettext_test_rails.rb +38 -0
- data/test/test.sh +1 -1
- metadata +3 -2
data/ChangeLog
CHANGED
@@ -1,3 +1,50 @@
|
|
1
|
+
2006-04-15 Masao Mutoh <mutoh@highway.ne.jp>
|
2
|
+
|
3
|
+
* NEWS: Updated.
|
4
|
+
* lib/gettext/version.rb: Increment minor version.
|
5
|
+
* test/gettext_test_rails.rb: Works with Rails-1.1.2.
|
6
|
+
* test/gettext_test_locale.rb: Works on OpenBSD 3.8.
|
7
|
+
* ext/gettext/locale_system.c: Set nil instead of "UTF-8"
|
8
|
+
when nl_langinfo is not found.
|
9
|
+
* samples/rails/README: Updated.
|
10
|
+
|
11
|
+
2006-04-05 Masao Mutoh <mutoh@highway.ne.jp>
|
12
|
+
|
13
|
+
* ext/gettext/locale_system.c: Fix compilation problem
|
14
|
+
when /usr/include/langinfo.h doesn't have CODESET such as OpenBSD.
|
15
|
+
You may need to set OUTPUT_CHARSET to ENV variable in such
|
16
|
+
environment.
|
17
|
+
Reported by Johan Allard.
|
18
|
+
|
19
|
+
2006-03-25 Masao Mutoh <mutoh@highway.ne.jp>
|
20
|
+
|
21
|
+
* lib/gettext/rails.rb: Revised docs.
|
22
|
+
|
23
|
+
2006-03-24 Masao Mutoh <mutoh@highway.ne.jp>
|
24
|
+
|
25
|
+
* lib/gettext/rails.rb: Support ActionWebService.
|
26
|
+
Reported by Nick Snels.
|
27
|
+
|
28
|
+
2006-03-19 Masao Mutoh <mutoh@highway.ne.jp>
|
29
|
+
|
30
|
+
* lib/gettext/rails.rb: Improve multipart-mail in ja locale by Nobuhiro IMAI.
|
31
|
+
|
32
|
+
2006-03-16 Masao Mutoh <mutoh@highway.ne.jp>
|
33
|
+
|
34
|
+
* lib/gettext/rails.rb: ActiveMailer works with multipart-mail in ja locale.
|
35
|
+
Reported by Nobuhiro IMAI.
|
36
|
+
* lib/gettext/textdomain.rb: GetText::TextDomain.gettext returns "" when
|
37
|
+
arg is "" or nil.
|
38
|
+
* lib/gettext.rb, locale.rb: Fix the problem to switch the locale again.
|
39
|
+
* test/gettext_test.rb: Add the test for above problem.
|
40
|
+
* test/gettext_test_rails.rb: Added, too.
|
41
|
+
* test/test.sh: ditto.
|
42
|
+
|
43
|
+
2006-03-12 Masao Mutoh <mutoh@highway.ne.jp>
|
44
|
+
|
45
|
+
* lib/gettext.rb: GetText.locale= reset Locale's default locale.
|
46
|
+
Reported by Donald Piret.
|
47
|
+
|
1
48
|
2006-03-11 Masao Mutoh <mutoh@highway.ne.jp>
|
2
49
|
|
3
50
|
* lib/gettext/rails.rb: ActiveRecord::Column.human_name translates
|
data/NEWS
CHANGED
@@ -1,4 +1,13 @@
|
|
1
|
-
= Ruby-GetText-Package-1.
|
1
|
+
= Ruby-GetText-Package-1.4.0 (2006-04-15)
|
2
|
+
|
3
|
+
* Support OpenBSD.
|
4
|
+
* Fix bugs
|
5
|
+
* Enhance supports of Ruby on Rails.
|
6
|
+
* Improved ActionMailer localization support.
|
7
|
+
* Support ActionWebService
|
8
|
+
* test/gettext_test_rails.rb works with Rails-1.1.2.
|
9
|
+
|
10
|
+
= Ruby-GetText-Package-1.3.0 (2006-03-11)
|
2
11
|
|
3
12
|
* Improve Local::Object
|
4
13
|
* POSIX, C convert to "en".
|
data/README
CHANGED
@@ -118,17 +118,17 @@ Swedish - Nikolai Weibull <mailing-lists.ruby-talk at rawuncut.elitem
|
|
118
118
|
|
119
119
|
Status of translations
|
120
120
|
----------------------
|
121
|
-
cs - 1.
|
122
|
-
fr - 1.
|
123
|
-
de - 1.
|
124
|
-
el - 1.
|
125
|
-
es - 1.
|
126
|
-
it - 1.0.0
|
127
|
-
ja - 1.
|
128
|
-
ko - 1.
|
129
|
-
nl - 1.
|
130
|
-
pt_BR - 1.
|
131
|
-
sv - 0.8.0
|
121
|
+
cs - 1.4.0
|
122
|
+
fr - 1.4.0
|
123
|
+
de - 1.4.0
|
124
|
+
el - 1.4.0
|
125
|
+
es - 1.4.0
|
126
|
+
it - 1.0.0 (old)
|
127
|
+
ja - 1.4.0
|
128
|
+
ko - 1.4.0
|
129
|
+
nl - 1.4.0
|
130
|
+
pt_BR - 1.4.0
|
131
|
+
sv - 0.8.0 (old)
|
132
132
|
|
133
133
|
Maintainer
|
134
134
|
----------
|
data/ext/gettext/locale_system.c
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
* You may redistribute it and/or modify it under the same
|
6
6
|
* license terms as Ruby.
|
7
7
|
*
|
8
|
-
* $Id: locale_system.c,v 1.
|
8
|
+
* $Id: locale_system.c,v 1.5 2006/04/15 03:58:52 mutoh Exp $
|
9
9
|
*/
|
10
10
|
|
11
11
|
#include "ruby.h"
|
@@ -50,13 +50,14 @@ gt_codeset(self)
|
|
50
50
|
VALUE self;
|
51
51
|
{
|
52
52
|
#if defined HAVE_WINDOWS_H
|
53
|
+
/* This isn't used now. See lib/gettext/locale_win32.rb */
|
53
54
|
char buf[2 + 10 + 1];
|
54
55
|
sprintf (buf, "CP%u", GetACP ());
|
55
56
|
return rb_str_new2(buf);
|
56
|
-
#elif defined HAVE_NL_LANGINFO
|
57
|
+
#elif defined HAVE_NL_LANGINFO && defined CODESET
|
57
58
|
return rb_str_new2(nl_langinfo(CODESET));
|
58
59
|
#else
|
59
|
-
return
|
60
|
+
return Qnil;
|
60
61
|
#endif
|
61
62
|
}
|
62
63
|
|
data/lib/gettext.rb
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
You may redistribute it and/or modify it under the same
|
11
11
|
license terms as Ruby.
|
12
12
|
|
13
|
-
$Id: gettext.rb,v 1.
|
13
|
+
$Id: gettext.rb,v 1.11 2006/03/15 16:34:05 mutoh Exp $
|
14
14
|
=end
|
15
15
|
|
16
16
|
require 'rbconfig'
|
@@ -199,7 +199,7 @@ module GetText
|
|
199
199
|
else
|
200
200
|
ret = nil
|
201
201
|
end
|
202
|
-
Locale.
|
202
|
+
Locale.set(ret)
|
203
203
|
|
204
204
|
textdomain = @@__textdomain[src]
|
205
205
|
textdomain.set_locale(ret, true) if textdomain
|
@@ -217,7 +217,6 @@ module GetText
|
|
217
217
|
end
|
218
218
|
|
219
219
|
# Sets charset(String) such as "euc-jp", "sjis", "CP932", "utf-8", ...
|
220
|
-
# This affect all of the TextDomains which are created after calling this method.
|
221
220
|
# You shouldn't use this in your own Libraries.
|
222
221
|
# * charset: an output_charset
|
223
222
|
# * Returns: charset
|
data/lib/gettext/locale.rb
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
You may redistribute it and/or modify it under the same
|
7
7
|
license terms as Ruby.
|
8
8
|
|
9
|
-
$Id: locale.rb,v 1.
|
9
|
+
$Id: locale.rb,v 1.11 2006/03/15 16:34:05 mutoh Exp $
|
10
10
|
=end
|
11
11
|
|
12
12
|
require 'gettext/locale_object'
|
@@ -159,6 +159,7 @@ module Locale
|
|
159
159
|
charset = nil
|
160
160
|
end
|
161
161
|
|
162
|
+
set_current(nil)
|
162
163
|
if lang.kind_of? String
|
163
164
|
set_default(Locale::Object.new(lang, country, charset))
|
164
165
|
elsif lang.kind_of? Locale::Object
|
data/lib/gettext/poparser.rb
CHANGED
@@ -20,7 +20,7 @@ module GetText
|
|
20
20
|
|
21
21
|
class PoParser < Racc::Parser
|
22
22
|
|
23
|
-
module_eval <<'..end src/poparser.ry modeval..
|
23
|
+
module_eval <<'..end src/poparser.ry modeval..id9eaafde9e3', 'src/poparser.ry', 90
|
24
24
|
include GetText
|
25
25
|
GetText.bindtextdomain("rgettext")
|
26
26
|
|
@@ -103,7 +103,7 @@ module_eval <<'..end src/poparser.ry modeval..id8534b05645', 'src/poparser.ry',
|
|
103
103
|
@comments << comment
|
104
104
|
end
|
105
105
|
|
106
|
-
..end src/poparser.ry modeval..
|
106
|
+
..end src/poparser.ry modeval..id9eaafde9e3
|
107
107
|
|
108
108
|
##### racc 1.4.4 generates ###
|
109
109
|
|
data/lib/gettext/rails.rb
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
You may redistribute it and/or modify it under the same
|
7
7
|
license terms as Ruby.
|
8
8
|
|
9
|
-
$Id: rails.rb,v 1.
|
9
|
+
$Id: rails.rb,v 1.29 2006/03/25 08:32:53 mutoh Exp $
|
10
10
|
=end
|
11
11
|
|
12
12
|
require 'gettext/cgi'
|
@@ -108,9 +108,13 @@ module ActionController #:nodoc:
|
|
108
108
|
after_filter :init_content_type
|
109
109
|
|
110
110
|
def init_gettext_main #:nodoc:
|
111
|
-
|
112
|
-
|
113
|
-
|
111
|
+
if defined? request.cgi
|
112
|
+
cgi_ = request.cgi
|
113
|
+
cgi_.params["lang"] = [@params["lang"]] if @params["lang"]
|
114
|
+
bindtextdomain(@@gettext_domainname, cgi_) #You need to pass CGI object first.
|
115
|
+
else
|
116
|
+
bindtextdomain(@@gettext_domainname, nil, @params["lang"])
|
117
|
+
end
|
114
118
|
end
|
115
119
|
|
116
120
|
def init_content_type #:nodoc:
|
@@ -136,6 +140,10 @@ module ActionController #:nodoc:
|
|
136
140
|
# * charset: the output charset. Default is "UTF-8"
|
137
141
|
# * content_type: the content type. Default is "text/html"
|
138
142
|
#
|
143
|
+
# locale is searched the order by @params["lang"] > "lang" value of QUERY_STRING >
|
144
|
+
# "lang" value of Cookie > HTTP_ACCEPT_LANGUAGE value > Default locale(en).
|
145
|
+
# And the charset is set order by "the argument of bindtextdomain" > HTTP_ACCEPT_CHARSET > Default charset(UTF-8).
|
146
|
+
#
|
139
147
|
# If you want to separate the textdomain each controllers, you need to call this function in the each controllers.
|
140
148
|
#
|
141
149
|
# app/controller/blog_controller.rb:
|
@@ -386,14 +394,15 @@ module ActionMailer #:nodoc:
|
|
386
394
|
end
|
387
395
|
|
388
396
|
def create!(*arg) #:nodoc:
|
397
|
+
_create!(*arg)
|
389
398
|
if Locale.get.language == "ja"
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
399
|
+
require 'nkf'
|
400
|
+
@mail.subject = base64(@mail.subject)
|
401
|
+
part = @mail.parts.empty? ? @mail : @mail.parts.first
|
402
|
+
if part.content_type == 'text/plain'
|
403
|
+
part.charset = 'iso-2022-jp'
|
404
|
+
part.body = NKF.nkf('-j', part.body)
|
405
|
+
end
|
397
406
|
end
|
398
407
|
@mail
|
399
408
|
end
|
data/lib/gettext/textdomain.rb
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
You may redistribute it and/or modify it under the same
|
11
11
|
license terms as Ruby.
|
12
12
|
|
13
|
-
$Id: textdomain.rb,v 1.
|
13
|
+
$Id: textdomain.rb,v 1.15 2006/03/15 16:55:47 mutoh Exp $
|
14
14
|
=end
|
15
15
|
|
16
16
|
require 'gettext/string'
|
@@ -95,6 +95,7 @@ module GetText
|
|
95
95
|
# * msgid: the original message.
|
96
96
|
# * Returns: the translated string.
|
97
97
|
def gettext(msgid)
|
98
|
+
return "" if msgid == "" or msgid.nil?
|
98
99
|
if @current_mo and @current_mo[msgid] and (@current_mo[msgid].size > 0)
|
99
100
|
@current_mo[msgid]
|
100
101
|
else
|
data/lib/gettext/version.rb
CHANGED
data/samples/rails/README
CHANGED
data/test/gettext_test.rb
CHANGED
@@ -55,6 +55,8 @@ class TestGetText < Test::Unit::TestCase
|
|
55
55
|
GetText.locale = nil
|
56
56
|
bindtextdomain("test1", "locale")
|
57
57
|
assert_equal("japanese", gettext("language"))
|
58
|
+
assert_equal("", gettext(""))
|
59
|
+
assert_equal("", gettext(nil))
|
58
60
|
end
|
59
61
|
|
60
62
|
def test_class
|
@@ -239,6 +241,14 @@ DDD
|
|
239
241
|
setlocale("fr")
|
240
242
|
assert_equal("french", _("language"))
|
241
243
|
|
244
|
+
Locale.set "en"
|
245
|
+
bindtextdomain("test1", "locale")
|
246
|
+
assert_equal("language", _("language"))
|
247
|
+
|
248
|
+
Locale.set "ja"
|
249
|
+
bindtextdomain("test1", "locale")
|
250
|
+
assert_equal("japanese", _("language"))
|
251
|
+
|
242
252
|
# Confirm to set Locale::Object.
|
243
253
|
loc = Locale::Object.new("ja_JP.eucJP")
|
244
254
|
assert_equal(loc, GetText.locale = loc)
|
data/test/gettext_test_locale.rb
CHANGED
@@ -230,12 +230,20 @@ class TestLocale < Test::Unit::TestCase
|
|
230
230
|
else
|
231
231
|
loc = Locale.get
|
232
232
|
assert_equal("ja_JP", Locale.get.to_str)
|
233
|
-
|
233
|
+
if /openbsd/ =~ RUBY_PLATFORM
|
234
|
+
assert_equal("eucJP", Locale.codeset)
|
235
|
+
else
|
236
|
+
assert_equal("EUC-JP", Locale.codeset)
|
237
|
+
end
|
234
238
|
|
235
239
|
loc = Locale.set("ja_JP")
|
236
240
|
assert_equal("ja_JP", loc.to_str)
|
237
241
|
assert_equal("ja_JP", Locale.get.to_str)
|
238
|
-
|
242
|
+
if /openbsd/ =~ RUBY_PLATFORM
|
243
|
+
assert_equal(nil, Locale.codeset)
|
244
|
+
else
|
245
|
+
assert_equal("EUC-JP", Locale.codeset)
|
246
|
+
end
|
239
247
|
|
240
248
|
# Confirm to set Locale::Object
|
241
249
|
assert_equal(loc, Locale.set(loc))
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'rubygems'
|
3
|
+
require_gem 'rails'
|
4
|
+
require 'initializer'
|
5
|
+
begin
|
6
|
+
require 'rails_info'
|
7
|
+
rescue Gem::Exception
|
8
|
+
module Rails
|
9
|
+
module Info
|
10
|
+
module_function
|
11
|
+
def property(name, &block)
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
require 'gettext/rails'
|
18
|
+
require 'stringio'
|
19
|
+
|
20
|
+
class TestRails < Test::Unit::TestCase
|
21
|
+
def setup_cgi(str)
|
22
|
+
$stdin = StringIO.new(str)
|
23
|
+
cgi = CGI.new
|
24
|
+
Locale.cgi = cgi
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_bindtextdomain
|
28
|
+
#query string
|
29
|
+
Locale.default = Locale::Object.new("ja_JP.UTF-8")
|
30
|
+
GetText.locale = "fr"
|
31
|
+
GetText.bindtextdomain("test1", "locale")
|
32
|
+
assert_equal("french", GetText._("language"))
|
33
|
+
setup_cgi("lang=ja_JP")
|
34
|
+
ENV["HTTP_ACCEPT_LANGUAGE"] = "ja,en-us;q=0.7,en;q=0.3"
|
35
|
+
GetText.bindtextdomain("test1", "locale")
|
36
|
+
assert_equal("french", GetText._("language"))
|
37
|
+
end
|
38
|
+
end
|
data/test/test.sh
CHANGED
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: gettext
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.
|
7
|
-
date: 2006-
|
6
|
+
version: 1.4.0
|
7
|
+
date: 2006-04-15 00:00:00 +09:00
|
8
8
|
summary: Ruby-GetText-Package is a libary and tools to localize messages.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -669,6 +669,7 @@ files:
|
|
669
669
|
- test/test_erb.rxml
|
670
670
|
- test/locale
|
671
671
|
- test/gettext_test_cgi.rb
|
672
|
+
- test/gettext_test_rails.rb
|
672
673
|
- test/testlib4.rb
|
673
674
|
- test/po/la
|
674
675
|
- test/po/ja
|