Heim php教程 php手册 thinkphp实现多语言功能(语言包)

thinkphp实现多语言功能(语言包)

Jun 06, 2016 pm 08:24 PM
thinkphp 多语言 语言包

这篇文章主要介绍了thinkphp实现多语言功能(语言包),需要的朋友可以参考下

1.在Home(你取的项目名)的config.php中添加如下配置

复制代码 代码如下:


return array(
    //'配置项'=>'配置值'
        'LANG_SWITCH_ON'     =>     true,    //开启语言包功能       
        'LANG_AUTO_DETECT'     =>     true, // 自动侦测语言
        'DEFAULT_LANG'         =>     'zh-cn', // 默认语言       
        'LANG_LIST'            =>    'en-us,zh-cn,zh-tw', //必须写可允许的语言列表
        'VAR_LANGUAGE'     => 'l', // 默认语言切换变量
);
?>

2.Home的conf文件夹里添加一个php文件(tag.php),添加如下代码:

复制代码 代码如下:


return array(
    // 添加下面一行定义即可
    'app_begin' => array('CheckLang')
);

3.把Extend/Behavior/CheckLangBehavior.class.php 文件复制到Home/lib/Behavior/中(完整版的thinkphp包才有,没有的话请自行创建)

CheckLangBehavior.class.php代码:

复制代码 代码如下:


defined('THINK_PATH') or exit();
/**
 * 语言检测 并自动加载语言包
 * @category   Extend
 * @package  Extend
 * @subpackage  Behavior
 */
class CheckLangBehavior extends Behavior {
    // 行为参数定义(默认值) 可在项目配置中覆盖
    protected $options   =  array(
            'LANG_SWITCH_ON'        => false,   // 默认关闭语言包功能
            'LANG_AUTO_DETECT'      => true,   // 自动侦测语言 开启多语言功能后有效
            'LANG_LIST'             => 'zh-cn', // 允许切换的语言列表 用逗号分隔
            'VAR_LANGUAGE'          => 'l',        // 默认语言切换变量
        );

    // 行为扩展的执行入口必须是run
    public function run(&$params){
        // 开启静态缓存
        $this->checkLanguage();
    }

    /**
     * 语言检查
     * 检查浏览器支持语言,,并自动加载语言包
     * @access private
     * @return void
     */
    private function checkLanguage() {
        // 不开启语言包功能,仅仅加载框架语言文件直接返回
        if (!C('LANG_SWITCH_ON')){
            return;
        }
        $langSet = C('DEFAULT_LANG');
        // 启用了语言包功能
        // 根据是否启用自动侦测设置获取语言选择
        if (C('LANG_AUTO_DETECT')){
            if(isset($_GET[C('VAR_LANGUAGE')])){
                $langSet = $_GET[C('VAR_LANGUAGE')];// url中设置了语言变量
                cookie('think_language',$langSet,3600);
            }elseif(cookie('think_language')){// 获取上次用户的选择
                $langSet = cookie('think_language');
            }elseif(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){// 自动侦测浏览器语言
                preg_match('/^([a-z\d\-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);
                $langSet = $matches[1];
                cookie('think_language',$langSet,3600);
            }
            if(false === stripos(C('LANG_LIST'),$langSet)) { // 非法语言参数
                $langSet = C('DEFAULT_LANG');
            }
        }
        // 定义当前语言
        define('LANG_SET',strtolower($langSet));

        $group = '';
        $path    =   (defined('GROUP_NAME') && C('APP_GROUP_MODE')==1) ? BASE_LIB_PATH.'Lang/'.LANG_SET.'/' : LANG_PATH.LANG_SET.'/';
        // 读取项目公共语言包
        if(is_file(LANG_PATH.LANG_SET.'/common.php'))
            L(include LANG_PATH.LANG_SET.'/common.php');    
        // 读取分组公共语言包
        if(defined('GROUP_NAME')){
            if(C('APP_GROUP_MODE')==1){ // 独立分组
                $file = $path.'common.php';
            }else{ // 普通分组
                $file = $path.GROUP_NAME.'.php';
                $group = GROUP_NAME.C('TMPL_FILE_DEPR');
            }
            if(is_file($file))
                L(include $file);
        }
        // 读取当前模块语言包
        if (is_file($path.$group.strtolower(MODULE_NAME).'.php'))
            L(include $path.$group.strtolower(MODULE_NAME).'.php');
    }
}

4.在Home里的lang文件夹下创建3个语言文件夹。分别是zh-cn  en-us  zh-tw,

在这三个文件夹里各创建一个common.php文件,如图:

在common.php 里对应写上

复制代码 代码如下:


return array(
        'welcome'=>'Welcome to use thinkphp',
);
?>


复制代码 代码如下:


return array(
    'welcome'=>'欢迎使用ThinkPHP',
);
?>


复制代码 代码如下:


return array(
    'welcome'=>'歡迎使用ThinkPHP',
);
?>

5.在tpl/Index/文件夹下创建视图 index.html

复制代码 代码如下:

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Lösung für Win11: Chinesisches Sprachpaket konnte nicht installiert werden Lösung für Win11: Chinesisches Sprachpaket konnte nicht installiert werden Mar 09, 2024 am 09:15 AM

Win11 ist das neueste von Microsoft eingeführte Betriebssystem. Im Vergleich zu früheren Versionen hat Win11 das Schnittstellendesign und die Benutzererfahrung erheblich verbessert. Einige Benutzer berichteten jedoch, dass sie nach der Installation von Win11 auf das Problem gestoßen waren, dass sie das chinesische Sprachpaket nicht installieren konnten, was zu Problemen bei der Verwendung von Chinesisch im System führte. Dieser Artikel bietet einige Lösungen für das Problem, dass Win11 das chinesische Sprachpaket nicht installieren kann, um Benutzern die reibungslose Verwendung von Chinesisch zu ermöglichen. Zuerst müssen wir verstehen, warum das chinesische Sprachpaket nicht installiert werden kann. Im Allgemeinen Win11

Strategien zur Behebung der Unfähigkeit von Win11, das chinesische Sprachpaket zu installieren Strategien zur Behebung der Unfähigkeit von Win11, das chinesische Sprachpaket zu installieren Mar 08, 2024 am 11:51 AM

Strategien zum Umgang mit der Unfähigkeit von Win11, das chinesische Sprachpaket zu installieren. Mit der Einführung von Windows 11 können viele Benutzer es kaum erwarten, auf dieses neue Betriebssystem zu aktualisieren. Allerdings sind einige Benutzer beim Versuch, das chinesische Sprachpaket zu installieren, auf Schwierigkeiten gestoßen, was dazu führte, dass sie die chinesische Benutzeroberfläche nicht richtig nutzen konnten. In diesem Artikel werden wir das Problem diskutieren, dass Win11 das chinesische Sprachpaket nicht installieren kann, und einige Gegenmaßnahmen vorschlagen. Lassen Sie uns zunächst untersuchen, warum es Probleme bei der Installation chinesischer Sprachpakete unter Win11 gibt. Dies kann systembedingt sein

So führen Sie das Thinkphp-Projekt aus So führen Sie das Thinkphp-Projekt aus Apr 09, 2024 pm 05:33 PM

Um das ThinkPHP-Projekt auszuführen, müssen Sie: Composer installieren, das Projektverzeichnis aufrufen und http://localhost:8000 aufrufen.

Es gibt mehrere Versionen von thinkphp Es gibt mehrere Versionen von thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP verfügt über mehrere Versionen, die für verschiedene PHP-Versionen entwickelt wurden. Zu den Hauptversionen gehören 3.2, 5.0, 5.1 und 6.0, während Nebenversionen dazu dienen, Fehler zu beheben und neue Funktionen bereitzustellen. Die neueste stabile Version ist ThinkPHP 6.0.16. Berücksichtigen Sie bei der Auswahl einer Version die PHP-Version, die Funktionsanforderungen und den Community-Support. Für optimale Leistung und Support wird empfohlen, die neueste stabile Version zu verwenden.

So führen Sie thinkphp aus So führen Sie thinkphp aus Apr 09, 2024 pm 05:39 PM

Schritte zum lokalen Ausführen von ThinkPHP Framework: Laden Sie ThinkPHP Framework herunter und entpacken Sie es in ein lokales Verzeichnis. Erstellen Sie einen virtuellen Host (optional), der auf das ThinkPHP-Stammverzeichnis verweist. Konfigurieren Sie Datenbankverbindungsparameter. Starten Sie den Webserver. Initialisieren Sie die ThinkPHP-Anwendung. Greifen Sie auf die URL der ThinkPHP-Anwendung zu und führen Sie sie aus.

Wo ist das Win7-Sprachpaket gespeichert? Wo ist das Win7-Sprachpaket gespeichert? Jan 16, 2024 pm 03:06 PM

Wenn auf unserem Computer das Betriebssystem Win7 installiert ist und wir unser Sprachpaket ändern oder entsprechende Änderungen daran vornehmen möchten, müssen wir zunächst den Speicherort des Ordners der Computer-Sprachleiste ermitteln. Aber viele Leute wissen immer noch nicht, wo sich der Sprachleistenordner befindet. Soweit dem Herausgeber bekannt ist, können wir im Schriftartenordner des Systems entsprechende Änderungen vornehmen. Schauen wir uns die detaillierten Schritte des Editors an: In welchem ​​Ordner befindet sich das Win7-Sprachpaket? 1. Öffnen Sie das Startmenü, suchen Sie die Systemsteuerung und klicken Sie zum Aufrufen. 2. Suchen Sie in der gesprungenen Systemsteuerungsoberfläche nach den Optionen für Uhr, Sprache und Region und klicken Sie zur Eingabe. 3. Klicken Sie in der Jump-Oberfläche auf „Anzeigesprachenoptionen installieren oder deinstallieren“. 4. Klicken Sie in der Jump-Oberfläche auf „Installieren“, um die Sprachauswahl anzuzeigen

So löschen Sie das installierte Sprachpaket im Win10-System So löschen Sie das installierte Sprachpaket im Win10-System Jan 06, 2024 pm 10:37 PM

Wenn wir das Betriebssystem Win10 verwenden, müssen wir in einigen Fällen möglicherweise das Sprachpaket im System löschen. Suchen Sie zu diesem Zeitpunkt einfach zuerst die Sprachoption und wählen Sie dann das Hinzufügen eines Sprachpakets aus. Deaktivieren Sie während dieses Vorgangs das zu löschende Sprachpaket und löschen Sie es dann. So löschen Sie das installierte Sprachpaket im Win10-System: 1. Öffnen Sie mit Win+i die Einstellungen und suchen Sie nach den Zeit- und Sprachoptionen. 2. Wählen Sie in den Zeit- und Sprachoptionen die Option „Sprache“. 3. Wählen Sie „Sprache hinzufügen“ und fahren Sie mit dem nächsten Schritt fort. 4. Deaktivieren Sie das Sprachpaket, wenn Sie eine Sprache hinzufügen. Nachdem das Hinzufügen abgeschlossen ist, können Sie das Sprachpaket und das Sprachpaket separat herunterladen.

Was ist besser, Laravel oder Thinkphp? Was ist besser, Laravel oder Thinkphp? Apr 09, 2024 pm 03:18 PM

Leistungsvergleich von Laravel- und ThinkPHP-Frameworks: ThinkPHP schneidet im Allgemeinen besser ab als Laravel und konzentriert sich auf Optimierung und Caching. Laravel schneidet gut ab, aber für komplexe Anwendungen ist ThinkPHP möglicherweise besser geeignet.

See all articles