Php Windows7上的Gettext不';不翻译
我无法用gettext翻译我的应用程序 我的代码是:Php Windows7上的Gettext不';不翻译,php,windows,gettext,Php,Windows,Gettext,我无法用gettext翻译我的应用程序 我的代码是: <?php $language = 'cs_CZ'; $translatefile = 'default'; setlocale(LC_ALL, $language); putenv("LANG=".$language); bindtextdomain($translatefile, __DIR__.'/locale'); textdomain($translatefile); echo gettext("ADMIN_LOGIN_PR
<?php
$language = 'cs_CZ';
$translatefile = 'default';
setlocale(LC_ALL, $language);
putenv("LANG=".$language);
bindtextdomain($translatefile, __DIR__.'/locale');
textdomain($translatefile);
echo gettext("ADMIN_LOGIN_PROFESSIONAL");
这对我很有用:
等格式化日期:$language = 'cs_CZ'; $translatefile = 'default'; putenv("LC_ALL=".$language); setlocale(LC_ALL, $language); bindtextdomain($translatefile, '/locale'); textdomain($translatefile); echo gettext("ADMIN_LOGIN_PROFESSIONAL");
这对我在Win7、PHP5.3和5.4、iis上很有用。未在linux上测试。代码已准备好按strftime('%c')/** * Setup locale (strings and formats) * @param string $lang Lang code in ISO format ('cs') * @see locales: http://www.roseindia.net/tutorials/I18N/locales-list.shtml * @see languages: http://msdn.microsoft.com/en-us/library/39cwe7zf%28vs.71%29.aspx * @see regions: http://msdn.microsoft.com/en-us/library/cdax410z%28vs.71%29.aspx */ function setAppLocale($lang) { $domain = 'Tis'; switch ($lang) { case 'cs': $locale = 'czech'; $strings = 'cs_CZ'; break; case 'en': $locale = 'english'; $strings = 'en_US'; break; case 'de': $locale = 'german'; $strings = 'de_DE'; break; case 'hu': $locale = 'hungarian'; $strings = 'hu_HU'; break; case 'ru': $locale = 'russian'; $strings = 'ru_RU'; break; } putenv("LANGUAGE=$strings"); putenv("LC_ALL=$locale"); setlocale(LC_ALL, $locale); bindtextdomain($domain, APPDIR . "/locale"); bind_textdomain_codeset($domain, "UTF-8"); textdomain($domain); }
操作系统和服务器php之间有什么关系吗?在我同事的Linux上,它正在工作,所以我想是的。它仍然不工作,仍然不工作,尽管它是相同的代码,并且在.mo文件中有正确的翻译。我现在正在测试它,似乎从php 5.2到5.3有一些变化。。。