Gettext Translation用数字中的逗号替换小数

时间:2015-02-06 06:51:47

标签: php

好的,这是我的问题,我有输入,用户可以输入值,这些值被传递到另一个页面上的变量。我使用的是gettext,所以我的语言是英语,中文,西班牙语和俄语。当我使用英语时,我的数字是这样的:

£23.50

但是当我的用户将语言更改为西班牙语时,小数会被逗号替换,所以数字是这样的:

£2350。

这两个数字是否相同?只是看着它们,看起来不像它们,但是我的系统是怎么做到的呢?有工作吗?当我们选择一种语言来启动gettext时,我会通过cookie设置他们的本地人。

这是我的gettext翻译代码:

include(APP."/libs/languages/libs/streams.php");
include(APP."/libs/languages/libs/gettext.php");

define('LOCALE', 'en_GB');

define('SESSION_LOCALE_KEY', 'locale');
define('DEFAULT_LOCALE', 'en_GB');
define('LOCALE_REQUEST_PARAM', 'lang');
define('WEBSITE_DOMAIN', 'messages');

if (array_key_exists(LOCALE_REQUEST_PARAM, $_REQUEST)) {
    $current_locale = $_REQUEST[LOCALE_REQUEST_PARAM];
    $_COOKIE[SESSION_LOCALE_KEY] = $current_locale;
} elseif (array_key_exists(SESSION_LOCALE_KEY, $_COOKIE)) {
    $current_locale = $_COOKIE[SESSION_LOCALE_KEY];
} else {
    $current_locale = DEFAULT_LOCALE;
}
//will eventually stick this all in the model file
putenv("LC_ALL=$current_locale");
setlocale(LC_ALL, $current_locale);
bindtextdomain(WEBSITE_DOMAIN, $_SERVER['DOCUMENT_ROOT'] . '/lang');
bind_textdomain_codeset(WEBSITE_DOMAIN, 'UTF-8');
textdomain(WEBSITE_DOMAIN);

1 个答案:

答案 0 :(得分:0)

我通过更改LC_ALL来修复它,它将所有本地,数字等更改为LC_MESSAGES,这只是翻译我的文本,因为这就是我所需要的。我不需要本地化数字