gettext 1.10.0 → 1.90.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/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