点到逗号转换与语言更改

时间:2016-11-21 06:11:41

标签: php codeigniter

在我的应用程序中提供3种不同的语言(英语,西班牙语,法语)。 每当我将语言从英语更改为西班牙语/英语再到法语时,它会将十进制数字从点转换为逗号,并且会产生问题我。那么如何防止这个问题或解决这个问题?

我的语言转换代码如下所示:

function set_lang($lang=FALSE){

        $current_locale=$this->CI->session->userdata('user_language');
        if(empty($current_locale)){
             $current_locale= 'en_US';
        }
    putenv("LANG=$current_locale");
    setlocale(LC_ALL, $current_locale.".UTF-8");
    setlocale(LC_MESSAGES,$current_locale);
    setlocale(LC_TIME, $current_locale);
    setlocale(LC_CTYPE,$current_locale);
    $domain='messages';
    $uri_segment='';
     $uri_segment = $this->CI->uri->segments;
    if(isset($uri_segment[1])){ 
        $filename = getcwd().'/application/modules/user/language/'.$lang.'/LC_MESSAGES/messages.mo';
                bindtextdomain(WEBSITE_DOMAIN,getcwd().'/application/modules/'.$uri_segment[1].'/language/');
    }
    bind_textdomain_codeset(WEBSITE_DOMAIN, 'UTF-8');
    textdomain(WEBSITE_DOMAIN);
         return true;
    }

有什么想法吗?有什么建议吗?

提前感谢所有人。

1 个答案:

答案 0 :(得分:0)

您可以使用php的数字格式,使用如下:number_format($ number,2,',','');

http://php.net/manual/en/function.number-format.php

了解详情