gettext 1.0.0-mswin32
Sign up to get free protection for your applications and to get access to all the features.
- data/COPYING +55 -0
- data/COPYING.ja +51 -0
- data/ChangeLog +490 -0
- data/NEWS +98 -0
- data/README +113 -0
- data/README.ja +115 -0
- data/Rakefile +169 -0
- data/bin/rgettext +22 -0
- data/bin/rmsgfmt +22 -0
- data/data/locale/de/LC_MESSAGES/rgettext.mo +0 -0
- data/data/locale/de/LC_MESSAGES/rmsgfmt.mo +0 -0
- data/data/locale/es/LC_MESSAGES/rgettext.mo +0 -0
- data/data/locale/es/LC_MESSAGES/rmsgfmt.mo +0 -0
- data/data/locale/fr/LC_MESSAGES/rgettext.mo +0 -0
- data/data/locale/fr/LC_MESSAGES/rmsgfmt.mo +0 -0
- data/data/locale/it/LC_MESSAGES/rgettext.mo +0 -0
- data/data/locale/it/LC_MESSAGES/rmsgfmt.mo +0 -0
- data/data/locale/ja/LC_MESSAGES/rgettext.mo +0 -0
- data/data/locale/ja/LC_MESSAGES/rmsgfmt.mo +0 -0
- data/data/locale/ko/LC_MESSAGES/rgettext.mo +0 -0
- data/data/locale/ko/LC_MESSAGES/rmsgfmt.mo +0 -0
- data/data/locale/pt_BR/LC_MESSAGES/rgettext.mo +0 -0
- data/data/locale/pt_BR/LC_MESSAGES/rmsgfmt.mo +0 -0
- data/data/locale/sv/LC_MESSAGES/rgettext.mo +0 -0
- data/data/locale/sv/LC_MESSAGES/rmsgfmt.mo +0 -0
- data/ext/gettext/gettext/MANIFEST +3 -0
- data/ext/gettext/gettext/Makefile +145 -0
- data/ext/gettext/gettext/_locale-i386-mswin32.def +2 -0
- data/ext/gettext/gettext/_locale.c +86 -0
- data/ext/gettext/gettext/_locale.exp +0 -0
- data/ext/gettext/gettext/_locale.lib +0 -0
- data/ext/gettext/gettext/_locale.obj +0 -0
- data/ext/gettext/gettext/_locale.pdb +0 -0
- data/ext/gettext/gettext/_locale.so +0 -0
- data/ext/gettext/gettext/extconf.rb +20 -0
- data/ext/gettext/gettext/mkmf.log +16 -0
- data/ext/gettext/gettext/vc70.pdb +0 -0
- data/gettext-1.0.0-mswin32.gem +0 -0
- data/lib/_locale.so +0 -0
- data/lib/gettext.rb +127 -0
- data/lib/gettext/cgi.rb +83 -0
- data/lib/gettext/container.rb +30 -0
- data/lib/gettext/erb.rb +28 -0
- data/lib/gettext/iconv.rb +80 -0
- data/lib/gettext/locale.rb +71 -0
- data/lib/gettext/locale_default.rb +35 -0
- data/lib/gettext/locale_table_win32.rb +192 -0
- data/lib/gettext/locale_win32.rb +35 -0
- data/lib/gettext/mo.rb +262 -0
- data/lib/gettext/parser/erb.rb +34 -0
- data/lib/gettext/parser/glade.rb +98 -0
- data/lib/gettext/parser/ruby.rb +211 -0
- data/lib/gettext/rails.rb +40 -0
- data/lib/gettext/rgettext.rb +181 -0
- data/lib/gettext/rmsgfmt.rb +363 -0
- data/lib/gettext/textdomain.rb +168 -0
- data/lib/gettext/version.rb +12 -0
- data/po/de/rgettext.po +49 -0
- data/po/de/rmsgfmt.po +45 -0
- data/po/es/rgettext.po +47 -0
- data/po/es/rmsgfmt.po +43 -0
- data/po/fr/rgettext.po +47 -0
- data/po/fr/rmsgfmt.po +43 -0
- data/po/it/rgettext.po +47 -0
- data/po/it/rmsgfmt.po +44 -0
- data/po/ja/rgettext.po +49 -0
- data/po/ja/rmsgfmt.po +43 -0
- data/po/ko/rgettext.po +46 -0
- data/po/ko/rmsgfmt.po +40 -0
- data/po/pt_BR/rgettext.po +47 -0
- data/po/pt_BR/rmsgfmt.po +42 -0
- data/po/rgettext.pot +45 -0
- data/po/rmsgfmt.pot +40 -0
- data/po/sv/rgettext.po +48 -0
- data/po/sv/rmsgfmt.po +43 -0
- data/post-setup.rb +12 -0
- data/pre-setup.rb +12 -0
- data/samples/README +20 -0
- data/samples/cgi/README +43 -0
- data/samples/cgi/Rakefile +9 -0
- data/samples/cgi/cookie.cgi +57 -0
- data/samples/cgi/gettext.css +116 -0
- data/samples/cgi/helloerb.rhtml +27 -0
- data/samples/cgi/helloerb1.cgi +47 -0
- data/samples/cgi/helloerb2.cgi +41 -0
- data/samples/cgi/hellolib.rb +21 -0
- data/samples/cgi/http.rb +54 -0
- data/samples/cgi/index.cgi +104 -0
- data/samples/cgi/locale/de/LC_MESSAGES/helloerb1.mo +0 -0
- data/samples/cgi/locale/de/LC_MESSAGES/helloerb2.mo +0 -0
- data/samples/cgi/locale/de/LC_MESSAGES/hellolib.mo +0 -0
- data/samples/cgi/locale/de/LC_MESSAGES/main.mo +0 -0
- data/samples/cgi/locale/es/LC_MESSAGES/helloerb1.mo +0 -0
- data/samples/cgi/locale/es/LC_MESSAGES/helloerb2.mo +0 -0
- data/samples/cgi/locale/es/LC_MESSAGES/hellolib.mo +0 -0
- data/samples/cgi/locale/es/LC_MESSAGES/main.mo +0 -0
- data/samples/cgi/locale/fr/LC_MESSAGES/helloerb1.mo +0 -0
- data/samples/cgi/locale/fr/LC_MESSAGES/helloerb2.mo +0 -0
- data/samples/cgi/locale/fr/LC_MESSAGES/hellolib.mo +0 -0
- data/samples/cgi/locale/fr/LC_MESSAGES/main.mo +0 -0
- data/samples/cgi/locale/it/LC_MESSAGES/helloerb1.mo +0 -0
- data/samples/cgi/locale/it/LC_MESSAGES/helloerb2.mo +0 -0
- data/samples/cgi/locale/it/LC_MESSAGES/hellolib.mo +0 -0
- data/samples/cgi/locale/it/LC_MESSAGES/main.mo +0 -0
- data/samples/cgi/locale/ja/LC_MESSAGES/helloerb1.mo +0 -0
- data/samples/cgi/locale/ja/LC_MESSAGES/helloerb2.mo +0 -0
- data/samples/cgi/locale/ja/LC_MESSAGES/hellolib.mo +0 -0
- data/samples/cgi/locale/ja/LC_MESSAGES/main.mo +0 -0
- data/samples/cgi/locale/ko/LC_MESSAGES/helloerb1.mo +0 -0
- data/samples/cgi/locale/ko/LC_MESSAGES/helloerb2.mo +0 -0
- data/samples/cgi/locale/ko/LC_MESSAGES/hellolib.mo +0 -0
- data/samples/cgi/locale/ko/LC_MESSAGES/main.mo +0 -0
- data/samples/cgi/other.rhtml +20 -0
- data/samples/cgi/po/de/helloerb1.po +60 -0
- data/samples/cgi/po/de/helloerb2.po +52 -0
- data/samples/cgi/po/de/hellolib.po +23 -0
- data/samples/cgi/po/de/main.po +76 -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 +74 -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 +75 -0
- data/samples/cgi/po/helloerb1.pot +60 -0
- data/samples/cgi/po/helloerb2.pot +52 -0
- data/samples/cgi/po/hellolib.pot +23 -0
- data/samples/cgi/po/it/helloerb1.po +61 -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 +76 -0
- data/samples/cgi/po/ja/helloerb1.po +59 -0
- data/samples/cgi/po/ja/helloerb2.po +52 -0
- data/samples/cgi/po/ja/hellolib.po +23 -0
- data/samples/cgi/po/ja/main.po +76 -0
- data/samples/cgi/po/ko/helloerb1.po +58 -0
- data/samples/cgi/po/ko/helloerb2.po +52 -0
- data/samples/cgi/po/ko/hellolib.po +22 -0
- data/samples/cgi/po/ko/main.po +74 -0
- data/samples/cgi/po/main.pot +76 -0
- data/samples/cgi/ruby.bat +4 -0
- data/samples/hello.rb +12 -0
- data/samples/hello2.rb +15 -0
- data/samples/hello_noop.rb +18 -0
- data/samples/hello_plural.rb +15 -0
- data/samples/hello_textdomain.rb +12 -0
- data/samples/helloglade2.glade +70 -0
- data/samples/helloglade2.rb +24 -0
- data/samples/hellogtk.rb +26 -0
- data/samples/hellogtk2.rb +28 -0
- data/samples/hellotk.rb +18 -0
- data/samples/locale/de/LC_MESSAGES/hello.mo +0 -0
- data/samples/locale/de/LC_MESSAGES/hello2.mo +0 -0
- data/samples/locale/de/LC_MESSAGES/hello_noop.mo +0 -0
- data/samples/locale/de/LC_MESSAGES/hello_plural.mo +0 -0
- data/samples/locale/de/LC_MESSAGES/helloglade2.mo +0 -0
- data/samples/locale/de/LC_MESSAGES/hellogtk.mo +0 -0
- data/samples/locale/de/LC_MESSAGES/hellotk.mo +0 -0
- data/samples/locale/es/LC_MESSAGES/hello.mo +0 -0
- data/samples/locale/es/LC_MESSAGES/hello2.mo +0 -0
- data/samples/locale/es/LC_MESSAGES/hello_noop.mo +0 -0
- data/samples/locale/es/LC_MESSAGES/hello_plural.mo +0 -0
- data/samples/locale/es/LC_MESSAGES/helloglade2.mo +0 -0
- data/samples/locale/es/LC_MESSAGES/hellogtk.mo +0 -0
- data/samples/locale/es/LC_MESSAGES/hellotk.mo +0 -0
- data/samples/locale/fr/LC_MESSAGES/hello.mo +0 -0
- data/samples/locale/fr/LC_MESSAGES/hello2.mo +0 -0
- data/samples/locale/fr/LC_MESSAGES/hello_noop.mo +0 -0
- data/samples/locale/fr/LC_MESSAGES/hello_plural.mo +0 -0
- data/samples/locale/fr/LC_MESSAGES/helloglade2.mo +0 -0
- data/samples/locale/fr/LC_MESSAGES/hellogtk.mo +0 -0
- data/samples/locale/fr/LC_MESSAGES/hellotk.mo +0 -0
- data/samples/locale/it/LC_MESSAGES/hello.mo +0 -0
- data/samples/locale/it/LC_MESSAGES/hello2.mo +0 -0
- data/samples/locale/it/LC_MESSAGES/hello_noop.mo +0 -0
- data/samples/locale/it/LC_MESSAGES/hello_plural.mo +0 -0
- data/samples/locale/it/LC_MESSAGES/helloglade2.mo +0 -0
- data/samples/locale/it/LC_MESSAGES/hellogtk.mo +0 -0
- data/samples/locale/it/LC_MESSAGES/hellotk.mo +0 -0
- data/samples/locale/ja/LC_MESSAGES/hello.mo +0 -0
- data/samples/locale/ja/LC_MESSAGES/hello2.mo +0 -0
- data/samples/locale/ja/LC_MESSAGES/hello_noop.mo +0 -0
- data/samples/locale/ja/LC_MESSAGES/hello_plural.mo +0 -0
- data/samples/locale/ja/LC_MESSAGES/helloglade2.mo +0 -0
- data/samples/locale/ja/LC_MESSAGES/hellogtk.mo +0 -0
- data/samples/locale/ja/LC_MESSAGES/hellotk.mo +0 -0
- data/samples/locale/ko/LC_MESSAGES/hello.mo +0 -0
- data/samples/locale/ko/LC_MESSAGES/hello2.mo +0 -0
- data/samples/locale/ko/LC_MESSAGES/hello_noop.mo +0 -0
- data/samples/locale/ko/LC_MESSAGES/hello_plural.mo +0 -0
- data/samples/locale/ko/LC_MESSAGES/helloglade2.mo +0 -0
- data/samples/locale/ko/LC_MESSAGES/hellogtk.mo +0 -0
- data/samples/locale/ko/LC_MESSAGES/hellotk.mo +0 -0
- data/samples/locale/pt_BR/LC_MESSAGES/hello.mo +0 -0
- data/samples/locale/pt_BR/LC_MESSAGES/hello2.mo +0 -0
- data/samples/locale/pt_BR/LC_MESSAGES/hello_noop.mo +0 -0
- data/samples/locale/pt_BR/LC_MESSAGES/hello_plural.mo +0 -0
- data/samples/locale/pt_BR/LC_MESSAGES/helloglade2.mo +0 -0
- data/samples/locale/pt_BR/LC_MESSAGES/hellogtk.mo +0 -0
- data/samples/locale/pt_BR/LC_MESSAGES/hellotk.mo +0 -0
- data/samples/locale/sv/LC_MESSAGES/hello.mo +0 -0
- data/samples/locale/sv/LC_MESSAGES/hello2.mo +0 -0
- data/samples/locale/sv/LC_MESSAGES/hello_noop.mo +0 -0
- data/samples/locale/sv/LC_MESSAGES/hello_plural.mo +0 -0
- data/samples/locale/sv/LC_MESSAGES/helloglade2.mo +0 -0
- data/samples/locale/sv/LC_MESSAGES/hellogtk.mo +0 -0
- data/samples/locale/sv/LC_MESSAGES/hellotk.mo +0 -0
- data/samples/makemo.rb +3 -0
- data/samples/po/de/hello.po +20 -0
- data/samples/po/de/hello2.po +28 -0
- data/samples/po/de/hello_noop.po +24 -0
- data/samples/po/de/hello_plural.po +22 -0
- data/samples/po/de/helloglade2.po +27 -0
- data/samples/po/de/hellogtk.po +20 -0
- data/samples/po/de/hellotk.po +20 -0
- data/samples/po/es/hello.po +21 -0
- data/samples/po/es/hello2.po +28 -0
- data/samples/po/es/hello_noop.po +24 -0
- data/samples/po/es/hello_plural.po +23 -0
- data/samples/po/es/helloglade2.po +28 -0
- data/samples/po/es/hellogtk.po +20 -0
- data/samples/po/es/hellotk.po +20 -0
- data/samples/po/fr/hello.po +18 -0
- data/samples/po/fr/hello2.po +26 -0
- data/samples/po/fr/hello_noop.po +22 -0
- data/samples/po/fr/hello_plural.po +21 -0
- data/samples/po/fr/helloglade2.po +27 -0
- data/samples/po/fr/hellogtk.po +18 -0
- data/samples/po/fr/hellotk.po +18 -0
- data/samples/po/hello.pot +20 -0
- data/samples/po/hello2.pot +28 -0
- data/samples/po/hello_noop.pot +24 -0
- data/samples/po/hello_plural.pot +22 -0
- data/samples/po/helloglade2.pot +27 -0
- data/samples/po/hellogtk.pot +20 -0
- data/samples/po/hellotk.pot +20 -0
- data/samples/po/it/hello.po +20 -0
- data/samples/po/it/hello2.po +28 -0
- data/samples/po/it/hello_noop.po +24 -0
- data/samples/po/it/hello_plural.po +24 -0
- data/samples/po/it/helloglade2.po +28 -0
- data/samples/po/it/hellogtk.po +21 -0
- data/samples/po/it/hellotk.po +21 -0
- data/samples/po/ja/hello.po +20 -0
- data/samples/po/ja/hello2.po +28 -0
- data/samples/po/ja/hello_noop.po +23 -0
- data/samples/po/ja/hello_plural.po +22 -0
- data/samples/po/ja/helloglade2.po +26 -0
- data/samples/po/ja/hellogtk.po +19 -0
- data/samples/po/ja/hellotk.po +19 -0
- data/samples/po/ko/hello.po +19 -0
- data/samples/po/ko/hello2.po +27 -0
- data/samples/po/ko/hello_noop.po +23 -0
- data/samples/po/ko/hello_plural.po +23 -0
- data/samples/po/ko/helloglade2.po +29 -0
- data/samples/po/ko/hellogtk.po +19 -0
- data/samples/po/ko/hellotk.po +20 -0
- data/samples/po/pt_BR/hello.po +20 -0
- data/samples/po/pt_BR/hello2.po +28 -0
- data/samples/po/pt_BR/hello_noop.po +24 -0
- data/samples/po/pt_BR/hello_plural.po +23 -0
- data/samples/po/pt_BR/helloglade2.po +28 -0
- data/samples/po/pt_BR/hellogtk.po +20 -0
- data/samples/po/pt_BR/hellotk.po +20 -0
- data/samples/po/sv/hello.po +20 -0
- data/samples/po/sv/hello2.po +28 -0
- data/samples/po/sv/hello_noop.po +24 -0
- data/samples/po/sv/hello_plural.po +23 -0
- data/samples/po/sv/helloglade2.po +28 -0
- data/samples/po/sv/hellogtk.po +20 -0
- data/samples/po/sv/hellotk.po +20 -0
- data/samples/rails/README +79 -0
- data/samples/rails/Rakefile +212 -0
- data/samples/rails/app/controllers/application.rb +37 -0
- data/samples/rails/app/controllers/blog_controller.rb +62 -0
- data/samples/rails/app/helpers/application_helper.rb +3 -0
- data/samples/rails/app/helpers/blog_helper.rb +61 -0
- data/samples/rails/app/models/article.rb +2 -0
- data/samples/rails/app/views/blog/_form.rhtml +25 -0
- data/samples/rails/app/views/blog/edit.rhtml +22 -0
- data/samples/rails/app/views/blog/list.rhtml +30 -0
- data/samples/rails/app/views/blog/new.rhtml +21 -0
- data/samples/rails/app/views/blog/show.rhtml +18 -0
- data/samples/rails/app/views/layouts/blog.rhtml +36 -0
- data/samples/rails/config/database.yml +32 -0
- data/samples/rails/config/environment.rb +88 -0
- data/samples/rails/config/environments/development.rb +14 -0
- data/samples/rails/config/environments/production.rb +8 -0
- data/samples/rails/config/environments/test.rb +17 -0
- data/samples/rails/config/routes.rb +19 -0
- data/samples/rails/db/mysql.sql +8 -0
- data/samples/rails/db/postgresql.sql +7 -0
- data/samples/rails/locale/de/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/de/LC_MESSAGES/lang_helper.mo +0 -0
- data/samples/rails/locale/es/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/es/LC_MESSAGES/lang_helper.mo +0 -0
- data/samples/rails/locale/fr/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/fr/LC_MESSAGES/lang_helper.mo +0 -0
- data/samples/rails/locale/ja/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/ja/LC_MESSAGES/lang_helper.mo +0 -0
- data/samples/rails/locale/ko/LC_MESSAGES/blog.mo +0 -0
- data/samples/rails/locale/ko/LC_MESSAGES/lang_helper.mo +0 -0
- data/samples/rails/log/development.log +378 -0
- data/samples/rails/po/blog.pot +90 -0
- data/samples/rails/po/de/blog.po +91 -0
- data/samples/rails/po/de/lang_helper.po +28 -0
- data/samples/rails/po/es/blog.po +90 -0
- data/samples/rails/po/es/lang_helper.po +28 -0
- data/samples/rails/po/fr/blog.po +89 -0
- data/samples/rails/po/fr/lang_helper.po +27 -0
- data/samples/rails/po/ja/blog.po +89 -0
- data/samples/rails/po/ja/lang_helper.po +28 -0
- data/samples/rails/po/ko/blog.po +87 -0
- data/samples/rails/po/ko/lang_helper.po +26 -0
- data/samples/rails/po/lang_helper.pot +28 -0
- data/samples/rails/public/404.html +8 -0
- data/samples/rails/public/500.html +8 -0
- data/samples/rails/public/dispatch.cgi +10 -0
- data/samples/rails/public/dispatch.fcgi +24 -0
- data/samples/rails/public/dispatch.rb +10 -0
- data/samples/rails/public/favicon.ico +0 -0
- data/samples/rails/public/index.html +78 -0
- data/samples/rails/public/javascripts/controls.js +446 -0
- data/samples/rails/public/javascripts/dragdrop.js +537 -0
- data/samples/rails/public/javascripts/effects.js +612 -0
- data/samples/rails/public/javascripts/prototype.js +1038 -0
- data/samples/rails/public/stylesheets/blog.css +132 -0
- data/samples/rails/public/stylesheets/scaffold.css +74 -0
- data/samples/rails/script/benchmarker +19 -0
- data/samples/rails/script/breakpointer +4 -0
- data/samples/rails/script/console +23 -0
- data/samples/rails/script/destroy +7 -0
- data/samples/rails/script/generate +7 -0
- data/samples/rails/script/profiler +34 -0
- data/samples/rails/script/runner +29 -0
- data/samples/rails/script/server +49 -0
- data/samples/rails/test/fixtures/articles.yml +5 -0
- data/samples/rails/test/functional/blog_controller_test.rb +88 -0
- data/samples/rails/test/test_helper.rb +26 -0
- data/samples/rails/test/unit/article_test.rb +14 -0
- data/samples/rails/vendor/lang_helper.rb +49 -0
- data/setup.rb +1360 -0
- data/src/rmsgfmt.ry +233 -0
- data/test/README +10 -0
- data/test/gettext_runner.rb +18 -0
- data/test/gettext_test.rb +202 -0
- data/test/gettext_test_parser.rb +80 -0
- data/test/locale/cr/LC_MESSAGES/plural.mo +0 -0
- data/test/locale/da/LC_MESSAGES/plural.mo +0 -0
- data/test/locale/da/LC_MESSAGES/plural_error.mo +0 -0
- data/test/locale/fr/LC_MESSAGES/plural.mo +0 -0
- data/test/locale/fr/LC_MESSAGES/plural_error.mo +0 -0
- data/test/locale/fr/LC_MESSAGES/test1.mo +0 -0
- data/test/locale/fr/LC_MESSAGES/test2.mo +0 -0
- data/test/locale/ir/LC_MESSAGES/plural.mo +0 -0
- data/test/locale/ja/LC_MESSAGES/plural.mo +0 -0
- data/test/locale/ja/LC_MESSAGES/plural_error.mo +0 -0
- data/test/locale/ja/LC_MESSAGES/test1.mo +0 -0
- data/test/locale/ja/LC_MESSAGES/test2.mo +0 -0
- data/test/locale/ja/LC_MESSAGES/test_rubyparser.mo +0 -0
- data/test/locale/ja/LC_MESSAGES/test_sgettext.mo +0 -0
- data/test/locale/la/LC_MESSAGES/plural.mo +0 -0
- data/test/locale/li/LC_MESSAGES/plural.mo +0 -0
- data/test/locale/po/LC_MESSAGES/plural.mo +0 -0
- data/test/locale/sl/LC_MESSAGES/plural.mo +0 -0
- data/test/po/cr/plural.po +23 -0
- data/test/po/da/plural.po +22 -0
- data/test/po/da/plural_error.po +20 -0
- data/test/po/fr/plural.po +22 -0
- data/test/po/fr/plural_error.po +19 -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/plural.po +22 -0
- data/test/po/ja/plural_error.po +20 -0
- data/test/po/ja/test1.po +23 -0
- data/test/po/ja/test2.po +19 -0
- data/test/po/ja/test_rubyparser.po +43 -0
- data/test/po/ja/test_sgettext.po +47 -0
- data/test/po/la/plural.po +23 -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.sh +7 -0
- data/test/test_erb.rhtml +15 -0
- data/test/test_gladeparser.glade +183 -0
- data/test/test_rubyparser.rb +77 -0
- data/test/test_rubyparser_n.rb +66 -0
- data/test/test_sgettext.rb +48 -0
- data/test/testlib1.rb +20 -0
- data/test/testlib2.rb +11 -0
- data/test/testlib3.rb +12 -0
- data/test/testlib4.rb +11 -0
- metadata +589 -0
@@ -0,0 +1,168 @@
|
|
1
|
+
=begin
|
2
|
+
textdomain.rb - GetText::Textdomain
|
3
|
+
|
4
|
+
Copyright (C) 2001-2005 Masao Mutoh
|
5
|
+
Copyright (C) 2001-2003 Masahiro Sakai
|
6
|
+
|
7
|
+
Masahiro Sakai <s01397ms@sfc.keio.ac.jp>
|
8
|
+
Masao Mutoh <mutoh@highway.ne.jp>
|
9
|
+
|
10
|
+
You may redistribute it and/or modify it under the same
|
11
|
+
license terms as Ruby.
|
12
|
+
|
13
|
+
$Id: textdomain.rb,v 1.4 2005/08/29 18:24:36 mutoh Exp $
|
14
|
+
=end
|
15
|
+
|
16
|
+
require 'rbconfig'
|
17
|
+
|
18
|
+
module GetText
|
19
|
+
class TextDomain
|
20
|
+
|
21
|
+
GEM_PATH_RE = /(.*)\/lib$/
|
22
|
+
LOCALE_RE = /^([A-Za-z]+)(_[A-Za-z]+)?(\.\S+)?((?:@[^@]*)*)/
|
23
|
+
|
24
|
+
DEFAULT_LOCALE_DIRS = [
|
25
|
+
"#{Config::CONFIG['datadir']}/locale/%s/LC_MESSAGES/%s.mo",
|
26
|
+
"#{Config::CONFIG['prefix']}/share/locale/%s/LC_MESSAGES/%s.mo",
|
27
|
+
"#{Config::CONFIG['prefix']}/local/share/locale/%s/LC_MESSAGES/%s.mo"
|
28
|
+
].uniq
|
29
|
+
|
30
|
+
def initialize(name, path, locale, charset)
|
31
|
+
@name, @path = name, path
|
32
|
+
@search_files = Array.new
|
33
|
+
|
34
|
+
@locale_dirs = []
|
35
|
+
if ENV["GETTEXT_PATH"]
|
36
|
+
ENV["GETTEXT_PATH"].split(/,/).each {|i|
|
37
|
+
@locale_dirs += ["#{i}/%s/LC_MESSAGES/%s.mo", "#{i}/%s/%s.mo"]
|
38
|
+
}
|
39
|
+
elsif path
|
40
|
+
@locale_dirs += ["#{path}/%s/LC_MESSAGES/%s.mo", "#{path}/%s/%s.mo"]
|
41
|
+
end
|
42
|
+
|
43
|
+
unless path
|
44
|
+
@locale_dirs += DEFAULT_LOCALE_DIRS
|
45
|
+
|
46
|
+
if defined? Gem
|
47
|
+
$:.each do |path|
|
48
|
+
if GEM_PATH_RE =~ path
|
49
|
+
@locale_dirs += [
|
50
|
+
"#{$1}/data/locale/%s/LC_MESSAGES/%s.mo",
|
51
|
+
"#{$1}/data/locale/%s/%s.mo",
|
52
|
+
"#{$1}/locale/%s/%s.mo"]
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
@mofiles = Hash.new
|
59
|
+
set_charset(charset, false)
|
60
|
+
set_locale(locale, false)
|
61
|
+
load_mo(false)
|
62
|
+
|
63
|
+
$stderr.puts "Search path:#{@locale_dirs.inspect}" if $DEBUG
|
64
|
+
end
|
65
|
+
|
66
|
+
def set_locale(locale, reload = true)
|
67
|
+
locale = "C" unless locale
|
68
|
+
$stderr.puts "locale:#{locale}" if $DEBUG
|
69
|
+
@locales = []
|
70
|
+
matched = LOCALE_RE.match(locale)
|
71
|
+
if matched and matched.size > 1
|
72
|
+
matched = matched.to_a
|
73
|
+
matched.shift
|
74
|
+
while not matched.empty?
|
75
|
+
@locales.push(matched.join(''))
|
76
|
+
matched.pop
|
77
|
+
end
|
78
|
+
@locales.uniq!
|
79
|
+
else
|
80
|
+
@locales.push(locale)
|
81
|
+
end
|
82
|
+
load_mo(false) if reload
|
83
|
+
end
|
84
|
+
|
85
|
+
def gettext(msgid)
|
86
|
+
if @mo
|
87
|
+
if @mo[msgid]
|
88
|
+
result = @mo[msgid].size > 0 ? @mo[msgid] : msgid
|
89
|
+
else
|
90
|
+
result = msgid
|
91
|
+
end
|
92
|
+
else
|
93
|
+
no_mo_file if $DEBUG
|
94
|
+
result = msgid
|
95
|
+
end
|
96
|
+
result
|
97
|
+
end
|
98
|
+
|
99
|
+
def ngettext(msgid, msgid_plural, n)
|
100
|
+
msg = gettext(msgid + "\000" + msgid_plural)
|
101
|
+
if msg.include?("\000")
|
102
|
+
ary = msg.split("\000")
|
103
|
+
if @mo
|
104
|
+
plural = eval(@mo.plural)
|
105
|
+
if plural.kind_of?(Numeric)
|
106
|
+
msg = ary[plural]
|
107
|
+
else
|
108
|
+
msg = plural ? ary[1] : ary[0]
|
109
|
+
end
|
110
|
+
else
|
111
|
+
msg = n == 1 ? ary[0] : ary[1]
|
112
|
+
end
|
113
|
+
end
|
114
|
+
msg
|
115
|
+
end
|
116
|
+
|
117
|
+
def no_mo_file
|
118
|
+
if (@locales.include?("C") || @locales.include?("en"))
|
119
|
+
$stderr.puts "\nMO file is not found."
|
120
|
+
else
|
121
|
+
$stderr.puts "\nMO file is not found in"
|
122
|
+
@search_files.each do |fname|
|
123
|
+
$stderr.puts "\t#{fname}"
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
def same_property?(name, path, locale, charset)
|
129
|
+
@name == name and @path == path and @locales.include?(locale) and @charset == charset
|
130
|
+
end
|
131
|
+
|
132
|
+
def set_charset(charset, reload = true)
|
133
|
+
if charset and charset != ""
|
134
|
+
@charset = charset
|
135
|
+
else
|
136
|
+
@charset = ENV["OUTPUT_CHARSET"] ? ENV["OUTPUT_CHARSET"] : Locale.codeset
|
137
|
+
end
|
138
|
+
$stderr.puts "GetText::TextDomain#set_charset: charset = #{charset}" if $DEBUG
|
139
|
+
load_mo(false) if reload
|
140
|
+
end
|
141
|
+
|
142
|
+
attr_reader :charset
|
143
|
+
|
144
|
+
def load_mo(cache = true)
|
145
|
+
@mo = nil
|
146
|
+
return nil if @locales.include?("C") || @locales.include?("en")
|
147
|
+
if cache
|
148
|
+
@locales.each do |locale|
|
149
|
+
if @mo = @mofiles[locale]
|
150
|
+
return @mo
|
151
|
+
end
|
152
|
+
end
|
153
|
+
end
|
154
|
+
@locale_dirs.each do |dir|
|
155
|
+
@locales.each{|locale|
|
156
|
+
fname = dir % [locale, @name]
|
157
|
+
@search_files << fname
|
158
|
+
if File.exist?(fname)
|
159
|
+
@mo = MOFile.open(fname, @charset)
|
160
|
+
@mofiles[locale] = @mo
|
161
|
+
break
|
162
|
+
end
|
163
|
+
}
|
164
|
+
end
|
165
|
+
@mo
|
166
|
+
end
|
167
|
+
end
|
168
|
+
end
|
data/po/de/rgettext.po
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
#
|
2
|
+
# po-file for rgettext
|
3
|
+
#
|
4
|
+
# Copyright (C) 2004 Masao Mutoh
|
5
|
+
# This file is distributed under the same license as the Ruby-GetText-Package.
|
6
|
+
#
|
7
|
+
# Sven Herzberg, 2005
|
8
|
+
# Detlef Reichl, 2004
|
9
|
+
#
|
10
|
+
msgid ""
|
11
|
+
msgstr ""
|
12
|
+
"Project-Id-Version: ruby-gettext 1.0.0\n"
|
13
|
+
"Report-Msgid-Bugs-To: \n"
|
14
|
+
"POT-Creation-Date: 2005-08-29 01:45+0900\n"
|
15
|
+
"PO-Revision-Date: 2005-08-28 22:30+0200\n"
|
16
|
+
"Last-Translator: Sven Herzberg <herzi@abi02.de>\n"
|
17
|
+
"Language-Team: German <gnome-de@gnome.org>\n"
|
18
|
+
"MIME-Version: 1.0\n"
|
19
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
20
|
+
"Content-Transfer-Encoding: 8bit"
|
21
|
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
22
|
+
|
23
|
+
#: lib/gettext/rgettext.rb:118
|
24
|
+
msgid "Usage: %s input.rb [-o output.pot]"
|
25
|
+
msgstr "Gebrauch: %s eingabe.rb [-o ausgabe.pot]"
|
26
|
+
|
27
|
+
#: lib/gettext/rgettext.rb:120
|
28
|
+
msgid "Extract translatable strings from given input files."
|
29
|
+
msgstr "Extrahiere die übersetzbaren Zeichenketten aus den angegebenen Eingabedateien."
|
30
|
+
|
31
|
+
#: lib/gettext/rgettext.rb:122
|
32
|
+
msgid "Specific options:"
|
33
|
+
msgstr "Spezielle Optionen:"
|
34
|
+
|
35
|
+
#: lib/gettext/rgettext.rb:124
|
36
|
+
msgid "write output to specified file"
|
37
|
+
msgstr "Schreibe die Ausgabe in die angegebene Datei."
|
38
|
+
|
39
|
+
#: lib/gettext/rgettext.rb:128
|
40
|
+
msgid "File '%s' has already existed."
|
41
|
+
msgstr "Die Datei »%s« existierte bereits."
|
42
|
+
|
43
|
+
#: lib/gettext/rgettext.rb:133
|
44
|
+
msgid "display version information and exit"
|
45
|
+
msgstr "Zeige Versions-Informationen und beende."
|
46
|
+
|
47
|
+
#: lib/gettext/rgettext.rb:156
|
48
|
+
msgid "no input files"
|
49
|
+
msgstr "Keine Eingabedateien"
|
data/po/de/rmsgfmt.po
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
#
|
2
|
+
# po-file for rgettext
|
3
|
+
#
|
4
|
+
# Copyright (C) 2004,2005 Masao Mutoh
|
5
|
+
# This file is distributed under the same license as the Ruby-GetText-Package.
|
6
|
+
#
|
7
|
+
# Sven Herzberg, 2005
|
8
|
+
# Detlef Reichl, 2004
|
9
|
+
#
|
10
|
+
msgid ""
|
11
|
+
msgstr ""
|
12
|
+
"Project-Id-Version: ruby-gettext 1.0.0\n"
|
13
|
+
"Report-Msgid-Bugs-To: \n"
|
14
|
+
"POT-Creation-Date: 2005-08-29 01:45+0900\n"
|
15
|
+
"PO-Revision-Date: 2005-08-28 22:31+0200\n"
|
16
|
+
"Last-Translator: Sven Herzberg <herzi@abi02.de>\n"
|
17
|
+
"Language-Team: German <gnome-de@gnome.org>\n"
|
18
|
+
"MIME-Version: 1.0\n"
|
19
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
20
|
+
"Content-Transfer-Encoding: 8bit"
|
21
|
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
22
|
+
|
23
|
+
#: lib/gettext/rmsgfmt.rb:298
|
24
|
+
msgid "no input files"
|
25
|
+
msgstr "Keine Eingabedateien"
|
26
|
+
|
27
|
+
#: lib/gettext/rmsgfmt.rb:314
|
28
|
+
msgid "Usage: %s input.rb [-o output.mo]"
|
29
|
+
msgstr "Gebrauch: %s eingabe.po [-o ausgabe.mo]"
|
30
|
+
|
31
|
+
#: lib/gettext/rmsgfmt.rb:316
|
32
|
+
msgid "Generate binary message catalog from textual translation description."
|
33
|
+
msgstr "Erstelle binären Meldungskatalog aus schriftlicher Übersetzungsbeschreibung."
|
34
|
+
|
35
|
+
#: lib/gettext/rmsgfmt.rb:318
|
36
|
+
msgid "Specific options:"
|
37
|
+
msgstr "Spezielle Optionen:"
|
38
|
+
|
39
|
+
#: lib/gettext/rmsgfmt.rb:320
|
40
|
+
msgid "write output to specified file"
|
41
|
+
msgstr "Schreibe Ausgabe in die angegebene Datei"
|
42
|
+
|
43
|
+
#: lib/gettext/rmsgfmt.rb:324
|
44
|
+
msgid "display version information and exit"
|
45
|
+
msgstr "Zeige Versionsinformationen und beende."
|
data/po/es/rgettext.po
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
#
|
2
|
+
# po-file for rgettext
|
3
|
+
#
|
4
|
+
# Copyright (C) 2004 Masao Mutoh
|
5
|
+
# This file is distributed under the same license as the Ruby-GetText-Package.
|
6
|
+
#
|
7
|
+
# David Espada <davinci@escomposlinux.org>, 2004, 2005.
|
8
|
+
#
|
9
|
+
msgid ""
|
10
|
+
msgstr ""
|
11
|
+
"Project-Id-Version: ruby-gettext 1.0.0\n"
|
12
|
+
"POT-Creation-Date: 2005-08-29 01:45+0900\n"
|
13
|
+
"PO-Revision-Date: 2005-04-24 15:27+0100\n"
|
14
|
+
"Last-Translator: David Espada <davinci at escomposlinux.org>\n"
|
15
|
+
"Language-Team: David Espada <davinci at escomposlinux.org>\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
|
+
#: lib/gettext/rgettext.rb:118
|
22
|
+
msgid "Usage: %s input.rb [-o output.pot]"
|
23
|
+
msgstr "Uso: %s entrada.rb [-o salida.pot]"
|
24
|
+
|
25
|
+
#: lib/gettext/rgettext.rb:120
|
26
|
+
msgid "Extract translatable strings from given input files."
|
27
|
+
msgstr "Extraer las cadenas traducibles de los ficheros de entrada."
|
28
|
+
|
29
|
+
#: lib/gettext/rgettext.rb:122
|
30
|
+
msgid "Specific options:"
|
31
|
+
msgstr "Opciones específicas:"
|
32
|
+
|
33
|
+
#: lib/gettext/rgettext.rb:124
|
34
|
+
msgid "write output to specified file"
|
35
|
+
msgstr "escribir salida en fichero especificado"
|
36
|
+
|
37
|
+
#: lib/gettext/rgettext.rb:128
|
38
|
+
msgid "File '%s' has already existed."
|
39
|
+
msgstr "El fichero '%s' ya ha existido"
|
40
|
+
|
41
|
+
#: lib/gettext/rgettext.rb:133
|
42
|
+
msgid "display version information and exit"
|
43
|
+
msgstr "mostrar información de versión y salir"
|
44
|
+
|
45
|
+
#: lib/gettext/rgettext.rb:156
|
46
|
+
msgid "no input files"
|
47
|
+
msgstr "no hay ficheros de entrada"
|
data/po/es/rmsgfmt.po
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
#
|
2
|
+
# po-file for rgettext
|
3
|
+
#
|
4
|
+
# Copyright (C) 2004,2005 Masao Mutoh
|
5
|
+
# This file is distributed under the same license as the Ruby-GetText-Package.
|
6
|
+
#
|
7
|
+
# David Espada <davinci@escomposlinux.org>, 2004, 2005.
|
8
|
+
#
|
9
|
+
msgid ""
|
10
|
+
msgstr ""
|
11
|
+
"Project-Id-Version: ruby-gettext 1.0.0\n"
|
12
|
+
"POT-Creation-Date: 2005-08-29 01:45+0900\n"
|
13
|
+
"PO-Revision-Date: 2005-04-24 14:54+0100\n"
|
14
|
+
"Last-Translator: David Espada <davinci at escomposlinux.org>\n"
|
15
|
+
"Language-Team: Gabriele Renzi <davinci at escomposlinux.org>\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
|
+
#: lib/gettext/rmsgfmt.rb:298
|
22
|
+
msgid "no input files"
|
23
|
+
msgstr "no hay ficheros de entrada"
|
24
|
+
|
25
|
+
#: lib/gettext/rmsgfmt.rb:314
|
26
|
+
msgid "Usage: %s input.po [-o output.mo]"
|
27
|
+
msgstr "Uso: %s entrada.po [-o salida.mo]"
|
28
|
+
|
29
|
+
#: lib/gettext/rmsgfmt.rb:316
|
30
|
+
msgid "Generate binary message catalog from textual translation description."
|
31
|
+
msgstr "Generar catálogo de mensajes binarios a partir de la descripción textua de la traducción."
|
32
|
+
|
33
|
+
#: lib/gettext/rmsgfmt.rb:318
|
34
|
+
msgid "Specific options:"
|
35
|
+
msgstr "Opciones específicas:"
|
36
|
+
|
37
|
+
#: lib/gettext/rmsgfmt.rb:320
|
38
|
+
msgid "write output to specified file"
|
39
|
+
msgstr "escribir salida en fichero especificado"
|
40
|
+
|
41
|
+
#: lib/gettext/rmsgfmt.rb:324
|
42
|
+
msgid "display version information and exit"
|
43
|
+
msgstr "mostrar información de versión y salir"
|
data/po/fr/rgettext.po
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
#
|
2
|
+
# po-file for rgettext
|
3
|
+
#
|
4
|
+
# Copyright (C) 2004 Masao Mutoh
|
5
|
+
# This file is distributed under the same license as the Ruby-GetText-Package.
|
6
|
+
#
|
7
|
+
# Laurent Sansonetti <lrz@rubymonks.org>, 2005
|
8
|
+
#
|
9
|
+
msgid ""
|
10
|
+
msgstr ""
|
11
|
+
"Project-Id-Version: ruby-gettext 1.0.0\n"
|
12
|
+
"POT-Creation-Date: 2005-08-29 01:45+0900\n"
|
13
|
+
"PO-Revision-Date: 2005-08-28 09:22+0100\n"
|
14
|
+
"Last-Translator: Laurent Sansonetti\n"
|
15
|
+
"Language-Team: French\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 ? 0 : 1;\n"
|
20
|
+
|
21
|
+
#: lib/gettext/rgettext.rb:118
|
22
|
+
msgid "Usage: %s input.rb [-o output.pot]"
|
23
|
+
msgstr "Usage: %s input.rb [-o output.pot]"
|
24
|
+
|
25
|
+
#: lib/gettext/rgettext.rb:120
|
26
|
+
msgid "Extract translatable strings from given input files."
|
27
|
+
msgstr "Extracte les chaînes localisables des fichiers spécifiés en entrée."
|
28
|
+
|
29
|
+
#: lib/gettext/rgettext.rb:122
|
30
|
+
msgid "Specific options:"
|
31
|
+
msgstr "Options spécifiques:"
|
32
|
+
|
33
|
+
#: lib/gettext/rgettext.rb:124
|
34
|
+
msgid "write output to specified file"
|
35
|
+
msgstr "écrit la sortie dans le fichier spécifié"
|
36
|
+
|
37
|
+
#: lib/gettext/rgettext.rb:128
|
38
|
+
msgid "File '%s' has already existed."
|
39
|
+
msgstr "Le fichier '%s' existe déjà."
|
40
|
+
|
41
|
+
#: lib/gettext/rgettext.rb:133
|
42
|
+
msgid "display version information and exit"
|
43
|
+
msgstr "affiche la version du programme et sort"
|
44
|
+
|
45
|
+
#: lib/gettext/rgettext.rb:156
|
46
|
+
msgid "no input files"
|
47
|
+
msgstr "pas de fichiers en "
|
data/po/fr/rmsgfmt.po
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
#
|
2
|
+
# po-file for rgettext
|
3
|
+
#
|
4
|
+
# Copyright (C) 2004 Masao Mutoh
|
5
|
+
# This file is distributed under the same license as the Ruby-GetText-Package.
|
6
|
+
#
|
7
|
+
# Laurent Sansonetti <lrz@rubymonks.org>, 2004-2005
|
8
|
+
#
|
9
|
+
msgid ""
|
10
|
+
msgstr ""
|
11
|
+
"Project-Id-Version: ruby-gettext 1.0.0\n"
|
12
|
+
"POT-Creation-Date: 2005-08-29 01:45+0900\n"
|
13
|
+
"PO-Revision-Date: 2004-11-04 09:22+0100\n"
|
14
|
+
"Last-Translator: Laurent Sansonetti\n"
|
15
|
+
"Language-Team: French\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 ? 0 : 1;\n"
|
20
|
+
|
21
|
+
#: lib/gettext/rmsgfmt.rb:298
|
22
|
+
msgid "no input files"
|
23
|
+
msgstr "pas de fichiers d'entrée"
|
24
|
+
|
25
|
+
#: lib/gettext/rmsgfmt.rb:314
|
26
|
+
msgid "Usage: %s input.po [-o output.mo]"
|
27
|
+
msgstr "Usage: %s input.po [-o output.mo]"
|
28
|
+
|
29
|
+
#: lib/gettext/rmsgfmt.rb:316
|
30
|
+
msgid "Generate binary message catalog from textual translation description."
|
31
|
+
msgstr "Génère un catalogue binaire de messages à partir d'une description textuelle d'une traduction."
|
32
|
+
|
33
|
+
#: lib/gettext/rmsgfmt.rb:318
|
34
|
+
msgid "Specific options:"
|
35
|
+
msgstr "Options spécifiques:"
|
36
|
+
|
37
|
+
#: lib/gettext/rmsgfmt.rb:320
|
38
|
+
msgid "write output to specified file"
|
39
|
+
msgstr "écrit la sortie dans le fichier spécifié"
|
40
|
+
|
41
|
+
#: lib/gettext/rmsgfmt.rb:324
|
42
|
+
msgid "display version information and exit"
|
43
|
+
msgstr "affiche la version du programme et sort"
|