experteer-gettext 2.0.4
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 +57 -0
- data/ChangeLog-1 +2016 -0
- data/NEWS-1 +414 -0
- data/README.rdoc +251 -0
- data/Rakefile +260 -0
- data/VERSION +2 -0
- data/bin/rgettext +24 -0
- data/bin/rmsgfmt +24 -0
- data/bin/rmsgmerge +24 -0
- data/gettext.gemspec +494 -0
- data/lib/gettext/cgi.rb +39 -0
- data/lib/gettext/class_info.rb +67 -0
- data/lib/gettext/core_ext/iconv.rb +112 -0
- data/lib/gettext/core_ext/string.rb +84 -0
- data/lib/gettext/locale_path.rb +123 -0
- data/lib/gettext/mofile.rb +330 -0
- data/lib/gettext/parser/erb.rb +54 -0
- data/lib/gettext/parser/glade.rb +100 -0
- data/lib/gettext/parser/ruby.rb +193 -0
- data/lib/gettext/poparser.rb +355 -0
- data/lib/gettext/textdomain.rb +179 -0
- data/lib/gettext/textdomain_group.rb +24 -0
- data/lib/gettext/textdomain_manager.rb +212 -0
- data/lib/gettext/tools/rgettext.rb +236 -0
- data/lib/gettext/tools/rmsgfmt.rb +84 -0
- data/lib/gettext/tools/rmsgmerge.rb +498 -0
- data/lib/gettext/tools.rb +195 -0
- data/lib/gettext/translation_target.rb +93 -0
- data/lib/gettext/utils.rb +37 -0
- data/lib/gettext/version.rb +12 -0
- data/lib/gettext.rb +312 -0
- data/po/bg/rgettext.po +130 -0
- data/po/bs/rgettext.po +131 -0
- data/po/ca/rgettext.po +129 -0
- data/po/cs/rgettext.po +132 -0
- data/po/de/rgettext.po +137 -0
- data/po/el/rgettext.po +128 -0
- data/po/eo/rgettext.po +129 -0
- data/po/es/rgettext.po +130 -0
- data/po/et/rgettext.po +127 -0
- data/po/fr/rgettext.po +133 -0
- data/po/hr/rgettext.po +131 -0
- data/po/hu/rgettext.po +129 -0
- data/po/it/rgettext.po +130 -0
- data/po/ja/rgettext.po +129 -0
- data/po/ko/rgettext.po +129 -0
- data/po/lv/rgettext.po +130 -0
- data/po/nb/rgettext.po +131 -0
- data/po/nl/rgettext.po +130 -0
- data/po/pt_BR/rgettext.po +132 -0
- data/po/rgettext.pot +121 -0
- data/po/ru/rgettext.po +131 -0
- data/po/sr/rgettext.po +130 -0
- data/po/sv/rgettext.po +123 -0
- data/po/ua/rgettext.po +134 -0
- data/po/vi/rgettext.po +128 -0
- data/po/zh/rgettext.po +129 -0
- data/po/zh_TW/rgettext.po +128 -0
- data/samples/README +16 -0
- data/samples/cgi/README +43 -0
- data/samples/cgi/Rakefile +27 -0
- data/samples/cgi/cookie.cgi +64 -0
- data/samples/cgi/gettext.css +116 -0
- data/samples/cgi/helloerb.rhtml +28 -0
- data/samples/cgi/helloerb1.cgi +58 -0
- data/samples/cgi/helloerb2.cgi +51 -0
- data/samples/cgi/hellolib.rb +20 -0
- data/samples/cgi/http.rb +51 -0
- data/samples/cgi/index.cgi +111 -0
- data/samples/cgi/other.rhtml +20 -0
- data/samples/cgi/po/bg/helloerb1.po +59 -0
- data/samples/cgi/po/bg/helloerb2.po +51 -0
- data/samples/cgi/po/bg/hellolib.po +23 -0
- data/samples/cgi/po/bg/main.po +83 -0
- data/samples/cgi/po/bs/helloerb1.po +59 -0
- data/samples/cgi/po/bs/helloerb2.po +51 -0
- data/samples/cgi/po/bs/hellolib.po +23 -0
- data/samples/cgi/po/bs/main.po +83 -0
- data/samples/cgi/po/ca/helloerb1.po +59 -0
- data/samples/cgi/po/ca/helloerb2.po +51 -0
- data/samples/cgi/po/ca/hellolib.po +23 -0
- data/samples/cgi/po/ca/main.po +83 -0
- data/samples/cgi/po/cs/helloerb1.po +61 -0
- data/samples/cgi/po/cs/helloerb2.po +52 -0
- data/samples/cgi/po/cs/hellolib.po +25 -0
- data/samples/cgi/po/cs/main.po +85 -0
- data/samples/cgi/po/de/helloerb1.po +61 -0
- data/samples/cgi/po/de/helloerb2.po +52 -0
- data/samples/cgi/po/de/hellolib.po +24 -0
- data/samples/cgi/po/de/main.po +86 -0
- data/samples/cgi/po/el/helloerb1.po +60 -0
- data/samples/cgi/po/el/helloerb2.po +51 -0
- data/samples/cgi/po/el/hellolib.po +23 -0
- data/samples/cgi/po/el/main.po +84 -0
- data/samples/cgi/po/eo/helloerb1.po +60 -0
- data/samples/cgi/po/eo/helloerb2.po +52 -0
- data/samples/cgi/po/eo/hellolib.po +24 -0
- data/samples/cgi/po/eo/main.po +84 -0
- data/samples/cgi/po/es/helloerb1.po +59 -0
- data/samples/cgi/po/es/helloerb2.po +50 -0
- data/samples/cgi/po/es/hellolib.po +22 -0
- data/samples/cgi/po/es/main.po +83 -0
- data/samples/cgi/po/fr/helloerb1.po +59 -0
- data/samples/cgi/po/fr/helloerb2.po +51 -0
- data/samples/cgi/po/fr/hellolib.po +22 -0
- data/samples/cgi/po/fr/main.po +85 -0
- data/samples/cgi/po/helloerb1.pot +60 -0
- data/samples/cgi/po/helloerb2.pot +52 -0
- data/samples/cgi/po/hellolib.pot +24 -0
- data/samples/cgi/po/hr/helloerb1.po +59 -0
- data/samples/cgi/po/hr/helloerb2.po +51 -0
- data/samples/cgi/po/hr/hellolib.po +23 -0
- data/samples/cgi/po/hr/main.po +83 -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/it/helloerb1.po +60 -0
- data/samples/cgi/po/it/helloerb2.po +52 -0
- data/samples/cgi/po/it/hellolib.po +24 -0
- data/samples/cgi/po/it/main.po +84 -0
- data/samples/cgi/po/ja/helloerb1.po +60 -0
- data/samples/cgi/po/ja/helloerb2.po +52 -0
- data/samples/cgi/po/ja/hellolib.po +24 -0
- data/samples/cgi/po/ja/main.po +85 -0
- data/samples/cgi/po/ko/helloerb1.po +59 -0
- data/samples/cgi/po/ko/helloerb2.po +51 -0
- data/samples/cgi/po/ko/hellolib.po +23 -0
- data/samples/cgi/po/ko/main.po +84 -0
- data/samples/cgi/po/lv/helloerb1.po +65 -0
- data/samples/cgi/po/lv/helloerb2.po +52 -0
- data/samples/cgi/po/lv/hellolib.po +24 -0
- data/samples/cgi/po/lv/main.po +77 -0
- data/samples/cgi/po/main.pot +80 -0
- data/samples/cgi/po/nb/helloerb1.po +60 -0
- data/samples/cgi/po/nb/helloerb2.po +52 -0
- data/samples/cgi/po/nb/hellolib.po +24 -0
- data/samples/cgi/po/nb/main.po +84 -0
- data/samples/cgi/po/nl/helloerb1.po +61 -0
- data/samples/cgi/po/nl/helloerb2.po +52 -0
- data/samples/cgi/po/nl/hellolib.po +24 -0
- data/samples/cgi/po/nl/main.po +86 -0
- data/samples/cgi/po/pt_BR/helloerb1.po +59 -0
- data/samples/cgi/po/pt_BR/helloerb2.po +51 -0
- data/samples/cgi/po/pt_BR/hellolib.po +23 -0
- data/samples/cgi/po/pt_BR/main.po +84 -0
- data/samples/cgi/po/ru/helloerb1.po +58 -0
- data/samples/cgi/po/ru/helloerb2.po +50 -0
- data/samples/cgi/po/ru/hellolib.po +22 -0
- data/samples/cgi/po/ru/main.po +82 -0
- data/samples/cgi/po/sr/helloerb1.po +60 -0
- data/samples/cgi/po/sr/helloerb2.po +52 -0
- data/samples/cgi/po/sr/hellolib.po +24 -0
- data/samples/cgi/po/sr/main.po +80 -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/cgi/po/vi/helloerb1.po +65 -0
- data/samples/cgi/po/vi/helloerb2.po +52 -0
- data/samples/cgi/po/vi/hellolib.po +24 -0
- data/samples/cgi/po/vi/main.po +77 -0
- data/samples/cgi/po/zh/helloerb1.po +60 -0
- data/samples/cgi/po/zh/helloerb2.po +52 -0
- data/samples/cgi/po/zh/hellolib.po +24 -0
- data/samples/cgi/po/zh/main.po +80 -0
- data/samples/cgi/po/zh_TW/helloerb1.po +67 -0
- data/samples/cgi/po/zh_TW/helloerb2.po +54 -0
- data/samples/cgi/po/zh_TW/hellolib.po +26 -0
- data/samples/cgi/po/zh_TW/main.po +79 -0
- data/samples/hello.rb +36 -0
- data/samples/hello2.rb +23 -0
- data/samples/hello_glade2.glade +70 -0
- data/samples/hello_glade2.rb +25 -0
- data/samples/hello_gtk2.rb +27 -0
- data/samples/hello_noop.rb +31 -0
- data/samples/hello_plural.rb +26 -0
- data/samples/hello_tk.rb +19 -0
- data/samples/makemo.rb +4 -0
- data/samples/po/bg/hello.po +24 -0
- data/samples/po/bg/hello2.po +31 -0
- data/samples/po/bg/hello_glade2.po +31 -0
- data/samples/po/bg/hello_gtk.po +23 -0
- data/samples/po/bg/hello_noop.po +27 -0
- data/samples/po/bg/hello_plural.po +25 -0
- data/samples/po/bg/hello_tk.po +23 -0
- data/samples/po/bs/hello.po +23 -0
- data/samples/po/bs/hello2.po +31 -0
- data/samples/po/bs/hello_glade2.po +31 -0
- data/samples/po/bs/hello_gtk.po +23 -0
- data/samples/po/bs/hello_noop.po +27 -0
- data/samples/po/bs/hello_plural.po +26 -0
- data/samples/po/bs/hello_tk.po +23 -0
- data/samples/po/ca/hello.po +23 -0
- data/samples/po/ca/hello2.po +31 -0
- data/samples/po/ca/hello_glade2.po +31 -0
- data/samples/po/ca/hello_gtk.po +23 -0
- data/samples/po/ca/hello_noop.po +27 -0
- data/samples/po/ca/hello_plural.po +25 -0
- data/samples/po/ca/hello_tk.po +23 -0
- data/samples/po/cs/hello.po +23 -0
- data/samples/po/cs/hello2.po +31 -0
- data/samples/po/cs/hello_glade2.po +37 -0
- data/samples/po/cs/hello_gtk.po +23 -0
- data/samples/po/cs/hello_noop.po +27 -0
- data/samples/po/cs/hello_plural.po +26 -0
- data/samples/po/cs/hello_tk.po +23 -0
- data/samples/po/de/hello.po +20 -0
- data/samples/po/de/hello2.po +28 -0
- data/samples/po/de/hello_glade2.po +27 -0
- data/samples/po/de/hello_gtk.po +20 -0
- data/samples/po/de/hello_noop.po +24 -0
- data/samples/po/de/hello_plural.po +25 -0
- data/samples/po/de/hello_tk.po +20 -0
- data/samples/po/el/hello.po +23 -0
- data/samples/po/el/hello2.po +31 -0
- data/samples/po/el/hello_glade2.po +31 -0
- data/samples/po/el/hello_gtk.po +22 -0
- data/samples/po/el/hello_noop.po +27 -0
- data/samples/po/el/hello_plural.po +25 -0
- data/samples/po/el/hello_tk.po +23 -0
- data/samples/po/eo/hello.po +23 -0
- data/samples/po/eo/hello2.po +31 -0
- data/samples/po/eo/hello_glade2.po +32 -0
- data/samples/po/eo/hello_gtk.po +23 -0
- data/samples/po/eo/hello_noop.po +27 -0
- data/samples/po/eo/hello_plural.po +26 -0
- data/samples/po/eo/hello_tk.po +24 -0
- data/samples/po/es/hello.po +21 -0
- data/samples/po/es/hello2.po +28 -0
- data/samples/po/es/hello_glade2.po +28 -0
- data/samples/po/es/hello_gtk.po +20 -0
- data/samples/po/es/hello_noop.po +24 -0
- data/samples/po/es/hello_plural.po +23 -0
- data/samples/po/es/hello_tk.po +20 -0
- data/samples/po/fr/hello.po +18 -0
- data/samples/po/fr/hello2.po +26 -0
- data/samples/po/fr/hello_glade2.po +27 -0
- data/samples/po/fr/hello_gtk.po +18 -0
- data/samples/po/fr/hello_noop.po +22 -0
- data/samples/po/fr/hello_plural.po +21 -0
- data/samples/po/fr/hello_tk.po +18 -0
- data/samples/po/hello.pot +23 -0
- data/samples/po/hello2.pot +31 -0
- data/samples/po/hello_glade2.pot +32 -0
- data/samples/po/hello_gtk.pot +23 -0
- data/samples/po/hello_noop.pot +27 -0
- data/samples/po/hello_plural.pot +26 -0
- data/samples/po/hello_tk.pot +24 -0
- data/samples/po/hr/hello.po +23 -0
- data/samples/po/hr/hello2.po +31 -0
- data/samples/po/hr/hello_glade2.po +31 -0
- data/samples/po/hr/hello_gtk.po +23 -0
- data/samples/po/hr/hello_noop.po +27 -0
- data/samples/po/hr/hello_plural.po +26 -0
- data/samples/po/hr/hello_tk.po +23 -0
- data/samples/po/hu/hello.po +22 -0
- data/samples/po/hu/hello2.po +30 -0
- data/samples/po/hu/hello_glade2.po +31 -0
- data/samples/po/hu/hello_gtk.po +22 -0
- data/samples/po/hu/hello_noop.po +26 -0
- data/samples/po/hu/hello_plural.po +25 -0
- data/samples/po/hu/hello_tk.po +23 -0
- data/samples/po/it/hello.po +20 -0
- data/samples/po/it/hello2.po +28 -0
- data/samples/po/it/hello_glade2.po +28 -0
- data/samples/po/it/hello_gtk.po +21 -0
- data/samples/po/it/hello_noop.po +24 -0
- data/samples/po/it/hello_plural.po +23 -0
- data/samples/po/it/hello_tk.po +21 -0
- data/samples/po/ja/hello.po +20 -0
- data/samples/po/ja/hello2.po +28 -0
- data/samples/po/ja/hello_glade2.po +26 -0
- data/samples/po/ja/hello_gtk.po +19 -0
- data/samples/po/ja/hello_noop.po +23 -0
- data/samples/po/ja/hello_plural.po +21 -0
- data/samples/po/ja/hello_tk.po +19 -0
- data/samples/po/ko/hello.po +18 -0
- data/samples/po/ko/hello2.po +26 -0
- data/samples/po/ko/hello_glade2.po +29 -0
- data/samples/po/ko/hello_gtk.po +18 -0
- data/samples/po/ko/hello_noop.po +22 -0
- data/samples/po/ko/hello_plural.po +25 -0
- data/samples/po/ko/hello_tk.po +19 -0
- data/samples/po/lv/hello.po +24 -0
- data/samples/po/lv/hello2.po +32 -0
- data/samples/po/lv/hello_glade2.po +38 -0
- data/samples/po/lv/hello_gtk.po +24 -0
- data/samples/po/lv/hello_noop.po +28 -0
- data/samples/po/lv/hello_plural.po +26 -0
- data/samples/po/lv/hello_tk.po +24 -0
- data/samples/po/nb/hello.po +23 -0
- data/samples/po/nb/hello2.po +31 -0
- data/samples/po/nb/hello_glade2.po +31 -0
- data/samples/po/nb/hello_gtk.po +23 -0
- data/samples/po/nb/hello_noop.po +27 -0
- data/samples/po/nb/hello_plural.po +26 -0
- data/samples/po/nb/hello_tk.po +24 -0
- data/samples/po/nl/hello.po +24 -0
- data/samples/po/nl/hello2.po +32 -0
- data/samples/po/nl/hello_glade2.po +31 -0
- data/samples/po/nl/hello_gtk.po +24 -0
- data/samples/po/nl/hello_noop.po +28 -0
- data/samples/po/nl/hello_plural.po +25 -0
- data/samples/po/nl/hello_tk.po +24 -0
- data/samples/po/pt_BR/hello.po +21 -0
- data/samples/po/pt_BR/hello2.po +29 -0
- data/samples/po/pt_BR/hello_glade2.po +29 -0
- data/samples/po/pt_BR/hello_gtk.po +21 -0
- data/samples/po/pt_BR/hello_noop.po +25 -0
- data/samples/po/pt_BR/hello_plural.po +23 -0
- data/samples/po/pt_BR/hello_tk.po +21 -0
- data/samples/po/ru/hello.po +22 -0
- data/samples/po/ru/hello2.po +30 -0
- data/samples/po/ru/hello_glade2.po +30 -0
- data/samples/po/ru/hello_gtk.po +22 -0
- data/samples/po/ru/hello_noop.po +26 -0
- data/samples/po/ru/hello_plural.po +28 -0
- data/samples/po/ru/hello_tk.po +22 -0
- data/samples/po/sr/hello.po +22 -0
- data/samples/po/sr/hello2.po +30 -0
- data/samples/po/sr/hello_glade2.po +32 -0
- data/samples/po/sr/hello_gtk.po +22 -0
- data/samples/po/sr/hello_noop.po +26 -0
- data/samples/po/sr/hello_plural.po +26 -0
- data/samples/po/sr/hello_tk.po +24 -0
- data/samples/po/sv/hello.po +20 -0
- data/samples/po/sv/hello2.po +28 -0
- data/samples/po/sv/hello_glade2.po +28 -0
- data/samples/po/sv/hello_gtk.po +20 -0
- data/samples/po/sv/hello_noop.po +24 -0
- data/samples/po/sv/hello_plural.po +23 -0
- data/samples/po/sv/hello_tk.po +20 -0
- data/samples/po/test.rb +11 -0
- data/samples/po/ua/hello.po +22 -0
- data/samples/po/ua/hello2.po +30 -0
- data/samples/po/ua/hello_glade2.po +34 -0
- data/samples/po/ua/hello_gtk.po +22 -0
- data/samples/po/ua/hello_noop.po +26 -0
- data/samples/po/ua/hello_plural.po +29 -0
- data/samples/po/ua/hello_tk.po +26 -0
- data/samples/po/vi/hello.po +23 -0
- data/samples/po/vi/hello2.po +31 -0
- data/samples/po/vi/hello_glade2.po +38 -0
- data/samples/po/vi/hello_gtk.po +23 -0
- data/samples/po/vi/hello_noop.po +27 -0
- data/samples/po/vi/hello_plural.po +26 -0
- data/samples/po/vi/hello_tk.po +24 -0
- data/samples/po/zh/hello.po +23 -0
- data/samples/po/zh/hello2.po +31 -0
- data/samples/po/zh/hello_glade2.po +31 -0
- data/samples/po/zh/hello_gtk.po +23 -0
- data/samples/po/zh/hello_noop.po +27 -0
- data/samples/po/zh/hello_plural.po +25 -0
- data/samples/po/zh/hello_tk.po +23 -0
- data/samples/po/zh_TW/hello.po +26 -0
- data/samples/po/zh_TW/hello2.po +34 -0
- data/samples/po/zh_TW/hello_glade2.po +40 -0
- data/samples/po/zh_TW/hello_gtk.po +25 -0
- data/samples/po/zh_TW/hello_noop.po +30 -0
- data/samples/po/zh_TW/hello_plural.po +28 -0
- data/samples/po/zh_TW/hello_tk.po +26 -0
- data/test/README +1 -0
- data/test/Rakefile +17 -0
- data/test/po/cr/plural.po +23 -0
- data/test/po/da/plural.po +22 -0
- data/test/po/da/plural_error.po +22 -0
- data/test/po/fr/plural.po +28 -0
- data/test/po/fr/plural_error.po +20 -0
- data/test/po/fr/test1.po +23 -0
- data/test/po/fr/test2.po +19 -0
- data/test/po/ir/plural.po +23 -0
- data/test/po/ja/npgettext.po +46 -0
- data/test/po/ja/nsgettext.po +65 -0
- data/test/po/ja/pgettext.po +41 -0
- data/test/po/ja/plural.po +28 -0
- data/test/po/ja/plural_error.po +20 -0
- data/test/po/ja/rubyparser.po +43 -0
- data/test/po/ja/sgettext.po +47 -0
- data/test/po/ja/test1.po +23 -0
- data/test/po/ja/test2.po +19 -0
- data/test/po/ja/test3.po +19 -0
- data/test/po/la/plural.po +23 -0
- data/test/po/la/plural_error.po +21 -0
- data/test/po/li/plural.po +23 -0
- data/test/po/li/plural_error.po +27 -0
- data/test/po/po/plural.po +23 -0
- data/test/po/sl/plural.po +24 -0
- data/test/test_class_info.rb +83 -0
- data/test/test_gettext.rb +311 -0
- data/test/test_locale_path.rb +50 -0
- data/test/test_parser.rb +157 -0
- data/test/test_po_generation.rb +20 -0
- data/test/test_string.rb +65 -0
- data/test/test_textdomain_bind.rb +37 -0
- data/test/test_textdomain_multi.rb +80 -0
- data/test/test_textdomain_toplevel.rb +42 -0
- data/test/test_thread.rb +41 -0
- data/test/test_translation_target.rb +29 -0
- data/test/testlib/N_.rb +66 -0
- data/test/testlib/erb.rhtml +15 -0
- data/test/testlib/erb.rxml +16 -0
- data/test/testlib/gettext.rb +113 -0
- data/test/testlib/gladeparser.glade +183 -0
- data/test/testlib/helper.rb +11 -0
- data/test/testlib/multi_textdomain.rb +131 -0
- data/test/testlib/ngettext.rb +79 -0
- data/test/testlib/npgettext.rb +31 -0
- data/test/testlib/nsgettext.rb +42 -0
- data/test/testlib/pgettext.rb +36 -0
- data/test/testlib/sgettext.rb +46 -0
- data/test/testlib/simple.rb +14 -0
- data/test/tools/files/app.pot +0 -0
- data/test/tools/files/de/app.po +0 -0
- data/test/tools/files/en/app.po +0 -0
- data/test/tools/files/en/test.po +21 -0
- data/test/tools/files/simple_1.po +2 -0
- data/test/tools/files/simple_2.po +2 -0
- data/test/tools/files/simple_translation.rb +1 -0
- data/test/tools/files/version.po +7 -0
- data/test/tools/test.pot +21 -0
- data/test/tools/test_tools.rb +61 -0
- metadata +510 -0
data/po/zh/rgettext.po
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# translation of rgettext.po to Simplified Chinese
|
|
2
|
+
#
|
|
3
|
+
# a po-file for Ruby-GetText-Package
|
|
4
|
+
#
|
|
5
|
+
# Copyright (C) 2006-2008 Masao Mutoh
|
|
6
|
+
#
|
|
7
|
+
# This file is distributed under the same license as the Ruby-GetText-Package.
|
|
8
|
+
#
|
|
9
|
+
# Yang Bob <bob.yang.dev at gmail.com>, 2006-2008.
|
|
10
|
+
# Yingfeng <blogyingfeng at gmail.com>, 2006.
|
|
11
|
+
#
|
|
12
|
+
msgid ""
|
|
13
|
+
msgstr ""
|
|
14
|
+
"Project-Id-Version: ruby-gettext 2.0.4\n"
|
|
15
|
+
"POT-Creation-Date: 2009-09-08 08:25+0200\n"
|
|
16
|
+
"PO-Revision-Date: 2006-04-15 13:11+0300\n"
|
|
17
|
+
"Last-Translator: Yang Bob <bob.yang.dev at gmail.com>\n"
|
|
18
|
+
"Language-Team: Simplified Chinese\n"
|
|
19
|
+
"MIME-Version: 1.0\n"
|
|
20
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
|
21
|
+
"Content-Transfer-Encoding: 8bit\n"
|
|
22
|
+
"Plural-Forms: nplurals=1; plural=0;\n"
|
|
23
|
+
"X-Generator: KBabel 1.9.1\n"
|
|
24
|
+
|
|
25
|
+
#: lib/gettext/textdomain_manager.rb:148
|
|
26
|
+
msgid "3rd parmeter is wrong: value = %{number}"
|
|
27
|
+
msgstr "第三个参数错误:value = %{number}"
|
|
28
|
+
|
|
29
|
+
#: lib/gettext/parser/glade.rb:75
|
|
30
|
+
msgid "`%{file}' is not glade-2.0 format."
|
|
31
|
+
msgstr "`%{file}'不是glade-2.0格式。"
|
|
32
|
+
|
|
33
|
+
#: lib/gettext/tools/rmsgfmt.rb:29 lib/gettext/tools/rgettext.rb:202
|
|
34
|
+
msgid "no input files"
|
|
35
|
+
msgstr "没有输入文件"
|
|
36
|
+
|
|
37
|
+
#: lib/gettext/tools/rmsgfmt.rb:46
|
|
38
|
+
msgid "Usage: %s input.po [-o output.mo]"
|
|
39
|
+
msgstr "使用方法: %s input.po [-o output.mo]"
|
|
40
|
+
|
|
41
|
+
#: lib/gettext/tools/rmsgfmt.rb:48
|
|
42
|
+
msgid "Generate binary message catalog from textual translation description."
|
|
43
|
+
msgstr "从文本叙述翻译生成二进制信息目录。"
|
|
44
|
+
|
|
45
|
+
#: lib/gettext/tools/rmsgfmt.rb:50 lib/gettext/tools/rgettext.rb:159
|
|
46
|
+
#: lib/gettext/tools/rmsgmerge.rb:407
|
|
47
|
+
msgid "Specific options:"
|
|
48
|
+
msgstr "具体选项:"
|
|
49
|
+
|
|
50
|
+
#: lib/gettext/tools/rmsgfmt.rb:52 lib/gettext/tools/rgettext.rb:161
|
|
51
|
+
#: lib/gettext/tools/rmsgmerge.rb:409
|
|
52
|
+
msgid "write output to specified file"
|
|
53
|
+
msgstr "输出到指定文件"
|
|
54
|
+
|
|
55
|
+
#: lib/gettext/tools/rmsgfmt.rb:56 lib/gettext/tools/rgettext.rb:178
|
|
56
|
+
#: lib/gettext/tools/rmsgmerge.rb:420
|
|
57
|
+
msgid "display version information and exit"
|
|
58
|
+
msgstr "显示版本信息并退出"
|
|
59
|
+
|
|
60
|
+
#: lib/gettext/tools/rgettext.rb:43
|
|
61
|
+
msgid "'%{klass}' is ignored."
|
|
62
|
+
msgstr "'%{klass}'被忽略。"
|
|
63
|
+
|
|
64
|
+
#: lib/gettext/tools/rgettext.rb:155
|
|
65
|
+
msgid "Usage: %s input.rb [-r parser.rb] [-o output.pot]"
|
|
66
|
+
msgstr "使用方法:%s input.rb [-r parser.rb] [-o output.pot]"
|
|
67
|
+
|
|
68
|
+
#: lib/gettext/tools/rgettext.rb:157
|
|
69
|
+
msgid "Extract translatable strings from given input files."
|
|
70
|
+
msgstr "从给定输入文件中提取翻译字符串。"
|
|
71
|
+
|
|
72
|
+
#: lib/gettext/tools/rgettext.rb:165
|
|
73
|
+
msgid "File '%s' already exists."
|
|
74
|
+
msgstr "文件'%s'已经存在。"
|
|
75
|
+
|
|
76
|
+
#: lib/gettext/tools/rgettext.rb:170
|
|
77
|
+
msgid "require the library before executing rgettext"
|
|
78
|
+
msgstr "在执行 rgettext 之前需要一个库"
|
|
79
|
+
|
|
80
|
+
#: lib/gettext/tools/rgettext.rb:174
|
|
81
|
+
msgid "run in debugging mode"
|
|
82
|
+
msgstr "运行于调试模式"
|
|
83
|
+
|
|
84
|
+
#: lib/gettext/tools/rmsgmerge.rb:402
|
|
85
|
+
msgid "Usage: %s def.po ref.pot [-o output.pot]"
|
|
86
|
+
msgstr "使用方法:%s def.po ref.pot [-o output.pot]"
|
|
87
|
+
|
|
88
|
+
#: lib/gettext/tools/rmsgmerge.rb:405
|
|
89
|
+
msgid ""
|
|
90
|
+
"Merges two Uniforum style .po files together. The def.po file is an existing "
|
|
91
|
+
"PO file with translations. The ref.pot file is the last created PO file with "
|
|
92
|
+
"up-to-date source references. ref.pot is generally created by rgettext."
|
|
93
|
+
msgstr ""
|
|
94
|
+
"合并两个同样形式的 po 文件, def.po 是原來有翻译的文件,ref.pot 是经过原始码"
|
|
95
|
+
"更新过的新文件,ref.pot 一般是由 rgettext 建立的。"
|
|
96
|
+
|
|
97
|
+
#: lib/gettext/tools/rmsgmerge.rb:446
|
|
98
|
+
msgid "definition po is not given."
|
|
99
|
+
msgstr "po的定义未给出。"
|
|
100
|
+
|
|
101
|
+
#: lib/gettext/tools/rmsgmerge.rb:448
|
|
102
|
+
msgid "reference pot is not given."
|
|
103
|
+
msgstr "参考pot未指定。"
|
|
104
|
+
|
|
105
|
+
#: lib/gettext/tools.rb:68
|
|
106
|
+
msgid "Failed to merge with %{defpo}"
|
|
107
|
+
msgstr "不能与 %{defpo} 合并"
|
|
108
|
+
|
|
109
|
+
#: lib/gettext/tools.rb:69
|
|
110
|
+
msgid "New .pot was copied to %{failed_filename}"
|
|
111
|
+
msgstr "新的 .pot 被复制到 %{failed_filename} 去了"
|
|
112
|
+
|
|
113
|
+
#: lib/gettext/tools.rb:70
|
|
114
|
+
msgid "Check these po/pot-files. It may have syntax errors or something wrong."
|
|
115
|
+
msgstr "检查这些 po/pot-文件。它们可能有语法或者其他错误。"
|
|
116
|
+
|
|
117
|
+
#: lib/gettext/tools.rb:173
|
|
118
|
+
msgid ""
|
|
119
|
+
"`%{cmd}' can not be found. \n"
|
|
120
|
+
"Install GNU Gettext then set PATH or MSGMERGE_PATH correctly."
|
|
121
|
+
msgstr ""
|
|
122
|
+
|
|
123
|
+
#: src/poparser.ry:38 src/poparser.ry:55
|
|
124
|
+
msgid "Warning: fuzzy message was ignored.\n"
|
|
125
|
+
msgstr "警告:不明确信息(fuzzy message)已被忽略。"
|
|
126
|
+
|
|
127
|
+
#: src/poparser.ry:148
|
|
128
|
+
msgid "Warning: obsolete msgid exists.\n"
|
|
129
|
+
msgstr "警告:存在过期的msgid。"
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
#
|
|
2
|
+
# a po-file for Ruby-GetText-Package
|
|
3
|
+
#
|
|
4
|
+
# Copyright (C) 2004-2008 Masao Mutoh
|
|
5
|
+
# This file is distributed under the same license as the Ruby-GetText-Package.
|
|
6
|
+
#
|
|
7
|
+
# Yang Bob <bob.yang.dev at gmail.com>, 2006-2008.
|
|
8
|
+
# LIN CHUNG-YI <xmarsh at gmail.com>, 2006.
|
|
9
|
+
#
|
|
10
|
+
msgid ""
|
|
11
|
+
msgstr ""
|
|
12
|
+
"Project-Id-Version: ruby-gettext 2.0.4\n"
|
|
13
|
+
"POT-Creation-Date: 2009-09-08 08:25+0200\n"
|
|
14
|
+
"PO-Revision-Date: 2006-08-21 09:39+0800\n"
|
|
15
|
+
"Last-Translator: Yang Bob <bob.yang.dev at gmail.com>\n"
|
|
16
|
+
"Language-Team: zh_TW <xmarsh at gmail.com>\n"
|
|
17
|
+
"MIME-Version: 1.0\n"
|
|
18
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
|
19
|
+
"Content-Transfer-Encoding: 8bit\n"
|
|
20
|
+
"Plural-Forms: nplurals=1; plural=0;\n"
|
|
21
|
+
"X-Poedit-Language: Chinese\n"
|
|
22
|
+
"X-Poedit-Country: TAIWAN\n"
|
|
23
|
+
|
|
24
|
+
#: lib/gettext/textdomain_manager.rb:148
|
|
25
|
+
msgid "3rd parmeter is wrong: value = %{number}"
|
|
26
|
+
msgstr "第三个参数錯誤:value = %{number}"
|
|
27
|
+
|
|
28
|
+
#: lib/gettext/parser/glade.rb:75
|
|
29
|
+
msgid "`%{file}' is not glade-2.0 format."
|
|
30
|
+
msgstr "`%{file}' 不是 glade-2.0 格式"
|
|
31
|
+
|
|
32
|
+
#: lib/gettext/tools/rmsgfmt.rb:29 lib/gettext/tools/rgettext.rb:202
|
|
33
|
+
msgid "no input files"
|
|
34
|
+
msgstr "無輸入檔"
|
|
35
|
+
|
|
36
|
+
#: lib/gettext/tools/rmsgfmt.rb:46
|
|
37
|
+
msgid "Usage: %s input.po [-o output.mo]"
|
|
38
|
+
msgstr "使用: %s input.po [-o output.mo]"
|
|
39
|
+
|
|
40
|
+
#: lib/gettext/tools/rmsgfmt.rb:48
|
|
41
|
+
msgid "Generate binary message catalog from textual translation description."
|
|
42
|
+
msgstr "從textual translation description產生二進位訊息 catalog"
|
|
43
|
+
|
|
44
|
+
#: lib/gettext/tools/rmsgfmt.rb:50 lib/gettext/tools/rgettext.rb:159
|
|
45
|
+
#: lib/gettext/tools/rmsgmerge.rb:407
|
|
46
|
+
msgid "Specific options:"
|
|
47
|
+
msgstr "特殊選項:"
|
|
48
|
+
|
|
49
|
+
#: lib/gettext/tools/rmsgfmt.rb:52 lib/gettext/tools/rgettext.rb:161
|
|
50
|
+
#: lib/gettext/tools/rmsgmerge.rb:409
|
|
51
|
+
msgid "write output to specified file"
|
|
52
|
+
msgstr "輸出到指定檔案"
|
|
53
|
+
|
|
54
|
+
#: lib/gettext/tools/rmsgfmt.rb:56 lib/gettext/tools/rgettext.rb:178
|
|
55
|
+
#: lib/gettext/tools/rmsgmerge.rb:420
|
|
56
|
+
msgid "display version information and exit"
|
|
57
|
+
msgstr "秀出版本資訊後退出"
|
|
58
|
+
|
|
59
|
+
#: lib/gettext/tools/rgettext.rb:43
|
|
60
|
+
msgid "'%{klass}' is ignored."
|
|
61
|
+
msgstr "'%{klass}' 忽略"
|
|
62
|
+
|
|
63
|
+
#: lib/gettext/tools/rgettext.rb:155
|
|
64
|
+
msgid "Usage: %s input.rb [-r parser.rb] [-o output.pot]"
|
|
65
|
+
msgstr "使用: %s input.rb [-r parser.rb] [-o output.pot]"
|
|
66
|
+
|
|
67
|
+
#: lib/gettext/tools/rgettext.rb:157
|
|
68
|
+
msgid "Extract translatable strings from given input files."
|
|
69
|
+
msgstr "從輸入檔中取出翻譯字串"
|
|
70
|
+
|
|
71
|
+
#: lib/gettext/tools/rgettext.rb:165
|
|
72
|
+
msgid "File '%s' already exists."
|
|
73
|
+
msgstr "檔案 '%s' 已經存在"
|
|
74
|
+
|
|
75
|
+
#: lib/gettext/tools/rgettext.rb:170
|
|
76
|
+
msgid "require the library before executing rgettext"
|
|
77
|
+
msgstr "在執行 rgettext 之前需要一個庫"
|
|
78
|
+
|
|
79
|
+
#: lib/gettext/tools/rgettext.rb:174
|
|
80
|
+
msgid "run in debugging mode"
|
|
81
|
+
msgstr "執行除錯模式"
|
|
82
|
+
|
|
83
|
+
#: lib/gettext/tools/rmsgmerge.rb:402
|
|
84
|
+
msgid "Usage: %s def.po ref.pot [-o output.pot]"
|
|
85
|
+
msgstr "使用: %s def.po ref.pot [-o output.pot]"
|
|
86
|
+
|
|
87
|
+
#: lib/gettext/tools/rmsgmerge.rb:405
|
|
88
|
+
msgid ""
|
|
89
|
+
"Merges two Uniforum style .po files together. The def.po file is an existing "
|
|
90
|
+
"PO file with translations. The ref.pot file is the last created PO file with "
|
|
91
|
+
"up-to-date source references. ref.pot is generally created by rgettext."
|
|
92
|
+
msgstr ""
|
|
93
|
+
"合併兩同樣形式的 po 檔, def.po 檔是原來有翻譯的檔案,ref.pot 檔是經過原始碼"
|
|
94
|
+
"更新過的新檔,ref.pot 一般是由rgettext 建立。"
|
|
95
|
+
|
|
96
|
+
#: lib/gettext/tools/rmsgmerge.rb:446
|
|
97
|
+
msgid "definition po is not given."
|
|
98
|
+
msgstr "沒有指定PO檔"
|
|
99
|
+
|
|
100
|
+
#: lib/gettext/tools/rmsgmerge.rb:448
|
|
101
|
+
msgid "reference pot is not given."
|
|
102
|
+
msgstr "沒指定參考pot檔"
|
|
103
|
+
|
|
104
|
+
#: lib/gettext/tools.rb:68
|
|
105
|
+
msgid "Failed to merge with %{defpo}"
|
|
106
|
+
msgstr "不能與 %{defpo} 合併"
|
|
107
|
+
|
|
108
|
+
#: lib/gettext/tools.rb:69
|
|
109
|
+
msgid "New .pot was copied to %{failed_filename}"
|
|
110
|
+
msgstr "新的 .pot 被复制為 %{failed_filename} 了"
|
|
111
|
+
|
|
112
|
+
#: lib/gettext/tools.rb:70
|
|
113
|
+
msgid "Check these po/pot-files. It may have syntax errors or something wrong."
|
|
114
|
+
msgstr "檢査这些 po/pot-文件。它们可能有語法或者其他錯誤。"
|
|
115
|
+
|
|
116
|
+
#: lib/gettext/tools.rb:173
|
|
117
|
+
msgid ""
|
|
118
|
+
"`%{cmd}' can not be found. \n"
|
|
119
|
+
"Install GNU Gettext then set PATH or MSGMERGE_PATH correctly."
|
|
120
|
+
msgstr ""
|
|
121
|
+
|
|
122
|
+
#: src/poparser.ry:38 src/poparser.ry:55
|
|
123
|
+
msgid "Warning: fuzzy message was ignored.\n"
|
|
124
|
+
msgstr "警告: fuzzy 訊息被忽略\n"
|
|
125
|
+
|
|
126
|
+
#: src/poparser.ry:148
|
|
127
|
+
msgid "Warning: obsolete msgid exists.\n"
|
|
128
|
+
msgstr "警告: 存在過時的 msgid.\n"
|
data/samples/README
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
Sample scripts for Ruby-GetText-Package.
|
|
2
|
+
|
|
3
|
+
$ruby makemo.rb
|
|
4
|
+
$ruby sample_script.rb
|
|
5
|
+
|
|
6
|
+
hello.rb - Basic sample
|
|
7
|
+
hello2.rb - Basic sample2 (using printf)
|
|
8
|
+
hello_noop.rb - N_ sample
|
|
9
|
+
hello_plural.rb - n_ sample
|
|
10
|
+
hello_gtk.rb - Ruby/GTK2 sample
|
|
11
|
+
hello_tk.rb - Ruby/TK sample
|
|
12
|
+
hello_glade2.rb - Ruby/Glade2 sample
|
|
13
|
+
|
|
14
|
+
makemo.rb - Create mo files from po files.
|
|
15
|
+
|
|
16
|
+
cgi/* - CGI/ERB sample (See cgi/README)
|
data/samples/cgi/README
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
Sample script for CGI/ERB and Ruby-GetText-Package.
|
|
2
|
+
|
|
3
|
+
At first, create mo file once:
|
|
4
|
+
$ rake
|
|
5
|
+
|
|
6
|
+
# You need 'rake' to execute it.
|
|
7
|
+
|
|
8
|
+
(One click ruby installer for Windonws user only)
|
|
9
|
+
Edit ruby.bat to fit your environment. If you don't have GTK,
|
|
10
|
+
removes 'set PATH=c:\gtk\bin' line.
|
|
11
|
+
|
|
12
|
+
Then run the http server.
|
|
13
|
+
$ ruby http.rb
|
|
14
|
+
|
|
15
|
+
Access the http server from WWW browser:
|
|
16
|
+
|
|
17
|
+
http://localhost:10080/
|
|
18
|
+
http://localhost:10080/1
|
|
19
|
+
http://localhost:10080/2
|
|
20
|
+
|
|
21
|
+
or
|
|
22
|
+
|
|
23
|
+
If you want to set locale(lang) forcely, then:
|
|
24
|
+
|
|
25
|
+
http://localhost:10080/?lang=ja
|
|
26
|
+
http://localhost:10080/1?lang=ja
|
|
27
|
+
http://localhost:10080/2?lang=ja
|
|
28
|
+
#ja is a target locale in this sample.
|
|
29
|
+
|
|
30
|
+
http.rb - an http server for samples using WEBrick
|
|
31
|
+
Rakefile - a Rakefile to create mo files from po files.
|
|
32
|
+
|
|
33
|
+
index.cgi - a sample menu (CGI sample) - textdomain: main
|
|
34
|
+
cookie.cgi - a sample menu (CGI sample) - textdomain: main
|
|
35
|
+
helloerb1.cgi - an ERB/CGI sample (UTF-8) - textdomain: helloerb1
|
|
36
|
+
helloerb2.cgi - an ERB/CGI sample (Auto-Detect) - textdomain: helloerb2
|
|
37
|
+
|
|
38
|
+
helloerb.rhtml - an ERB file (used from both of helloerb1/helloerb2)
|
|
39
|
+
other.rhtml - an ERB file (used from helloerb1)
|
|
40
|
+
|
|
41
|
+
hellolib.rb - a smple library called from helloerb.rhtml which have an
|
|
42
|
+
independent textdomain: hellolib
|
|
43
|
+
ruby.bat - Execute ruby interpreter on Win32.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
task :default => [:makemo]
|
|
2
|
+
|
|
3
|
+
require 'gettext/tools'
|
|
4
|
+
|
|
5
|
+
desc "Create *.mo from *.po"
|
|
6
|
+
task :makemo do
|
|
7
|
+
GetText.create_mofiles(:mo_root => "locale")
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
desc "Update pot/po files to match new version."
|
|
11
|
+
task :updatepo do
|
|
12
|
+
=begin
|
|
13
|
+
GetText.update_pofiles("helloerb1",
|
|
14
|
+
["helloerb1.cgi", "helloerb.rhtml", "other.rhtml"],
|
|
15
|
+
"cgi-sample 1.1.1")
|
|
16
|
+
GetText.update_pofiles("helloerb2",
|
|
17
|
+
["helloerb2.cgi", "helloerb.rhtml"],
|
|
18
|
+
"cgi-sample 1.1.1")
|
|
19
|
+
GetText.update_pofiles("hellolib",
|
|
20
|
+
["hellolib.rb"],
|
|
21
|
+
"cgi-sample 1.1.1")
|
|
22
|
+
=end
|
|
23
|
+
GetText.update_pofiles("main",
|
|
24
|
+
["index.cgi", "cookie.cgi"],
|
|
25
|
+
"cgi-sample 1.1.1")
|
|
26
|
+
end
|
|
27
|
+
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
=begin
|
|
3
|
+
cookie.cgi - Set a selected locale to the cookie of WWW Browser.
|
|
4
|
+
|
|
5
|
+
Set UTF-8 forcely as output charset.
|
|
6
|
+
|
|
7
|
+
Recommanded to set UTF-8 forcely because some web browser
|
|
8
|
+
doesn't send HTTP_ACCEPT_CHARSET correctly.
|
|
9
|
+
|
|
10
|
+
Copyright (C) 2005 Masao Mutoh
|
|
11
|
+
|
|
12
|
+
You may redistribute it and/or modify it under the same
|
|
13
|
+
license terms as Ruby.
|
|
14
|
+
=end
|
|
15
|
+
$:.insert(0, "../../lib")
|
|
16
|
+
|
|
17
|
+
# gettext/cgi support CGI.
|
|
18
|
+
begin
|
|
19
|
+
require 'rubygems'
|
|
20
|
+
rescue LoadError
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
require 'gettext/cgi'
|
|
24
|
+
|
|
25
|
+
include GetText
|
|
26
|
+
|
|
27
|
+
# Configure GetText first.
|
|
28
|
+
set_output_charset("UTF-8")
|
|
29
|
+
set_cgi(CGI.new)
|
|
30
|
+
bindtextdomain("main", "locale")
|
|
31
|
+
|
|
32
|
+
lang = GetText.cgi['lang']
|
|
33
|
+
lang = "en" unless lang.size > 0
|
|
34
|
+
|
|
35
|
+
#
|
|
36
|
+
# CGI part
|
|
37
|
+
#
|
|
38
|
+
print "Set-Cookie:lang=#{lang}\n"
|
|
39
|
+
print "Content-type:text/html; charset=UTF-8\n\n"
|
|
40
|
+
|
|
41
|
+
puts %Q[
|
|
42
|
+
<head>
|
|
43
|
+
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
|
44
|
+
<link rel="stylesheet" type="text/css" href="gettext.css" media="all">
|
|
45
|
+
<title>]
|
|
46
|
+
puts _("Sample script for CGI/ERB and Ruby-GetText-Package")
|
|
47
|
+
puts %Q[</title>
|
|
48
|
+
</head>
|
|
49
|
+
<body>
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
puts "<h1>" + _("Set [%s] as the cookie of your WWW Browser.") % lang + "</h1>"
|
|
53
|
+
|
|
54
|
+
puts %Q[</h1>
|
|
55
|
+
<p><a href="/">]
|
|
56
|
+
puts _("Back")
|
|
57
|
+
puts %Q[</a></p>
|
|
58
|
+
<div style="text-align:right">
|
|
59
|
+
<p>Copyright (C) 2005 Masao Mutoh</p>
|
|
60
|
+
</div>
|
|
61
|
+
</body>
|
|
62
|
+
</html>
|
|
63
|
+
]
|
|
64
|
+
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/*
|
|
2
|
+
CSS for Ruby-GetText-Package
|
|
3
|
+
by Masao Mutoh.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
body {
|
|
7
|
+
margin: 0px;
|
|
8
|
+
padding: 0px;
|
|
9
|
+
color: #000;
|
|
10
|
+
background-color: #fff;
|
|
11
|
+
font-size: 90%;
|
|
12
|
+
font-family: Times, Sans-Serif;
|
|
13
|
+
line-height: 1.5em;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
h1 {
|
|
17
|
+
color: #002288;
|
|
18
|
+
text-align: left;
|
|
19
|
+
clear: both;
|
|
20
|
+
padding:0.4em;
|
|
21
|
+
font-weight: bold;
|
|
22
|
+
font-size: 1.8em;
|
|
23
|
+
padding-left:0.5em;
|
|
24
|
+
padding-right:10px;
|
|
25
|
+
margin-top: 10px;
|
|
26
|
+
margin-left: 20px;
|
|
27
|
+
margin-bottom:1em;
|
|
28
|
+
margin-right:5px;
|
|
29
|
+
border: solid thin;
|
|
30
|
+
border-left: solid;
|
|
31
|
+
border-color: #9999ff;
|
|
32
|
+
border-top-width: 0px;
|
|
33
|
+
border-right-width: 0px;
|
|
34
|
+
border-bottom-width: 1px;
|
|
35
|
+
border-left-width: 15px;
|
|
36
|
+
}
|
|
37
|
+
h2 {
|
|
38
|
+
margin: 0px;
|
|
39
|
+
font-size: large;
|
|
40
|
+
font-weight: bold;
|
|
41
|
+
font-size: 1.4em;
|
|
42
|
+
padding: 0.3em;
|
|
43
|
+
padding-left:0.5em;
|
|
44
|
+
padding-right:10px;
|
|
45
|
+
margin-top: 1em;
|
|
46
|
+
margin-left: 1.5em;
|
|
47
|
+
margin-right: 10px;
|
|
48
|
+
margin-bottom:0.8em;
|
|
49
|
+
border: solid thin;
|
|
50
|
+
border-left: solid;
|
|
51
|
+
border-color: #9999ff;
|
|
52
|
+
border-top-width: 0px;
|
|
53
|
+
border-right-width: 0px;
|
|
54
|
+
border-bottom-width: 1px;
|
|
55
|
+
border-left-width: 15px;
|
|
56
|
+
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
h3 {
|
|
60
|
+
margin:1em;
|
|
61
|
+
margin-bottom: 0.5em;
|
|
62
|
+
margin-top: 1.5em;
|
|
63
|
+
margin-left: 2em;
|
|
64
|
+
margin-right: 24px;
|
|
65
|
+
padding: 0.1em;
|
|
66
|
+
padding-top: 0;
|
|
67
|
+
padding-left: 0.7em;
|
|
68
|
+
font-size: 1.2em;
|
|
69
|
+
border-style: dashed;
|
|
70
|
+
border-width: 0px 0px 1px 1px;
|
|
71
|
+
border-color: #ddddff;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
p {
|
|
75
|
+
padding-left: 1em;
|
|
76
|
+
padding-right: 1em;
|
|
77
|
+
margin-top: 0px;
|
|
78
|
+
margin-left: 1.5em;
|
|
79
|
+
margin-right: 1em;
|
|
80
|
+
margin-bottom: 0.5em;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
ol, ul {
|
|
84
|
+
margin-top: 0.2em;
|
|
85
|
+
margin-left: 3em;
|
|
86
|
+
padding-left: 1.5em;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
li {
|
|
90
|
+
margin-top: 0.2em;
|
|
91
|
+
margin-left: 0em;
|
|
92
|
+
padding-left: 0em;
|
|
93
|
+
line-height: 1.2em;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.locale {
|
|
97
|
+
margin: 2em;
|
|
98
|
+
padding: 1em;
|
|
99
|
+
border-style: solid;
|
|
100
|
+
border-width: 1px 1px 1px 1px;
|
|
101
|
+
border-color: #ddddff;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
pre {
|
|
105
|
+
margin: 2em;
|
|
106
|
+
padding: 1em;
|
|
107
|
+
border-style: solid;
|
|
108
|
+
border-width: 1px 1px 1px 1px;
|
|
109
|
+
border-color: #ddddff;
|
|
110
|
+
background-color: #eeffee;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.copyright {
|
|
114
|
+
text-align: right;
|
|
115
|
+
padding: 2em;
|
|
116
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
<head>
|
|
3
|
+
<meta http-equiv="content-type" content="text/html; charset=<%= GetText.output_charset %>">
|
|
4
|
+
<link rel="stylesheet" type="text/css" href="gettext.css" media="all">
|
|
5
|
+
<title><%= _("Sample script for CGI/ERB and Ruby-GetText-Package") %></title>
|
|
6
|
+
</head>
|
|
7
|
+
<body>
|
|
8
|
+
<%
|
|
9
|
+
require 'hellolib'
|
|
10
|
+
require 'cgi'
|
|
11
|
+
lib = HelloLib.new
|
|
12
|
+
%>
|
|
13
|
+
<h1><%= _("Hello World") %> - <%= @domainname %></h1>
|
|
14
|
+
<p><%= description %></p>
|
|
15
|
+
<div class="locale">
|
|
16
|
+
<p><%= _("locale") %>: <%= Locale.get %></p>
|
|
17
|
+
<p><%= _("output_charset") %>: <%= GetText.output_charset %></p>
|
|
18
|
+
<p><%= _("QUERY_STRING") %>: <%= cgi.query_string %></p>
|
|
19
|
+
</div>
|
|
20
|
+
<p><%= _("Call a library method which has another textdomain.") %></p>
|
|
21
|
+
<div class="locale"><%= lib.hello %></div>
|
|
22
|
+
<p><a href="/"><%= _("Back") %></a></p>
|
|
23
|
+
|
|
24
|
+
<div class="copyright">
|
|
25
|
+
Copyright (C) 2005 Masao Mutoh
|
|
26
|
+
</div>
|
|
27
|
+
</body>
|
|
28
|
+
</html>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
=begin
|
|
3
|
+
helloerb1.cgi - Sample script for CGI/ERB
|
|
4
|
+
|
|
5
|
+
Set UTF-8 forcely as output charset.
|
|
6
|
+
|
|
7
|
+
Recommanded to set UTF-8 forcely because some web browser
|
|
8
|
+
doesn't send HTTP_ACCEPT_CHARSET correctly.
|
|
9
|
+
|
|
10
|
+
Copyright (C) 2005-2009 Masao Mutoh
|
|
11
|
+
|
|
12
|
+
You may redistribute it and/or modify it under the same
|
|
13
|
+
license terms as Ruby.
|
|
14
|
+
=end
|
|
15
|
+
$:.insert(0, "../../lib")
|
|
16
|
+
|
|
17
|
+
begin
|
|
18
|
+
require 'rubygems'
|
|
19
|
+
rescue LoadError
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
require 'erb'
|
|
23
|
+
require 'gettext/cgi'
|
|
24
|
+
|
|
25
|
+
class SimpleContainer1
|
|
26
|
+
include GetText
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def initialize(domainname, domainpath, cgi)
|
|
30
|
+
set_cgi(cgi)
|
|
31
|
+
bindtextdomain(domainname, :path => domainpath)
|
|
32
|
+
@domainname = domainname
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def description
|
|
36
|
+
_("Sample script for CGI/ERB (UTF-8).")
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def to_html(path)
|
|
40
|
+
erb = ERB.new(IO.read(path)).src
|
|
41
|
+
eval(erb, binding)
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
GetText.output_charset = "UTF-8"
|
|
47
|
+
|
|
48
|
+
print "Content-type:text/html; charset=UTF-8\n\n"
|
|
49
|
+
|
|
50
|
+
cgi = CGI.new
|
|
51
|
+
|
|
52
|
+
con = SimpleContainer1.new("helloerb1", "locale", cgi)
|
|
53
|
+
|
|
54
|
+
if GetText.cgi["other"] == "true"
|
|
55
|
+
print con.to_html("other.rhtml")
|
|
56
|
+
else
|
|
57
|
+
print con.to_html("helloerb.rhtml")
|
|
58
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
=begin
|
|
3
|
+
helloerb2.cgi - Sample script for CGI/ERB
|
|
4
|
+
|
|
5
|
+
Set locale/charset automaticaly.
|
|
6
|
+
(from HTTP_ACCEPT_LANGUAGE, HTTP_ACCEPT_CHARSET sended by web browser).
|
|
7
|
+
|
|
8
|
+
Recommanded to set UTF-8 forcely because some web browser
|
|
9
|
+
doesn't send HTTP_ACCEPT_CHARSET correctly.(See helloerb.cgi)
|
|
10
|
+
|
|
11
|
+
Copyright (C) 2005 Masao Mutoh
|
|
12
|
+
|
|
13
|
+
You may redistribute it and/or modify it under the same
|
|
14
|
+
license terms as Ruby.
|
|
15
|
+
=end
|
|
16
|
+
$:.insert(0, "../../lib")
|
|
17
|
+
|
|
18
|
+
begin
|
|
19
|
+
require 'rubygems'
|
|
20
|
+
rescue LoadError
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
require 'gettext/cgi'
|
|
24
|
+
require 'erb'
|
|
25
|
+
|
|
26
|
+
class SimpleContainer2
|
|
27
|
+
include GetText
|
|
28
|
+
|
|
29
|
+
def initialize(domainname, domainpath)
|
|
30
|
+
bindtextdomain(domainname, :path => domainpath)
|
|
31
|
+
@domainname = domainname
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def description
|
|
35
|
+
_("Sample script for CGI/ERB (Auto-Detect charset).")
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def to_html(path)
|
|
39
|
+
erb = ERB.new(IO.read(path)).src
|
|
40
|
+
eval(erb, binding)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
cgi = CGI.new
|
|
45
|
+
GetText.set_cgi(cgi)
|
|
46
|
+
|
|
47
|
+
print "Content-type:text/html; charset=#{Locale.charset}\n\n"
|
|
48
|
+
|
|
49
|
+
con = SimpleContainer2.new("helloerb2", "locale")
|
|
50
|
+
|
|
51
|
+
print con.to_html("helloerb.rhtml")
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
# hellolib.rb
|
|
3
|
+
#
|
|
4
|
+
# Copyright (C) 2005 Masao Mutoh
|
|
5
|
+
#
|
|
6
|
+
# This file is distributed under the same
|
|
7
|
+
# license as Ruby-GetText-Package.
|
|
8
|
+
#
|
|
9
|
+
# $Id: hellolib.rb,v 1.1.1.1 2005/08/13 02:38:08 mutoh Exp $
|
|
10
|
+
#
|
|
11
|
+
|
|
12
|
+
require 'gettext'
|
|
13
|
+
|
|
14
|
+
class HelloLib
|
|
15
|
+
include GetText
|
|
16
|
+
bindtextdomain("hellolib", "locale")
|
|
17
|
+
def hello
|
|
18
|
+
_("This message is from hellolib.")
|
|
19
|
+
end
|
|
20
|
+
end
|