Я прошу прощения, если определение проблемы немного несвязно.Мы атаковали эту проблему во многих различных направлениях.
Основное описание, у нас есть веб-сайт, на котором мы пытаемся предоставить переводы для использования Locale :: TextDomain
У нас есть сценарии fastcgi, которые вызывают нашлокальная библиотека модулей perl.Fastcgi и перевод сложны (как мы его используем), потому что язык устанавливается при запуске скрипта и сохраняется.
Так что в нашей библиотеке модулей Perl это работает.
package SR::Locale;
our $LOCALE_NAMESPACE = 'es';
use Locale::TextDomain::UTF8 qw( $LOCALE_NAMESPACE );
our $word = __("football");
Но мы не можем найти способ динамически установить переменную $ LOCALE_NAMESPACE при запуске.Мы хотели бы установить его на основе request_uri или пути dir исполняемого скрипта или чего-то в этом роде.Итак, мы хотели бы сделать что-то вроде, но мы не можем понять это в быстрой настройке cgi:
package SR::Locale;
$ENV{REQUEST_URI} =~ m{example.com/(..)/}
our $LOCALE_NAMESPACE = $1;
use Locale::TextDomain::UTF8 qw( $LOCALE_NAMESPACE );
our $word = __("football");
в этом примере (для fastcgi), $ ENV {REQUEST_URI} пусто вмодуль при запуске скрипта.
Любая помощь будет принята с благодарностью.Мне не удалось найти ссылки на перевод и fastcgi, работающие вместе в Perl.