当前位置: 首页 > 知识库问答 >
问题:

Apache gettext窗口不工作/翻译

杨飞
2023-03-14

我是新手。

这是我的设置:/apache2.2php5.3。6窗口7/

我在Apache/htdocs/test/index中有以下代码。php

<?php
    $language = 'de_DE'; 
    $translatefile = 'messages'; 
    setlocale(LC_ALL, $language);
    putenv("LANG=".$language); 
    bindtextdomain($translatefile, 'C:/locale'); 
    textdomain($translatefile); 

    echo gettext("Hello World!");
?>

我使用PoEdit在locale/de_de/LC_MESSAGES/MESSAGES下生成必要的翻译。po

当我访问http://localhost/test,结果是Hello World!当它应该是霍尔贴边!

作为测试,我打开命令提示符并导航到测试文件夹。然后我打了进去

php index.php 

控制台中显示的结果是

Hall Welt!

我不知道为什么它不能与Apache一起工作。

共有2个答案

安轶
2023-03-14

我今天在WAMPServer2.2、Apache2.2Windows7、64位上遇到了同样的问题。我卸载了它并安装了32位。它起作用了。

阎知
2023-03-14

这个问题没有用传统的方法解决。我不得不使用php-gettext而不是gettext(php_gettext.dll)默认内置到php中。

细节:

1)从这里下载php-gettext:https://launchpad.net/php-gettext/下载2)在index.php的同一个文件夹中添加以下文件:-gettext.inc-gettext.php-streams.php3)这是新的index.php

  <?php
    error_reporting(E_ALL | E_STRICT);

    // define constants
    define('PROJECT_DIR', realpath('./'));
    define('LOCALE_DIR', 'C:/locale');
    define('DEFAULT_LOCALE', 'de_DE');

    require_once('gettext.inc');

    $supported_locales = array('en_US', 'sr_CS', 'de_CH');
    $encoding = 'UTF-8';

    $locale = (isset($_GET['lang']))? $_GET['lang'] : DEFAULT_LOCALE;

    //var_dump($locale);die();

    // gettext setup
    T_setlocale(LC_MESSAGES, $locale);
    // Set the text domain as 'messages'
    $domain = 'messages';
    bindtextdomain($domain, LOCALE_DIR);
    // bind_textdomain_codeset is supported only in PHP 4.2.0+
    if (function_exists('bind_textdomain_codeset')) 
      bind_textdomain_codeset($domain, $encoding);
    textdomain($domain);

    echo gettext("Hello World!");
    ?> 

4) 打开你的php。ini并注释掉php_gettext。动态链接库:

  ;extension=php_gettext.dll

访问http://localhost/test您将看到霍尔贴边

 类似资料:
  • 下面给出的kafka producer程序不是通过Eclipse在Windows中运行的,而是在Unix平台上运行的(即,当我在承载kafka代理的Unix中运行它时,它工作正常)。windows不支持Kafka制作人吗?但是,我可以从windows计算机ping ip地址。请帮忙。 这是我得到的异常错误。 log4j:WARN找不到记录器的附加程序(kafka.utils.VerifiableP

  • 您好,我已经在windows中为java设置了环境变量。当我在cmd中键入java时,它可以工作,但当我键入javac时,它不能工作,因为javac“不被识别为内部或外部命令,执行Path=“C:\Program Files\java\jdk1.7.0\u 09\bin可以工作,但当我关闭命令提示符并再次打开相同的错误时。是否存在永久设置此错误的方法。

  • 安装finerycms之前的先决条件 安装Ruby和Rubygems 安装数据库(mysql) 安装ImageMagick最新版本 所有先决条件都已正确安装。下一步安装refinerycms “gem安装精炼CMS”,然后不工作,我得到这个错误 找不到一个有效的gem'finerycms'()=0),原因如下:无法从https://rubygems.org/下载数据-ssl_connect返回=1

  • 我有一个使用flink应用程序的场景,该应用程序接收以下格式的数据流: {“event\u id”:“c1s2s34”,“event\u create\u timestamp”:“2019-03-07 11:11:23”,“amount”:“104.67”} 我使用下面的滚动窗口来查找过去60秒内输入流的总和、计数和平均值。 键值。时间窗口(时间秒(60)) 然而,我如何标记聚合结果,以便我可以说

  • 我是一个流口水的新手,正在尝试滑动窗口的概念。 我的问题是检测两个销售事件中是否至少发生了成功的交易。我总是以“一次销售发生了两次事件”的形式得到结果,即使这样的事件是否发生过。 -------------drl公司---------- -------------代码----------

  • 我试图在我的JavaFX2应用程序中添加一个图标,但是我找到的方法似乎不起作用。 图标的大小是32x32。 当我尝试 我希望这个能修好。