Phalcon国际化

本文概述

  • 当地
  • 格式化消息
Phalcon用C编写, 是PHP的扩展。有一个PECL(PHP扩展社区库)扩展可为称为intl的PHP应用程序提供国际化功能。在PHP 5.4 / 5.5中, 此扩展与PHP捆绑在一起。它的文档可以在官方PHP手册的页面中找到。
当地 有几种使用intl找出最佳可用语言环境的方法。其中之一是检查HTTP Accept-Language标头:
< ?php$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']); // Locale could be something like 'en_GB' or 'en'echo $locale;

标识符示例包括:
    ? en-US(英语, 美国)。 ? fr-CA, fr-FR(分别适用于加拿大和法国)
格式化消息
< ?php// Prints ? 4 560$formatter = new MessageFormatter('fr_FR', '? {0, number, integer}'); echo $formatter-> format([4560]); // Prints USD$ 4, 560.5$formatter = new MessageFormatter('en_US', 'USD$ {0, number}'); echo $formatter-> format([4560.50]); // Prints ARS$ 1.250, 25$formatter = new MessageFormatter('es_AR', 'ARS$ {0, number}'); echo $formatter-> format([1250.25]);

例子
< ?phpuse Phalcon\Mvc\Controller; class UsersController extends Controller{public function registerAction(){$user = new Users(); $formatter = new MessageFormatter('fr_FR', '$user'); $formatter = new MessageFormatter('en_US', '$user'); $formatter = new MessageFormatter('hi_HI', '$user'); $login= $this-> request-> getPost('login'); $password = $this-> request-> getPost('password'); $formatter = new MessageFormatter('fr_FR', '$ password?); $formatter = new MessageFormatter('en_US', '$ password '); $formatter = new MessageFormatter('hi_HI', '$ password '); if ($user === false) { $this-> flash-> error("Incorrect credentials"); return $this-> dispatcher-> forward(array( 'controller' => 'users', 'action' => 'index' )); } $this-> session-> set('auth', $user-> id); $this-> flash-> success("You've been successfully logged in"); $user-> login = $login; // Store the password hashed$user-> password = $this-> security-> hash($password); $user-> save(); }}

【Phalcon国际化】输出
Phalcon国际化

文章图片
Phalcon国际化

文章图片
Phalcon国际化

文章图片

    推荐阅读