vades / php-language
PHP 语言类 - 该类检测语言(从 URL、会话、cookie 和浏览器),然后设置当前语言
dev-master
2019-05-02 10:28 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-24 07:24:25 UTC
README
该类检测语言(从 URL、会话、cookie 和浏览器),然后设置当前语言
用法
- 下载 --
Git: https://github.com/vades/php-language.git
Composer: {"require": {"vades/php-language": "dev-master"} }
- 将类和配置文件包含到您的代码中 --
require_once '../src/Vades/Language/LanguageSwitch.php';
$cfg = require_once '../src/Vades/Language/config.php';';
use \Vades\Language\LanguageSwitch;
或者使用 Composer 自动加载
require 'vendor/autoload.php';
- 在配置文件 config.php 中设置值 --
默认语言: 'default' => 'en'
支持的语言: 'supported' => array('en','de','fr','es','it')
-
初始化 LanguageSwitch -- <?php
$switch = new LanguageSwitch(array( 'default' => $cfg['default'], 'supported' => $cfg['supported'], 'url' => $lang_from_url , 'session' => $lang_from_session, 'cookie' => $lang_from_ucookie, 'browser' => substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) )); ?> -
使用方法链 --
<?php $lang = $switch->fromUrl() ->fromSession() ->fromCookie() ->fromBrowser() ->get(); ?> -
代码示例 --
<?php require_once '../src/Vades/Language/LanguageSwitch.php'; use \Vades\Language\LanguageSwitch; $cfg = require_once '../src/Vades/Language/config.php'; // Start session if (strlen(session_id()) < 1) { session_start(); $_SESSION['lang'] = 'de'; } // Set cookie setcookie('lang', 'fr', time()+60); // Initialize the language switch $switch = new LanguageSwitch(array( 'default' => $cfg['default'], 'supported' => $cfg['supported'], 'url' => (isset($_GET['lang']) ? $_GET['lang'] : null) , 'session' => (isset($_SESSION['lang']) ? $_SESSION['lang'] : null), 'cookie' => (isset($_COOKIE['lang']) ? $_COOKIE['lang'] : null), // Extract the two digit language code from the http headers 'browser' => substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2) )); $lang = $switch->fromUrl() ->fromSession() ->fromCookie() ->fromBrowser() ->get(); var_dump($switch,$lang); ?>