fair-gettext 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +78 -0
- data/README.rdoc +245 -0
- data/Rakefile +234 -0
- data/bin/rgettext +23 -0
- data/bin/rmsgfmt +22 -0
- data/bin/rmsgmerge +22 -0
- data/gettext.gemspec +40 -0
- data/lib/gettext/cgi.rb +37 -0
- data/lib/gettext/core_ext/iconv.rb +110 -0
- data/lib/gettext/core_ext/string.rb +84 -0
- data/lib/gettext/parser/erb.rb +3 -0
- data/lib/gettext/parser/glade.rb +3 -0
- data/lib/gettext/parser/ruby.rb +172 -0
- data/lib/gettext/tools/rgettext.rb +248 -0
- data/lib/gettext/tools/rmsgfmt.rb +84 -0
- data/lib/gettext/tools/rmsgmerge.rb +498 -0
- data/lib/gettext/tools.rb +202 -0
- data/lib/gettext/utils.rb +37 -0
- data/lib/gettext/version.rb +12 -0
- data/lib/gettext.rb +310 -0
- data/po/bg/rgettext.po +134 -0
- data/po/bs/rgettext.po +135 -0
- data/po/ca/rgettext.po +133 -0
- data/po/cs/rgettext.po +136 -0
- data/po/de/rgettext.po +141 -0
- data/po/el/rgettext.po +132 -0
- data/po/eo/rgettext.po +133 -0
- data/po/es/rgettext.po +134 -0
- data/po/et/rgettext.po +131 -0
- data/po/fr/rgettext.po +137 -0
- data/po/hr/rgettext.po +135 -0
- data/po/hu/rgettext.po +133 -0
- data/po/it/rgettext.po +134 -0
- data/po/ja/rgettext.po +134 -0
- data/po/ko/rgettext.po +133 -0
- data/po/lv/rgettext.po +134 -0
- data/po/nb/rgettext.po +135 -0
- data/po/nl/rgettext.po +134 -0
- data/po/pt_BR/rgettext.po +136 -0
- data/po/rgettext.pot +125 -0
- data/po/ru/rgettext.po +135 -0
- data/po/sr/rgettext.po +134 -0
- data/po/sv/rgettext.po +127 -0
- data/po/ua/rgettext.po +138 -0
- data/po/vi/rgettext.po +132 -0
- data/po/zh/rgettext.po +133 -0
- data/po/zh_TW/rgettext.po +132 -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 +18 -0
- data/samples/cgi/http.rb +49 -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/src/poparser.ry +217 -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/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/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_parser.rb +158 -0
- data/test/test_string.rb +65 -0
- data/test/test_textdomain_multi.rb +80 -0
- data/test/test_textdomain_toplevel.rb +42 -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
- metadata +496 -0
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,18 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
# hellolib.rb
|
|
3
|
+
#
|
|
4
|
+
# Copyright (C) 2005-2009 Masao Mutoh
|
|
5
|
+
#
|
|
6
|
+
# This file is distributed under the same
|
|
7
|
+
# license as Ruby-GetText-Package.
|
|
8
|
+
#
|
|
9
|
+
|
|
10
|
+
require 'gettext'
|
|
11
|
+
|
|
12
|
+
class HelloLib
|
|
13
|
+
include GetText
|
|
14
|
+
bindtextdomain("hellolib", "locale")
|
|
15
|
+
def hello
|
|
16
|
+
_("This message is from hellolib.")
|
|
17
|
+
end
|
|
18
|
+
end
|
data/samples/cgi/http.rb
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
#! /usr/bin/env ruby
|
|
2
|
+
=begin
|
|
3
|
+
http.rb - An WebServer for helloerb sample.
|
|
4
|
+
|
|
5
|
+
Copyright (C) 2005-2009 Masao Mutoh
|
|
6
|
+
|
|
7
|
+
You may redistribute it and/or modify it under the same
|
|
8
|
+
license terms as Ruby or LGPL.
|
|
9
|
+
=end
|
|
10
|
+
|
|
11
|
+
require 'webrick'
|
|
12
|
+
require 'cgi'
|
|
13
|
+
require 'rbconfig'
|
|
14
|
+
|
|
15
|
+
interpreter = File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name']) +
|
|
16
|
+
Config::CONFIG['EXEEXT']
|
|
17
|
+
|
|
18
|
+
srv = WEBrick::HTTPServer.new({:BindAddress => '127.0.0.1',
|
|
19
|
+
:Logger => WEBrick::Log::new($stderr, WEBrick::Log::DEBUG),
|
|
20
|
+
:CGIInterpreter => interpreter,
|
|
21
|
+
# :CGIInterpreter => "ruby -d",
|
|
22
|
+
:Port => 10080})
|
|
23
|
+
|
|
24
|
+
['INT', 'TERM'].each { |signal|
|
|
25
|
+
trap(signal){ srv.shutdown}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
srv.mount("/", WEBrick::HTTPServlet::FileHandler, File.expand_path('.'))
|
|
29
|
+
|
|
30
|
+
srv.mount_proc("/src/") do |req, res|
|
|
31
|
+
res.header["Content-Type"] = "text/html; charset=UTF-8"
|
|
32
|
+
if req.query_string
|
|
33
|
+
file = File.open(req.query_string).read
|
|
34
|
+
res.body = %Q[<html>
|
|
35
|
+
<head>
|
|
36
|
+
<title>View a source code</title>
|
|
37
|
+
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
|
38
|
+
<link rel="stylesheet" type="text/css" href="/gettext.css" media="all">
|
|
39
|
+
</head>
|
|
40
|
+
<body><h1>#{req.query_string}</h1>
|
|
41
|
+
<pre>#{CGI.escapeHTML(file)}</pre>
|
|
42
|
+
<p><a href="/">Back</a></p>
|
|
43
|
+
</body>
|
|
44
|
+
</html>
|
|
45
|
+
]
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
srv.start
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
=begin
|
|
3
|
+
hello.cgi - Sample script for CGI
|
|
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
|
+
set_cgi(CGI.new)
|
|
27
|
+
|
|
28
|
+
print "Content-type:text/html; charset=UTF-8\n\n"
|
|
29
|
+
|
|
30
|
+
# Configure GetText first.
|
|
31
|
+
set_output_charset("UTF-8")
|
|
32
|
+
bindtextdomain("main", "locale")
|
|
33
|
+
|
|
34
|
+
langs = ["en"] + Dir.glob("locale/*").collect{|item| File.basename(item)}
|
|
35
|
+
langs.sort!
|
|
36
|
+
|
|
37
|
+
urls = [
|
|
38
|
+
["helloerb1.cgi", N_("an ERB/CGI sample (UTF-8).")],
|
|
39
|
+
["helloerb1.cgi?other=true", N_("an ERB/CGI sample (UTF-8). This sample uses the same container as sample 1 but has a different rhtml file.")],
|
|
40
|
+
["helloerb2.cgi", N_("an ERB/CGI sample (Auto-Detect charset).")]
|
|
41
|
+
]
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
#
|
|
45
|
+
# CGI part
|
|
46
|
+
#
|
|
47
|
+
|
|
48
|
+
puts %Q[<html><head>
|
|
49
|
+
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
|
50
|
+
<link rel="stylesheet" type="text/css" href="gettext.css" media="all">
|
|
51
|
+
<title>]
|
|
52
|
+
puts _("Sample script for CGI/ERB and Ruby-GetText-Package")
|
|
53
|
+
puts "</title>
|
|
54
|
+
</head>
|
|
55
|
+
<body>
|
|
56
|
+
<h1>"
|
|
57
|
+
puts _("Ruby-GetText CGI sample scripts")
|
|
58
|
+
puts "</h1>"
|
|
59
|
+
puts "<p>" + _("Supported Locales:") + "[#{langs.join(", ")}]</p>"
|
|
60
|
+
puts "<h2>" + _("Auto-Detect a locale from the WWW browser") + "</h2>"
|
|
61
|
+
puts "<ol>"
|
|
62
|
+
|
|
63
|
+
urls.each do |url, desc|
|
|
64
|
+
puts "<li><a href=\"/#{url}\">#{url}</a><br/>" + _(desc) + "</a></li>"
|
|
65
|
+
end
|
|
66
|
+
puts "</ol>"
|
|
67
|
+
|
|
68
|
+
puts "<h2>" + _('Set locale as a "lang" parameter') + "</h2>"
|
|
69
|
+
|
|
70
|
+
langs.each do |lang|
|
|
71
|
+
puts "<h3>[#{lang}]</h3>"
|
|
72
|
+
puts "<ol>"
|
|
73
|
+
urls.each do |url, desc|
|
|
74
|
+
if /\?other/ =~ url
|
|
75
|
+
url += "&lang=" + lang
|
|
76
|
+
else
|
|
77
|
+
url += "?lang=" + lang
|
|
78
|
+
end
|
|
79
|
+
puts "<li><a href=\"#{url}\">#{CGI.escapeHTML(url)}</a><br/>" + _(desc) + "</li>"
|
|
80
|
+
end
|
|
81
|
+
puts "</ol>"
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
puts "<h2>" + _('Set "lang" to cookie.') + "</h2>"
|
|
85
|
+
puts "<p>" + _('Click one of the link below, and then click "Auto-Detect a locale from the WWW browser" samples.') + "</p>"
|
|
86
|
+
puts "<ol>"
|
|
87
|
+
|
|
88
|
+
langs.each do |lang|
|
|
89
|
+
url = "cookie.cgi?lang=" + lang
|
|
90
|
+
puts "<li><a href=\"#{url}\">#{CGI.escapeHTML(url)}</a> [#{lang}]</li>"
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
puts "</ol>"
|
|
94
|
+
puts "<h2>" + _("Source codes") + "</h2>"
|
|
95
|
+
puts "<ol>"
|
|
96
|
+
|
|
97
|
+
Dir.glob("*cgi\0*rb\0*rhtml)").sort.each do |src|
|
|
98
|
+
unless /http.rb|makemo.rb/ =~ src
|
|
99
|
+
puts %Q[<li><a href="/src/?#{src}">#{src}</a></li>]
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
puts %Q[</ol>
|
|
103
|
+
<hr/>
|
|
104
|
+
<div class="copyright">
|
|
105
|
+
<p>] + _("index.cgi is also a Ruby-GetText sample script using CGI(not ERB).")+ %Q[</p>
|
|
106
|
+
<p>Copyright (C) 2005-2008 Masao Mutoh</p>
|
|
107
|
+
</div>
|
|
108
|
+
</body>
|
|
109
|
+
</html>
|
|
110
|
+
]
|
|
111
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
<h1><%= _("Another sample") %> - <%= @domainname %></h1>
|
|
9
|
+
<p><%= _("This sample(other.rhtml) is the another ERB file of helloerb1.cgi.") %></p>
|
|
10
|
+
<div class="locale">
|
|
11
|
+
<p><%= _("locale") %>: <%= Locale.get %></p>
|
|
12
|
+
<p><%= _("output_charset") %>: <%= GetText.output_charset %></p>
|
|
13
|
+
<p><%= _("QUERY_STRING") %>: <%= CGI.escapeHTML(cgi.query_string) %></p>
|
|
14
|
+
</div>
|
|
15
|
+
<p><a href="/"><%= _("Back") %></a></p>
|
|
16
|
+
<div class="copyright">
|
|
17
|
+
Copyright (C) 2005 Masao Mutoh
|
|
18
|
+
</div>
|
|
19
|
+
</body>
|
|
20
|
+
</html>
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# CGI/ERB sample for Ruby-GetText-Package.
|
|
2
|
+
#
|
|
3
|
+
# Copyright (C) 2005,2006 Masao Mutoh
|
|
4
|
+
#
|
|
5
|
+
# This file is distributed under the same license as the Ruby-GetText-Package.
|
|
6
|
+
#
|
|
7
|
+
# Georgi Stoimenov <georgistoimenov@abv.bg>, 2008
|
|
8
|
+
#
|
|
9
|
+
msgid ""
|
|
10
|
+
msgstr ""
|
|
11
|
+
"Project-Id-Version: cgi-sample 1.1.1\n"
|
|
12
|
+
"POT-Creation-Date: 2006-01-07 14:48+0900\n"
|
|
13
|
+
"PO-Revision-Date: 2005-04-23 12:44+0900\n"
|
|
14
|
+
"Last-Translator: Sava Chankov <sava.chankov@gmail.com>\n"
|
|
15
|
+
"Language-Team: Bulgarian <ruby-on-rails-bulgaria@googlegroups.com>\n"
|
|
16
|
+
"MIME-Version: 1.0\n"
|
|
17
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
|
18
|
+
"Content-Transfer-Encoding: 8bit\n"
|
|
19
|
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
|
20
|
+
|
|
21
|
+
#: helloerb1.cgi:32
|
|
22
|
+
msgid "Sample script for CGI/ERB (UTF-8)."
|
|
23
|
+
msgstr "Примерен CGI/ERB скрипт (UTF-8)."
|
|
24
|
+
|
|
25
|
+
#: helloerb.rhtml:5 other.rhtml:5
|
|
26
|
+
msgid "Sample script for CGI/ERB and Ruby-GetText-Package"
|
|
27
|
+
msgstr "Примерен скрипт, ползващ CGI/ERB и Ruby-GetText-Package"
|
|
28
|
+
|
|
29
|
+
#: helloerb.rhtml:12
|
|
30
|
+
msgid "Hello World"
|
|
31
|
+
msgstr "Гепи копеле"
|
|
32
|
+
|
|
33
|
+
#: helloerb.rhtml:15 other.rhtml:11
|
|
34
|
+
msgid "locale"
|
|
35
|
+
msgstr "локал"
|
|
36
|
+
|
|
37
|
+
#: helloerb.rhtml:16 other.rhtml:12
|
|
38
|
+
msgid "output_charset"
|
|
39
|
+
msgstr "изходно_кодиране"
|
|
40
|
+
|
|
41
|
+
#: helloerb.rhtml:17 other.rhtml:13
|
|
42
|
+
msgid "QUERY_STRING"
|
|
43
|
+
msgstr "НИЗ_С_ПАРАМЕТРИ"
|
|
44
|
+
|
|
45
|
+
#: helloerb.rhtml:19
|
|
46
|
+
msgid "Call a library method which has another textdomain."
|
|
47
|
+
msgstr "Извикване на метод от библиотеката, който принадлежи на друга текстова област"
|
|
48
|
+
|
|
49
|
+
#: helloerb.rhtml:21 other.rhtml:15
|
|
50
|
+
msgid "Back"
|
|
51
|
+
msgstr "Назад"
|
|
52
|
+
|
|
53
|
+
#: other.rhtml:8
|
|
54
|
+
msgid "Another sample"
|
|
55
|
+
msgstr "Друг пример"
|
|
56
|
+
|
|
57
|
+
#: other.rhtml:9
|
|
58
|
+
msgid "This sample(other.rhtml) is the another ERB file of helloerb1.cgi."
|
|
59
|
+
msgstr "Този пример (other.rhtml) е другия ERB файл от helloerb1.cgi."
|