天道酬勤,学无止境

zend-translate

Use PHP Gettext without having to install locales

I've been looking at options for internationalizing an open source project: Gettext, which everyone seems to recommend, apparently needs locales to be "installed on your system" to be used. See this note on the PHP manual, which reflects exactly my situation. This SO question also asks about the same problem. This isn't suitable for an open source project because I can't trust that the end users have the appropriate locales installed on their system. Besides, it's very very weird that you have to install locales just to use strings that you've translated (IMO). Zend_Translate is also

2021-11-28 15:04:36    分类:问答    php   arrays   gettext   zend-translate   php-gettext

Zend 框架 2 从 PhpRenderer 视图中获取语言环境(zend framework 2 get locale from view PhpRenderer)

问题 在我看来,如何获得 traslator 语言环境? 我想从变量 $this (视图的 PhpRenderer)开始。 即我不想使用 onBootstrap 或 ActionController 因为我不在乎有一个视图变量。 谢谢! 回答1 你应该试试: <?php echo \Locale::getDefault(); ?> 许多 I18n 类都参考了 PHP 的 Locale 类 (http://www.php.net/locale) - 所以在我看来,这将是一个很好的起点。 回答2 <?php echo $this->plugin('translate')->getTranslator()->getLocale(); ?> 请参阅:在 Zend Framework 2 中获取布局或视图中的本地值

2021-11-18 19:17:47    分类:技术分享    internationalization   zend-framework2   zend-view   zend-translate   zend-locale

zend framework 2 get locale from view PhpRenderer

How I can obtain traslator locale in my view? I want to do it starting from the variable $this (the PhpRenderer of the view). i.e. I don't want use onBootstrap nor ActionController because I don't care to have a view variables. Thank you!

2021-11-12 12:51:00    分类:问答    internationalization   zend-framework2   zend-view   zend-translate   zend-locale

在我的 ZF2 系统中安装语言切换器的最佳选择是什么?(What's the best option to have language switcher in my ZF2 system?)

问题 我为我的一位客户开发了小型 ZF2 学说系统。 到目前为止一切都很好,但他们需要 2 种语言的系统。 我可以从我的module/Application/config/module.config.php中将默认语言设置为english或another language 'translator' => array( 'locale' => 'en_US', 'translation_file_patterns' => array( array( 'type' => 'gettext', 'base_dir' => __DIR__ . '/../language', 'pattern' => '%s.mo', ), ), ), 我也可以使用这种方法在module.php设置默认值 public function onBootstrap(MvcEvent $e) { $application = $e->getApplication(); $serviceManager = $application->getServiceManager(); // Just a call to the translator, nothing special! $serviceManager->get('translator'); $this->initTranslator($e); // Etc

2021-09-30 07:53:21    分类:技术分享    php   localization   zend-framework2   zend-translate

如何将 Zend 本地化/翻译数组转换为 gettext?(How can I convert a Zend localization/translation array to gettext?)

问题 我的多语言站点已经成功地使用了 Zend 翻译的“数组”方法。 我想从该方法转换为“gettext”方法,因为我已经读过 gettext 更胜一筹。 我试过使用 http://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/php2po.html 但无法让它工作。 我认为这并不意味着将 Zend 数组作为输入处理。 我的 Zend 文件(有效)如下所示: <?php return array( 'choose your favorite stores' => 'Choose your %1$sfavorite stores%2$s', 'P.S. If you ever have question' => 'P.S. If you ever have questions, %1$semail us%2$s any time.', 'You can also find quick answer' => 'You can also find quick answers on our %1$sHelp page%2$s.', 'Earn X cash' => '%1$sEarn 1-30%% cash back%2$s, get money-saving coupons, and find

2021-09-29 06:05:38    分类:技术分享    zend-framework   localization   translation   gettext   zend-translate

How can I convert a Zend localization/translation array to gettext?

My multi-lingual site already successfully uses the "array" method of Zend translations. I want to convert from that method to the "gettext" method because I've read that gettext is superior. I've tried using http://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/php2po.html but can't get it to work. I think it's not meant to handle Zend arrays as the input. My Zend file (which works) looks like this: <?php return array( 'choose your favorite stores' => 'Choose your %1$sfavorite stores%2$s', 'P.S. If you ever have question' => 'P.S. If you ever have questions, %1$semail

2021-09-29 05:17:08    分类:问答    zend-framework   localization   translation   gettext   zend-translate

Zend_Translate 的 Mysql 适配器(Mysql adapter for Zend_Translate)

问题 我目前正处于一个相当大的项目的规划阶段,我将在 Zend 框架中开发该项目。 我面临的问题之一是客户不仅要翻译内容,还要翻译界面。 我目前正在使用 gettext 和 poedit 来管理我的语言文件,但这不是客户的选择,因为他们无法通过 FTP 访问该站点。 因此,我正在考虑在前端有一个接口的 mysql 后端,供客户管理他自己的接口翻译。 然而仍然没有用于 Zend_Translate 的 mysql adapater。 那么,现在有没有人为 Zend_Translate 编写适配器脚本,以便它可以与 mysql 表一起使用? 或者任何反对使用 mysql 的论据以及针对此问题的其他可能解决方案? 回答1 您可以通过不同方式解决此问题: 扩展 Zend_Translate_Adapter 来创建你自己的。 所有新的适配器只负责从源中获取翻译。 也就是说,您只需要从数据库中获取翻译。 查看其他适配器,看看它们是如何实现的。 从数据库中获取数据并将其传递给 Zend_Translate_Adapter_Array 使用 Zend_Translate_Adapter_Csv 或 Ini。 由于翻译的阅读和写作会更多,因此该解决方案将减少对数据库的查询数量。 当客户端添加新语言或更改现有语言时,只需将其写入文件,而不是数据库。 如果您决定使用数据库适配器,也许您可​​以以某种方式

2021-09-20 14:11:11    分类:技术分享    mysql   zend-framework   zend-translate

Zend 框架:Zend_translate 和路由相关问题(Zend Framework: Zend_translate and routing related issue)

问题 我已经在我的应用程序中实现了 Zend_Navigation、Zend_Translate。 路由在 Bootstrap.php 中设置,如下所示。 $fc = Zend_Controller_Front::getInstance(); $zl=new Zend_Locale(); Zend_Registry::set('Zend_Locale',$zl); $lang=$zl->getLanguage().'_'.$zl->getRegion(); $router = $fc->getRouter(); $route = new Zend_Controller_Router_Route(':lang/:module/:controller/:action/*', array( 'lang'=>$lang, 'module'=>'default', 'controller'=>'index', 'action'=>'index' )); $router->addRoute('default', $route); $fc->setRouter($router); $fc->registerPlugin( new Plugin_LanguageSetup()); 在 LaunguageSetup 插件中,我定义了 dispatchLoopStartup 方法来检查语言参数

2021-09-12 04:35:04    分类:技术分享    zend-framework   zend-translate

Zend 框架:Zend_translate 和路由相关问题(Zend Framework: Zend_translate and routing related issue)

问题 我已经在我的应用程序中实现了 Zend_Navigation、Zend_Translate。 路由在 Bootstrap.php 中设置,如下所示。 $fc = Zend_Controller_Front::getInstance(); $zl=new Zend_Locale(); Zend_Registry::set('Zend_Locale',$zl); $lang=$zl->getLanguage().'_'.$zl->getRegion(); $router = $fc->getRouter(); $route = new Zend_Controller_Router_Route(':lang/:module/:controller/:action/*', array( 'lang'=>$lang, 'module'=>'default', 'controller'=>'index', 'action'=>'index' )); $router->addRoute('default', $route); $fc->setRouter($router); $fc->registerPlugin( new Plugin_LanguageSetup()); 在 LaunguageSetup 插件中,我定义了 dispatchLoopStartup 方法来检查语言参数

2021-09-12 04:33:25    分类:技术分享    zend-framework   zend-translate

Zend Framework: Zend_translate and routing related issue

I have implemented Zend_Navigation, Zend_Translate in my application. The routing is setup in Bootstrap.php like below. $fc = Zend_Controller_Front::getInstance(); $zl=new Zend_Locale(); Zend_Registry::set('Zend_Locale',$zl); $lang=$zl->getLanguage().'_'.$zl->getRegion(); $router = $fc->getRouter(); $route = new Zend_Controller_Router_Route(':lang/:module/:controller/:action/*', array( 'lang'=>$lang, 'module'=>'default', 'controller'=>'index', 'action'=>'index' )); $router->addRoute('default', $route); $fc->setRouter($router); $fc->registerPlugin( new Plugin_LanguageSetup()); in LaunguageSetup

2021-09-03 18:14:22    分类:问答    zend-framework   zend-translate