gettext 1.10.0 → 1.90.0
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +156 -2
- data/NEWS +28 -0
- data/README +128 -138
- data/Rakefile +83 -43
- data/data/locale/es/LC_MESSAGES/rails.mo +0 -0
- data/data/locale/hu/LC_MESSAGES/rails.mo +0 -0
- data/data/locale/hu/LC_MESSAGES/rgettext.mo +0 -0
- data/data/locale/ua/LC_MESSAGES/rails.mo +0 -0
- data/data/locale/ua/LC_MESSAGES/rgettext.mo +0 -0
- data/doc/classes/ActiveRecord/Base.html +360 -0
- data/doc/classes/ActiveRecord/ConnectionAdapters/Column.html +182 -0
- data/doc/classes/ActiveRecord/Migration.html +118 -0
- data/doc/classes/GetText.html +1790 -0
- data/doc/classes/GetText/ActiveRecordParser.html +236 -0
- data/doc/classes/GetText/Container.html +119 -0
- data/doc/classes/GetText/ErbContainer.html +223 -0
- data/doc/classes/GetText/ErbParser.html +156 -0
- data/doc/classes/GetText/GladeParser.html +133 -0
- data/doc/classes/GetText/NoboundTextDomainError.html +119 -0
- data/doc/classes/GetText/PoParser.html +169 -0
- data/doc/classes/GetText/Rails.html +293 -0
- data/doc/classes/GetText/RubyParser.html +123 -0
- data/doc/classes/GetText/TextDomain.html +572 -0
- data/doc/classes/GetText/TextDomainManager.html +443 -0
- data/doc/classes/Iconv.html +257 -0
- data/doc/classes/Iconv/Failure.html +105 -0
- data/doc/classes/Iconv/IllegalSequence.html +118 -0
- data/doc/classes/Iconv/InvalidCharacter.html +118 -0
- data/doc/classes/Iconv/InvalidEncoding.html +118 -0
- data/doc/classes/Locale.html +839 -0
- data/doc/classes/Locale/Object.html +799 -0
- data/doc/classes/Locale/SystemBase.html +271 -0
- data/doc/classes/Locale/SystemCGI.html +312 -0
- data/doc/classes/Locale/SystemJRuby.html +112 -0
- data/doc/classes/Locale/SystemPosix.html +113 -0
- data/doc/classes/Locale/SystemWin32.html +182 -0
- data/doc/classes/MOFile.html +678 -0
- data/doc/classes/MOFile/InvalidFormat.html +111 -0
- data/doc/classes/Module.html +158 -0
- data/doc/classes/String.html +225 -0
- data/doc/created.rid +1 -0
- data/doc/files/ChangeLog.html +2355 -0
- data/doc/files/README.html +510 -0
- data/doc/files/lib/gettext/active_record_rb.html +110 -0
- data/doc/files/lib/gettext/cgi_rb.html +110 -0
- data/doc/files/lib/gettext/container_rb.html +108 -0
- data/doc/files/lib/gettext/erb_rb.html +109 -0
- data/doc/files/lib/gettext/iconv_rb.html +109 -0
- data/doc/files/lib/gettext/mo_rb.html +108 -0
- data/doc/files/lib/gettext/parser/active_record_rb.html +119 -0
- data/doc/files/lib/gettext/parser/erb_rb.html +109 -0
- data/doc/files/lib/gettext/parser/glade_rb.html +109 -0
- data/doc/files/lib/gettext/parser/ruby_rb.html +110 -0
- data/doc/files/lib/gettext/poparser_rb.html +108 -0
- data/doc/files/lib/gettext/rails_compat_rb.html +108 -0
- data/doc/files/lib/gettext/rails_rb.html +112 -0
- data/doc/files/lib/gettext/rgettext_rb.html +110 -0
- data/doc/files/lib/gettext/rmsgfmt_rb.html +112 -0
- data/doc/files/lib/gettext/rmsgmerge_rb.html +112 -0
- data/doc/files/lib/gettext/string_rb.html +101 -0
- data/doc/files/lib/gettext/textdomain_rb.html +109 -0
- data/doc/files/lib/gettext/textdomainmanager_rb.html +109 -0
- data/doc/files/lib/gettext/utils_rb.html +111 -0
- data/doc/files/lib/gettext/version_rb.html +101 -0
- data/doc/files/lib/gettext_rb.html +113 -0
- data/doc/files/lib/locale/base_rb.html +101 -0
- data/doc/files/lib/locale/cgi_rb.html +108 -0
- data/doc/files/lib/locale/jruby_rb.html +110 -0
- data/doc/files/lib/locale/object_rb.html +101 -0
- data/doc/files/lib/locale/posix_rb.html +108 -0
- data/doc/files/lib/locale/win32_rb.html +110 -0
- data/doc/files/lib/locale/win32_table_rb.html +101 -0
- data/doc/files/lib/locale_rb.html +111 -0
- data/doc/fr_class_index.html +57 -0
- data/doc/fr_file_index.html +58 -0
- data/doc/fr_method_index.html +155 -0
- data/doc/index.html +24 -0
- data/doc/rdoc-style.css +208 -0
- data/lib/gettext.rb +102 -50
- data/lib/gettext/cgi.rb +2 -27
- data/lib/gettext/iconv.rb +76 -62
- data/lib/gettext/mo.rb +3 -3
- data/lib/gettext/parser/erb.rb +2 -2
- data/lib/gettext/rails.rb +69 -48
- data/lib/gettext/rgettext.rb +2 -2
- data/lib/gettext/rmsgmerge.rb +2 -2
- data/lib/gettext/string.rb +9 -5
- data/lib/gettext/textdomain.rb +3 -3
- data/lib/gettext/textdomainmanager.rb +5 -5
- data/lib/gettext/utils.rb +4 -3
- data/lib/gettext/version.rb +1 -1
- data/lib/{gettext/locale.rb → locale.rb} +11 -58
- data/lib/locale/base.rb +60 -0
- data/lib/{gettext/locale_cgi.rb → locale/cgi.rb} +30 -28
- data/lib/locale/jruby.rb +36 -0
- data/lib/{gettext/locale_object.rb → locale/object.rb} +78 -24
- data/lib/locale/posix.rb +22 -0
- data/lib/locale/win32.rb +48 -0
- data/lib/{gettext/locale_table_win32.rb → locale/win32_table.rb} +3 -2
- data/po/es/rails.po +1 -2
- data/po/hu/rails.po +139 -0
- data/po/hu/rgettext.po +126 -0
- data/po/ja/rails.po +5 -5
- data/po/ua/rails.po +150 -0
- data/po/ua/rgettext.po +132 -0
- data/pre-setup.rb +2 -4
- data/samples/cgi/cookie.cgi +1 -0
- data/samples/cgi/helloerb1.cgi +6 -3
- data/samples/cgi/helloerb2.cgi +6 -3
- data/samples/cgi/http.rb +3 -7
- data/samples/cgi/index.cgi +2 -1
- data/samples/cgi/locale/hu/LC_MESSAGES/helloerb1.mo +0 -0
- data/samples/cgi/locale/hu/LC_MESSAGES/helloerb2.mo +0 -0
- data/samples/cgi/locale/hu/LC_MESSAGES/hellolib.mo +0 -0
- data/samples/cgi/locale/hu/LC_MESSAGES/main.mo +0 -0
- data/samples/cgi/locale/ua/LC_MESSAGES/helloerb1.mo +0 -0
- data/samples/cgi/locale/ua/LC_MESSAGES/helloerb2.mo +0 -0
- data/samples/cgi/locale/ua/LC_MESSAGES/hellolib.mo +0 -0
- data/samples/cgi/locale/ua/LC_MESSAGES/main.mo +0 -0
- data/samples/cgi/po/hu/helloerb1.po +59 -0
- data/samples/cgi/po/hu/helloerb2.po +51 -0
- data/samples/cgi/po/hu/hellolib.po +23 -0
- data/samples/cgi/po/hu/main.po +82 -0
- data/samples/cgi/po/ua/helloerb1.po +62 -0
- data/samples/cgi/po/ua/helloerb2.po +54 -0
- data/samples/cgi/po/ua/hellolib.po +26 -0
- data/samples/cgi/po/ua/main.po +84 -0
- data/samples/locale/hu/LC_MESSAGES/hello.mo +0 -0
- data/samples/locale/hu/LC_MESSAGES/hello2.mo +0 -0
- data/samples/locale/hu/LC_MESSAGES/hello_noop.mo +0 -0
- data/samples/locale/hu/LC_MESSAGES/hello_plural.mo +0 -0
- data/samples/locale/hu/LC_MESSAGES/helloglade2.mo +0 -0
- data/samples/locale/hu/LC_MESSAGES/hellogtk.mo +0 -0
- data/samples/locale/hu/LC_MESSAGES/hellotk.mo +0 -0
- data/samples/locale/ua/LC_MESSAGES/hello.mo +0 -0
- data/samples/locale/ua/LC_MESSAGES/hello2.mo +0 -0
- data/samples/locale/ua/LC_MESSAGES/hello_noop.mo +0 -0
- data/samples/locale/ua/LC_MESSAGES/hello_plural.mo +0 -0
- data/samples/locale/ua/LC_MESSAGES/helloglade2.mo +0 -0
- data/samples/locale/ua/LC_MESSAGES/hellogtk.mo +0 -0
- data/samples/locale/ua/LC_MESSAGES/hellotk.mo +0 -0
- data/samples/po/hu/hello.po +22 -0
- data/samples/po/hu/hello2.po +30 -0
- data/samples/po/hu/hello_noop.po +26 -0
- data/samples/po/hu/hello_plural.po +25 -0
- data/samples/po/hu/helloglade2.po +31 -0
- data/samples/po/hu/hellogtk.po +22 -0
- data/samples/po/hu/hellotk.po +23 -0
- data/samples/po/ua/hello.po +22 -0
- data/samples/po/ua/hello2.po +30 -0
- data/samples/po/ua/hello_noop.po +26 -0
- data/samples/po/ua/hello_plural.po +29 -0
- data/samples/po/ua/helloglade2.po +34 -0
- data/samples/po/ua/hellogtk.po +22 -0
- data/samples/po/ua/hellotk.po +26 -0
- data/samples/rails/README +15 -31
- data/samples/rails/Rakefile +1 -1
- data/samples/rails/app/controllers/application.rb +11 -4
- data/samples/rails/app/controllers/articles_controller.rb +96 -0
- data/samples/rails/app/helpers/application_helper.rb +1 -1
- data/samples/rails/app/helpers/{blog_helper.rb → articles_helper.rb} +6 -7
- data/samples/rails/app/views/articles/edit.html.erb +18 -0
- data/samples/rails/app/views/articles/index.html.erb +17 -0
- data/samples/rails/app/views/articles/new.html.erb +16 -0
- data/samples/rails/app/views/articles/show.html.erb +6 -0
- data/samples/rails/app/views/layouts/articles.html.erb +26 -0
- data/samples/rails/config/boot.rb +104 -13
- data/samples/rails/config/database.yml +24 -21
- data/samples/rails/config/environment.rb +35 -30
- data/samples/rails/config/environments/development.rb +5 -6
- data/samples/rails/config/environments/production.rb +2 -3
- data/samples/rails/config/environments/test.rb +5 -2
- data/samples/rails/config/initializers/inflections.rb +10 -0
- data/samples/rails/config/initializers/mime_types.rb +5 -0
- data/samples/rails/config/routes.rb +30 -11
- data/samples/rails/db/migrate/001_create_articles.rb +14 -0
- data/samples/rails/db/schema.rb +16 -5
- data/samples/rails/lib/tasks/gettext.rake +2 -2
- data/samples/rails/locale/bs/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/ca/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/cs/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/de/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/el/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/en/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/eo/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/es/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/fr/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/hr/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/hu/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/it/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/ja/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/ko/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/nb/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/nl/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/pt_BR/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/ru/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/ua/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/vi/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/zh/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/zh_TW/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/po/blog.pot +24 -24
- data/samples/rails/po/bs/blog.po +29 -29
- data/samples/rails/po/ca/blog.po +27 -27
- data/samples/rails/po/cs/blog.po +27 -27
- data/samples/rails/po/de/blog.po +27 -27
- data/samples/rails/po/el/blog.po +27 -27
- data/samples/rails/po/en/blog.po +24 -24
- data/samples/rails/po/eo/blog.po +27 -27
- data/samples/rails/po/es/blog.po +27 -27
- data/samples/rails/po/fr/blog.po +27 -27
- data/samples/rails/po/hr/blog.po +29 -29
- data/samples/rails/po/hu/blog.po +105 -0
- data/samples/rails/po/it/blog.po +27 -27
- data/samples/rails/po/ja/blog.po +27 -27
- data/samples/rails/po/ko/blog.po +27 -27
- data/samples/rails/po/nb/blog.po +26 -27
- data/samples/rails/po/nl/blog.po +27 -27
- data/samples/rails/po/pt_BR/blog.po +27 -27
- data/samples/rails/po/ru/blog.po +27 -27
- data/samples/rails/po/ua/blog.po +108 -0
- data/samples/rails/po/vi/blog.po +26 -31
- data/samples/rails/po/zh/blog.po +27 -27
- data/samples/rails/po/zh_TW/blog.po +27 -27
- data/samples/rails/public/404.html +27 -5
- data/samples/rails/public/422.html +30 -0
- data/samples/rails/public/500.html +27 -5
- data/samples/rails/public/index.html +6 -6
- data/samples/rails/public/javascripts/application.js +2 -0
- data/samples/rails/public/javascripts/controls.js +532 -319
- data/samples/rails/public/javascripts/dragdrop.js +521 -133
- data/samples/rails/public/javascripts/effects.js +708 -442
- data/samples/rails/public/javascripts/prototype.js +3393 -953
- data/samples/rails/public/stylesheets/blog.css +4 -0
- data/samples/rails/public/stylesheets/scaffold.css +5 -5
- data/samples/rails/test/functional/articles_controller_test.rb +51 -0
- data/samples/rails/test/test_helper.rb +31 -19
- data/samples/rails/test/unit/article_test.rb +2 -9
- data/samples/rails/vendor/plugins/gettext/init.rb +5 -3
- data/samples/rails/vendor/plugins/gettext/lib/gettext_plugin.rb +9 -10
- data/samples/rails/vendor/plugins/gettext/locale/eo/LC_MESSAGES/gettext_plugin.mo +0 -0
- data/samples/rails/vendor/plugins/gettext/locale/hu/LC_MESSAGES/gettext_plugin.mo +0 -0
- data/samples/rails/vendor/plugins/gettext/locale/ua/LC_MESSAGES/gettext_plugin.mo +0 -0
- data/samples/rails/vendor/plugins/gettext/po/eo/gettext_plugin.po +28 -0
- data/samples/rails/vendor/plugins/gettext/po/hu/gettext_plugin.po +27 -0
- data/samples/rails/vendor/plugins/gettext/po/ua/gettext_plugin.po +30 -0
- data/test/Rakefile +2 -1
- data/test/benchmark.rb +28 -0
- data/test/fixtures/topic.rb +15 -0
- data/test/rails/Rakefile +2 -1
- data/test/rails/app/controllers/articles_controller.rb +1 -1
- data/test/rails/app/controllers/users_controller.rb +10 -0
- data/test/rails/app/models/user.rb +2 -1
- data/test/rails/app/views/articles/{_form.rhtml → _form.html.erb} +0 -0
- data/test/rails/app/views/articles/active_form_error.html.erb +1 -0
- data/test/rails/app/views/articles/change_title_error_messages_for.html.erb +21 -0
- data/test/rails/app/views/articles/{edit.rhtml → edit.html.erb} +0 -0
- data/test/rails/app/views/articles/{list.rhtml → list.html.erb} +0 -3
- data/test/rails/app/views/articles/{list_fr.rhtml → list_fr.html.erb} +0 -0
- data/test/rails/app/views/articles/{multi_error_messages_for.rhtml → multi_error_messages_for.html.erb} +0 -0
- data/test/rails/app/views/articles/{new.rhtml → new.html.erb} +0 -0
- data/test/rails/app/views/articles/{show.rhtml → show.html.erb} +0 -0
- data/test/rails/app/views/layouts/{application.rhtml → application.html.erb} +0 -0
- data/test/rails/app/views/layouts/{mailer.rhtml → mailer.html.erb} +0 -0
- data/test/rails/app/views/layouts/users.html.erb +13 -0
- data/test/rails/app/views/users/custom_error_message.html.erb +13 -0
- data/test/rails/app/views/users/custom_error_message_fr.html.erb +13 -0
- data/test/rails/config/environment.rb +6 -1
- data/test/rails/config/environments/development.rb +0 -3
- data/test/rails/db/schema.rb +17 -10
- data/test/rails/locale/ja/LC_MESSAGES/rails_test.mo +0 -0
- data/test/rails/log/development.log +136 -29
- data/test/rails/log/test.log +2002 -128
- data/test/rails/po/ja/rails_test.po +68 -61
- data/test/rails/po/rails_test.pot +57 -55
- data/test/rails/test/fixtures/users.yml +5 -0
- data/test/rails/test/functional/articles_controller_test.rb +6 -1
- data/test/rails/test/functional/users_controller_test.rb +65 -0
- data/test/rails/test/result/en/custom_error_message.html +83 -0
- data/test/rails/test/result/en/custom_error_message_with_plural.html +83 -0
- data/test/rails/test/result/en/list.html +0 -3
- data/test/rails/test/result/en/multi_error_messages_for.html +1 -1
- data/test/rails/test/result/fr/custom_error_message.html +83 -0
- data/test/rails/test/result/fr/custom_error_message_with_plural.html +83 -0
- data/test/rails/test/result/ja/custom_error_message.html +83 -0
- data/test/rails/test/result/ja/custom_error_message_with_plural.html +83 -0
- data/test/rails/test/result/ja/list.html +0 -3
- data/test/rails/test/result/ja/multi_error_messages_for.html +1 -1
- data/test/test.sh +5 -7
- data/test/{gettext_test_active_record.rb → test_active_record.rb} +20 -10
- data/test/{gettext_test_cgi.rb → test_cgi.rb} +0 -0
- data/test/{gettext_test.rb → test_gettext.rb} +91 -9
- data/test/test_java.sh +12 -0
- data/test/{gettext_test_locale.rb → test_locale.rb} +3 -8
- data/test/{gettext_test_multi_textdomain.rb → test_multi_textdomain.rb} +2 -2
- data/test/{gettext_test_parser.rb → test_parser.rb} +77 -77
- data/test/{gettext_test_rails.rb → test_rails.rb} +0 -0
- data/test/{gettext_test_rails_caching.rb → test_rails_caching.rb} +16 -2
- data/test/{gettext_test_string.rb → test_string.rb} +1 -0
- data/test/{test_rubyparser_N.rb → testlib/N_.rb} +0 -0
- data/test/testlib/erb.rhtml +15 -0
- data/test/testlib/erb.rxml +16 -0
- data/test/{test_rubyparser.rb → testlib/gettext.rb} +0 -0
- data/test/testlib/gladeparser.glade +183 -0
- data/test/{test_rubyparser_n_.rb → testlib/ngettext.rb} +0 -0
- data/test/{test_nsgettext.rb → testlib/nsgettext.rb} +0 -0
- data/test/{test_sgettext.rb → testlib/sgettext.rb} +0 -0
- data/test/{testlib1.rb → testlib/testlib1.rb} +0 -0
- data/test/{testlib2.rb → testlib/testlib2.rb} +1 -1
- data/test/{testlib3.rb → testlib/testlib3.rb} +0 -0
- data/test/{testlib4.rb → testlib/testlib4.rb} +1 -1
- data/test/{testlib5.rb → testlib/testlib5.rb} +0 -0
- data/test/{testlib6.rb → testlib/testlib6.rb} +0 -0
- metadata +1374 -1171
- data/ext/gettext/extconf.rb +0 -20
- data/ext/gettext/locale_system.c +0 -83
- data/lib/gettext/locale_posix.rb +0 -82
- data/lib/gettext/locale_win32.rb +0 -82
- data/samples/cgi/ruby.bat +0 -4
- data/samples/rails/app/controllers/blog_controller.rb +0 -58
- data/samples/rails/app/views/blog/_form.rhtml +0 -25
- data/samples/rails/app/views/blog/edit.rhtml +0 -22
- data/samples/rails/app/views/blog/list.rhtml +0 -29
- data/samples/rails/app/views/blog/new.rhtml +0 -21
- data/samples/rails/app/views/blog/show.rhtml +0 -18
- data/samples/rails/app/views/layouts/blog.rhtml +0 -36
- data/samples/rails/test/functional/blog_controller_test.rb +0 -98
- data/test/gettext_runner.rb +0 -22
data/lib/locale/base.rb
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
=begin
|
2
|
+
locale/posix.rb
|
3
|
+
|
4
|
+
Copyright (C) 2002-2007 Masao Mutoh
|
5
|
+
|
6
|
+
You may redistribute it and/or modify it under the same
|
7
|
+
license terms as Ruby.
|
8
|
+
|
9
|
+
$Id: base.rb,v 1.1 2007/11/08 16:57:49 mutoh Exp $
|
10
|
+
=end
|
11
|
+
|
12
|
+
|
13
|
+
module Locale
|
14
|
+
# Locale::SystemBase module. This module overrides from other concrete modules.
|
15
|
+
# This is a low-level class. Application shouldn't use this directly.
|
16
|
+
module SystemBase
|
17
|
+
@@default_locale = Locale::Object.new("C", nil, "UTF-8")
|
18
|
+
|
19
|
+
def default_locale # :nodoc:
|
20
|
+
@@default_locale
|
21
|
+
end
|
22
|
+
|
23
|
+
# Gets the charset of the locale.
|
24
|
+
# * locale: Locale::Object
|
25
|
+
# * Returns the charset of the locale
|
26
|
+
def get_charset(locale)
|
27
|
+
locale.charset || @@default_locale.charset
|
28
|
+
end
|
29
|
+
|
30
|
+
# Gets the system locale using setlocale and nl_langinfo.
|
31
|
+
# * Returns the system locale (Locale::Object).
|
32
|
+
def locale_from_env
|
33
|
+
locale = nil
|
34
|
+
# At least one environment valiables should be set on *nix system.
|
35
|
+
[ENV["LC_ALL"], ENV["LC_MESSAGES"], ENV["LANG"]].each do |loc|
|
36
|
+
if loc != nil and loc.size > 0
|
37
|
+
locale = Locale::Object.new(loc)
|
38
|
+
locale.charset ||= get_charset(locale)
|
39
|
+
break
|
40
|
+
end
|
41
|
+
end
|
42
|
+
locale
|
43
|
+
end
|
44
|
+
|
45
|
+
# Gets the system locale.
|
46
|
+
# * Returns the system locale (Locale::Object)
|
47
|
+
def system
|
48
|
+
locale_from_env || default_locale
|
49
|
+
end
|
50
|
+
|
51
|
+
# Gets the charset of the locale.
|
52
|
+
# * locale: Locale::Object
|
53
|
+
# * Returns: the charset of the locale
|
54
|
+
def charset
|
55
|
+
# locale parameter is ignored now.
|
56
|
+
system.charset
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
@@ -1,19 +1,22 @@
|
|
1
1
|
=begin
|
2
|
-
|
2
|
+
locale/cgi.rb
|
3
3
|
|
4
|
-
Copyright (C) 2002-
|
4
|
+
Copyright (C) 2002-2007 Masao Mutoh
|
5
5
|
|
6
6
|
You may redistribute it and/or modify it under the same
|
7
7
|
license terms as Ruby.
|
8
8
|
|
9
|
-
$Id:
|
9
|
+
$Id: cgi.rb,v 1.2 2007/11/08 16:44:22 mutoh Exp $
|
10
10
|
=end
|
11
11
|
|
12
|
+
require 'locale/base'
|
12
13
|
|
13
14
|
module Locale
|
14
15
|
# Locale::System module for CGI.
|
15
16
|
# This is a low-level class. Application shouldn't use this directly.
|
16
17
|
module SystemCGI
|
18
|
+
extend SystemBase
|
19
|
+
|
17
20
|
@@default_locale = Locale::Object.new("en", nil, "UTF-8")
|
18
21
|
@@cgi = nil
|
19
22
|
|
@@ -23,7 +26,7 @@ module Locale
|
|
23
26
|
def system
|
24
27
|
return @@default_locale unless @@cgi
|
25
28
|
cgi_ = cgi
|
26
|
-
if ret = cgi_["lang"] and ret.size > 0
|
29
|
+
if cgi_.has_key?("lang") and ret = cgi_["lang"] and ret.size > 0
|
27
30
|
elsif ret = cgi_.cookies["lang"][0]
|
28
31
|
elsif lang = cgi_.accept_language and lang.size > 0
|
29
32
|
num = lang.index(/;|,/)
|
@@ -43,12 +46,6 @@ module Locale
|
|
43
46
|
Locale::Object.new(ret, nil, codeset)
|
44
47
|
end
|
45
48
|
|
46
|
-
# Gets the charset of the locale.
|
47
|
-
# * locale: Locale::Object
|
48
|
-
# * Returns: the charset of the locale
|
49
|
-
def get_charset(locale)
|
50
|
-
locale.charset ? locale.charset : @@default_locale.charset
|
51
|
-
end
|
52
49
|
|
53
50
|
# Sets a CGI object.
|
54
51
|
# * cgi_: CGI object
|
@@ -73,23 +70,6 @@ module Locale
|
|
73
70
|
@@cgi
|
74
71
|
end
|
75
72
|
|
76
|
-
# Sets a default locale. en.UTF-8 is the default value if not set.
|
77
|
-
# * locale: Locale::Object object. You can't set nil.
|
78
|
-
# * Returns: self
|
79
|
-
def set_default_locale(locale)
|
80
|
-
raise "Wrong parameter: #{locale}" if locale.nil?
|
81
|
-
@@default_locale = locale
|
82
|
-
self
|
83
|
-
end
|
84
|
-
|
85
|
-
# Sets a default locale. en.UTF-8 is the default value if not set.
|
86
|
-
# * locale: Locale::Object
|
87
|
-
# * Returns: locale
|
88
|
-
def default_locale=(locale)
|
89
|
-
set_default_locale(locale)
|
90
|
-
locale
|
91
|
-
end
|
92
|
-
|
93
73
|
# Gets the default Locale::Object.
|
94
74
|
# * Returns: the default locale
|
95
75
|
def default_locale
|
@@ -97,5 +77,27 @@ module Locale
|
|
97
77
|
end
|
98
78
|
end
|
99
79
|
@@locale_system_module = SystemCGI
|
100
|
-
end
|
101
80
|
|
81
|
+
module_function
|
82
|
+
# Sets a CGI object.
|
83
|
+
# * cgi_: CGI object
|
84
|
+
# * Returns: self
|
85
|
+
def set_cgi(cgi_)
|
86
|
+
@@locale_system_module.set_cgi(cgi_)
|
87
|
+
self
|
88
|
+
end
|
89
|
+
|
90
|
+
# Sets a CGI object.
|
91
|
+
# * cgi_: CGI object
|
92
|
+
# * Returns: cgi_
|
93
|
+
def cgi=(cgi_)
|
94
|
+
set_cgi(cgi_)
|
95
|
+
cgi_
|
96
|
+
end
|
97
|
+
|
98
|
+
# Gets the CGI object. If it is nil, returns new CGI object.
|
99
|
+
# * Returns: the CGI object
|
100
|
+
def cgi
|
101
|
+
@@locale_system_module.cgi
|
102
|
+
end
|
103
|
+
end
|
data/lib/locale/jruby.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
=begin
|
2
|
+
locale/jruby.rb
|
3
|
+
|
4
|
+
Copyright (C) 2007 Masao Mutoh
|
5
|
+
|
6
|
+
You may redistribute it and/or modify it under the same
|
7
|
+
license terms as Ruby.
|
8
|
+
|
9
|
+
$Id: jruby.rb,v 1.2 2007/11/08 16:44:22 mutoh Exp $
|
10
|
+
=end
|
11
|
+
|
12
|
+
require 'locale/base'
|
13
|
+
require 'java'
|
14
|
+
|
15
|
+
module Locale
|
16
|
+
# Locale::SystemJRuby module for JRuby
|
17
|
+
# This is a low-level class. Application shouldn't use this directly.
|
18
|
+
module SystemJRuby
|
19
|
+
extend SystemBase
|
20
|
+
|
21
|
+
if java.lang.System.getProperties['os.name'].downcase =~ /windows/
|
22
|
+
require 'locale/win32_table'
|
23
|
+
|
24
|
+
extend SystemWin32Table
|
25
|
+
end
|
26
|
+
|
27
|
+
module_function
|
28
|
+
def default_locale #:nodoc:
|
29
|
+
locale = java.util.Locale.getDefault
|
30
|
+
charset = java.nio.charset.Charset.defaultCharset.name
|
31
|
+
Locale::Object.new(locale, nil, charset)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
@@locale_system_module = SystemJRuby
|
35
|
+
end
|
36
|
+
|
@@ -1,18 +1,58 @@
|
|
1
1
|
=begin
|
2
|
-
|
2
|
+
locale/object.rb - Locale::Object
|
3
3
|
|
4
|
-
Copyright (C) 2006 Masao Mutoh
|
4
|
+
Copyright (C) 2006,2007 Masao Mutoh
|
5
5
|
|
6
6
|
You may redistribute it and/or modify it under the same
|
7
7
|
license terms as Ruby.
|
8
8
|
|
9
|
-
$Id:
|
9
|
+
$Id: object.rb,v 1.3 2008/01/27 10:58:10 mutoh Exp $
|
10
10
|
=end
|
11
11
|
|
12
12
|
|
13
13
|
module Locale
|
14
14
|
class Object
|
15
|
-
|
15
|
+
attr_reader :language, :country, :charset, :script, :variant, :modifier, :orig_str
|
16
|
+
|
17
|
+
# Set the language. e.g.) ja, en, fr, ...
|
18
|
+
def language=(val)
|
19
|
+
@language = val
|
20
|
+
clear
|
21
|
+
end
|
22
|
+
|
23
|
+
# Set the country. e.g.) JP, US, FR, ...
|
24
|
+
def country=(val)
|
25
|
+
@country = val
|
26
|
+
clear
|
27
|
+
end
|
28
|
+
|
29
|
+
# Set the charset. e.g.) UTF-8, EUC-JP, Shift_JIS
|
30
|
+
def charset=(val)
|
31
|
+
@charset = val
|
32
|
+
clear
|
33
|
+
end
|
34
|
+
|
35
|
+
# Set the script. e.g.) Latn
|
36
|
+
def script=(val)
|
37
|
+
@script = val
|
38
|
+
clear
|
39
|
+
end
|
40
|
+
|
41
|
+
# Set the variant. e.g.) Hant
|
42
|
+
def variant=(val)
|
43
|
+
@variant = val
|
44
|
+
clear
|
45
|
+
end
|
46
|
+
|
47
|
+
# Set the modifier. e.g.) curreny=DDM
|
48
|
+
def modifier=(val)
|
49
|
+
@modifier = val
|
50
|
+
clear
|
51
|
+
end
|
52
|
+
|
53
|
+
# A fallback locale. With GetText, you don't need to set English(en,C,POSIX)
|
54
|
+
# by yourself because English is used as the last fallback locale anytime.
|
55
|
+
attr_accessor :fallback
|
16
56
|
|
17
57
|
# Parse POSIX or RFC 3066 style locale name to Array.
|
18
58
|
#
|
@@ -112,38 +152,56 @@ module Locale
|
|
112
152
|
self.class.parse(language_or_locale_name)
|
113
153
|
@country = country if country
|
114
154
|
@charset = charset if charset
|
155
|
+
@fallback = nil
|
156
|
+
clear
|
157
|
+
end
|
158
|
+
|
159
|
+
def clear
|
160
|
+
@posix = nil
|
161
|
+
@iso3066 = nil
|
162
|
+
@win = nil
|
163
|
+
@general = nil
|
164
|
+
@hash = "#{self.class}:#{to_general}.#{@charset}@#{@modifier}".hash
|
115
165
|
end
|
116
166
|
|
117
167
|
# Returns the locale as POSIX format(but charset is ignored). (e.g.) "ja_JP"
|
118
168
|
def to_posix
|
119
|
-
|
120
|
-
|
121
|
-
|
169
|
+
return @posix if @posix
|
170
|
+
@posix = @language.dup
|
171
|
+
|
172
|
+
@posix << "_#{@country}" if @country
|
173
|
+
@posix
|
122
174
|
end
|
123
175
|
|
124
176
|
# Returns the locale as ISO3066 format. (e.g.) "ja-JP"
|
125
177
|
def to_iso3066
|
126
|
-
|
127
|
-
|
128
|
-
|
178
|
+
return @iso3066 if @iso3066
|
179
|
+
|
180
|
+
@iso3066 = @language.dup
|
181
|
+
@iso3066 << "-#{@country}" if @country
|
182
|
+
@iso3066
|
129
183
|
end
|
130
184
|
|
131
185
|
# Returns the locale as Win32 format. (e.g.) "az-AZ-Latn".
|
132
186
|
#
|
133
187
|
# This is used to find the charset from locale table.
|
134
188
|
def to_win
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
189
|
+
return @win if @win
|
190
|
+
|
191
|
+
@win = @language.dup
|
192
|
+
@win << "-#{@country}" if @country
|
193
|
+
@win << "-#{@script}" if @script
|
194
|
+
@win
|
139
195
|
end
|
140
196
|
|
141
197
|
# Returns the locale as 'ruby' general format. (e.g.) "az_AZ_Latn"
|
142
198
|
def to_general
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
199
|
+
return @general if @general
|
200
|
+
|
201
|
+
@general = @language.dup
|
202
|
+
@general << "_#{@country}" if @country
|
203
|
+
@general << "_#{@script}" if @script
|
204
|
+
@general
|
147
205
|
end
|
148
206
|
|
149
207
|
# Gets the locale informations as an Array.
|
@@ -159,11 +217,7 @@ module Locale
|
|
159
217
|
end
|
160
218
|
|
161
219
|
def ==(other) #:nodoc:
|
162
|
-
other != nil and
|
163
|
-
@language == other.language and @country == other.country and
|
164
|
-
@charset == other.charset and @script == other.script and
|
165
|
-
@variant == other.variant and @modifier == other.modifier and
|
166
|
-
@charset == other.charset
|
220
|
+
other != nil and @hash == other.hash
|
167
221
|
end
|
168
222
|
|
169
223
|
def eql?(other) #:nodoc:
|
@@ -171,7 +225,7 @@ module Locale
|
|
171
225
|
end
|
172
226
|
|
173
227
|
def hash #:nodoc:
|
174
|
-
|
228
|
+
@hash
|
175
229
|
end
|
176
230
|
alias :to_s :to_posix
|
177
231
|
alias :to_str :to_posix
|
data/lib/locale/posix.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
=begin
|
2
|
+
locale/posix.rb
|
3
|
+
|
4
|
+
Copyright (C) 2002-2007 Masao Mutoh
|
5
|
+
|
6
|
+
You may redistribute it and/or modify it under the same
|
7
|
+
license terms as Ruby.
|
8
|
+
|
9
|
+
$Id: posix.rb,v 1.2 2007/11/08 16:44:22 mutoh Exp $
|
10
|
+
=end
|
11
|
+
|
12
|
+
require 'locale/base'
|
13
|
+
|
14
|
+
module Locale
|
15
|
+
# Locale::SystemPosix module for Posix OS (Unix)
|
16
|
+
# This is a low-level class. Application shouldn't use this directly.
|
17
|
+
module SystemPosix
|
18
|
+
extend SystemBase
|
19
|
+
end
|
20
|
+
@@locale_system_module = SystemPosix
|
21
|
+
end
|
22
|
+
|
data/lib/locale/win32.rb
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
=begin
|
2
|
+
locale/win32.rb
|
3
|
+
|
4
|
+
Copyright (C) 2002-2008 Masao Mutoh
|
5
|
+
|
6
|
+
You may redistribute it and/or modify it under the same
|
7
|
+
license terms as Ruby.
|
8
|
+
|
9
|
+
$Id: win32.rb,v 1.4 2008/02/02 16:47:40 mutoh Exp $
|
10
|
+
=end
|
11
|
+
|
12
|
+
require 'locale/base'
|
13
|
+
require 'locale/win32_table'
|
14
|
+
require 'dl/win32'
|
15
|
+
|
16
|
+
module Locale
|
17
|
+
# Locale::SystemWin32 module for win32.
|
18
|
+
# This is a low-level class. Application shouldn't use this directly.
|
19
|
+
module SystemWin32
|
20
|
+
extend SystemBase
|
21
|
+
|
22
|
+
@@default_locale = Locale::Object.new("en", nil, "CP1252")
|
23
|
+
@@win32 = Win32API.new("kernel32.dll", "GetUserDefaultLangID", nil, "i")
|
24
|
+
|
25
|
+
module_function
|
26
|
+
|
27
|
+
# Gets the Win32 charset of the locale.
|
28
|
+
# * locale: Locale::Object
|
29
|
+
# * Returns the charset of the locale
|
30
|
+
def get_charset(locale)
|
31
|
+
loc = LocaleTable.find{|v| v[1] == locale.to_win}
|
32
|
+
loc = LocaleTable.find{|v| v[1] =~ /^#{locale.language}-/} unless loc
|
33
|
+
loc ? loc[2] : "CP1252"
|
34
|
+
end
|
35
|
+
|
36
|
+
def default_locale #:nodoc:
|
37
|
+
lang = LocaleTable.assoc(@@win32.call)
|
38
|
+
if lang
|
39
|
+
ret = Locale::Object.new(lang[1], nil, lang[2])
|
40
|
+
else
|
41
|
+
ret = @@default_locale
|
42
|
+
end
|
43
|
+
ret
|
44
|
+
end
|
45
|
+
end
|
46
|
+
@@locale_system_module = SystemWin32
|
47
|
+
end
|
48
|
+
|
@@ -1,16 +1,17 @@
|
|
1
1
|
=begin
|
2
2
|
locale_table_win32.rb - Locale table for win32
|
3
3
|
|
4
|
-
Copyright (C) 2002-
|
4
|
+
Copyright (C) 2002-2008 Masao Mutoh <mutoh@highway.ne.jp>
|
5
5
|
|
6
6
|
You may redistribute it and/or modify it under the same
|
7
7
|
license terms as Ruby.
|
8
8
|
|
9
|
-
$Id:
|
9
|
+
$Id: win32_table.rb,v 1.3 2008/02/02 16:47:40 mutoh Exp $
|
10
10
|
=end
|
11
11
|
|
12
12
|
module Locale
|
13
13
|
module SystemWin32
|
14
|
+
|
14
15
|
#LangID, locale name, code page
|
15
16
|
LocaleTable = [
|
16
17
|
[0x0000, "en", "CP1252"],
|
data/po/es/rails.po
CHANGED