Joins the gettext and Maketext frameworks
Go to file
2021-02-07 18:59:31 +08:00
lib/Locale/Maketext Various fixes to avoid JetBrains IDE problem detection. 2021-02-07 17:46:47 +08:00
script Various fixes to avoid JetBrains IDE problem detection. 2021-02-07 17:46:47 +08:00
t Various fixes to avoid JetBrains IDE problem detection. 2021-02-07 17:46:47 +08:00
.gitignore Updated .gitignore. 2021-02-07 10:43:47 +08:00
Artistic Initialized from version 1.28 (2009/6/27). 2019-09-09 19:50:18 +08:00
Build.PL Advanced to version 1.30. 2019-09-17 01:14:13 +08:00
Changes Updated Changes. 2021-02-07 18:59:31 +08:00
Makefile.PL Advanced to version 1.30. 2019-09-17 01:14:13 +08:00
MANIFEST.SKIP Added MANIFEST.SKIP. 2021-02-07 10:43:59 +08:00
README.md Replaced the messy GNU-styled documents with a single Markdown README.md, and updated the URLs. 2021-02-07 14:18:24 +08:00

Locale::Maketext::Gettext - Joins the gettext and Maketext frameworks

Locale::Maketext::Gettext joins the GNU gettext and Maketext frameworks. It is a subclass of Locale::Maketext that follows the way GNU gettext works. It works seamlessly, both in the sense of GNU gettext and Maketext. As a result, you enjoy both their advantages, and get rid of both their problems, too.

You start as a usual GNU gettext localization project: Work on PO files with the help of translators, reviewers and Emacs. Turn them into MO files with msgfmt. Copy them into the appropriate locale directory, such as /usr/share/locale/de/LC_MESSAGES/myapp.mo.

Then, build your Maketext localization class, with your base class changed from Locale::Maketext to Locale::Maketext::Gettext. That's all. ^_*'

Locale::Maketext::Gettext::Functions

Locale::Maketext::Gettext::Functions is a functional interface to Locale::Maketext::Gettext (and Locale::Maketext). It works completely the GNU gettext way. It plays magic to Locale::Maketext. No more localization class/subclasses and language handles are required.

The maketext script

The maketext script is a command-line interface to Locale::Maketext::Gettext (and Locale::Maketext). It can be used in shell scripts, etc, to translate, maketext and return the result. It enables Maketext to be integrated into other programming languages/systems, like bash/csh, python, PHP, C, etc. It works like the command-line program gettext.

System Requirements

  1. Perl, version 5.8.0 or above. Locale::Maketext::Gettext uses the utf8 text internally that is only available since 5.8.0. You can run perl -v to see your current Perl version. If you don't have Perl, or if you have an older version of Perl, you can download and install/upgrade it from the Perl website. If you are using MS-Windows, you can download and install ActiveState ActivePerl.

  2. Required Perl modules: None.

  3. Optional Perl modules: None.

Download

Locale::Maketext::Gettext is hosted is on…

Install

Install with ExtUtils::MakeMaker

Locale-Maketext-Gettext uses standard Perl installation with ExtUtils::MakeMaker. Follow these steps:

% perl Makefile.PL
% make
% make test
% make install

When running make install, make sure you have the privilege to write to the installation location. This usually requires the root privilege.

If you are using ActivePerl under MS-Windows, you should use nmake instead of make. nmake can be obtained from the Microsoft FTP site.

If you want to install into another location, you can set the PREFIX. For example, to install into your home when you are not root:

% perl Makefile.PL PREFIX=/home/jessica

Refer to the documentation of ExtUtils::MakeMaker for more installation options (by running perldoc ExtUtils::MakeMaker).

Install with Module::Build

You can install with Module::Build instead, if you prefer. Follow these steps:

% perl Build.PL
% ./Build
% ./Build test
% ./Build install

When running ./Build install, make sure you have the privilege to write to the installation location. This usually requires the root privilege.

If you want to install into another location, you can set the --prefix. For example, to install into your home when you are not root:

% perl Build.PL --prefix=/home/jessica

Refer to the documentation of Module::Build for more installation options (by running perldoc Module::Build).

Install with the CPAN Shell

You can install with the CPAN shell, if you prefer. CPAN shell takes care of ExtUtils::MakeMaker and Module::Build for you:

% cpan Locale::Maketext::Gettext

Make sure you have the privilege to write to the installation location. This usually requires the root privilege. Since CPAN shell 1.81 you can set make_install_make_command and mbuild_install_build_command in your CPAN configuration to switch to root just before install:

% cpan
cpan> o conf make_install_make_command "sudo make"
cpan> o conf mbuild_install_build_command "sudo ./Build"
cpan> install Locale::Maketext::Gettext

If you want to install into another location, you can set makepl_arg and mbuild_arg in your CPAN configuration. For example, to install into your home when you are not root:

% cpan
cpan> o conf makepl_arg "PREFIX=/home/jessica"
cpan> o conf mbuild_arg "--prefix=/home/jessica"
cpan> install Locale::Maketext::Gettext

Refer to the documentation of cpan for more CPAN shell commands (by running perldoc cpan).

Install with the CPANPLUS Shell

You can install with the CPANPLUS shell, if you prefer. CPANPLUS shell takes care of ExtUtils::MakeMaker and Module::Build for you:

% cpanp -i Locale::Maketext::Gettext

Make sure you have the privilege to write to the installation location. This usually requires the root privilege.

If you want to install into another location, you can set makemakerflags and buildflags in your CPANPLUS configuration. For example, to install into your home when you are not root:

% cpanp
CPAN Terminal> s conf makemakerflags "PREFIX=/home/jessica"
CPAN Terminal> s conf buildflags "--prefix=/home/jessica"
CPAN Terminal> install Locale::Maketext::Gettext

Refer to the documentation of cpanp for more CPANPLUS shell commands (by running perldoc cpanp).

Source

Source is now on Github. See https://github.com/imacat/Locale-Maketext-Gettext.

Support

The Locale-Maketext-Gettext project is hosted on GitHub. Address your issues on the GitHub issue tracker https://github.com/imacat/Locale-Maketext-Gettext/issues.

News, Changes and Updates

Refer to the Changes for changes, bug fixes, updates, new functions, etc.

Thanks

  • Thanks to Max Maischein for reporting CPAN tester failures 200029, 200332 and 200331, that helps me find the shell character escape problem on my test suite.

  • Thanks to Andreas Koenig for reporting CPAN tester failures 387357 and submitting rt bug 23956, informing me the base class Locale::Maketext has updated its error handling behavior in the Perl 5.9.

  • Thanks to Chris Travers for suggestion to implement pgettext() in GNU gettext as pmaketext().

To Do

  • Design a way to install the MO file through ExtUtils::MakeMaker and Module::Build.
Copyright (c) 2003-2021 imacat. All rights reserved. This program is free
software; you can redistribute it and/or modify it under the same terms
as Perl itself.