ホームページ 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

复制代码 代码如下:

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Win11 で中国語言語パックをインストールできない場合の解決策 Win11 で中国語言語パックをインストールできない場合の解決策 Mar 09, 2024 am 09:15 AM

Win11 は Microsoft が発売した最新のオペレーティング システムで、以前のバージョンと比較してインターフェイスのデザインとユーザー エクスペリエンスが大幅に向上しています。ただし、一部のユーザーは、Win11 をインストールした後、中国語の言語パックをインストールできないという問題が発生し、システムで中国語を使用する際に問題が発生したと報告しました。この記事では、ユーザーが中国語をスムーズに使用できるように、Win11 で中国語言語パックをインストールできない問題の解決策をいくつか紹介します。まず、中国語言語パックをインストールできない理由を理解する必要があります。一般的に言えば、Win11

Win11 で中国語言語パックをインストールできないことを解決する戦略 Win11 で中国語言語パックをインストールできないことを解決する戦略 Mar 08, 2024 am 11:51 AM

Win11 で中国語言語パックをインストールできない場合の戦略 Windows 11 のリリースにより、多くのユーザーがこの新しいオペレーティング システムにアップグレードするのが待ちきれません。ただし、一部のユーザーは中国語言語パックをインストールしようとすると問題が発生し、中国語インターフェイスを適切に使用できなくなります。この記事では、Win11で中国語言語パックをインストールできない問題について説明し、いくつかの対策を提案します。まず、Win11 に中国語言語パックをインストールするときに問題が発生する理由を調べてみましょう。これはシステムのせいである可能性があります

thinkphpプロジェクトの実行方法 thinkphpプロジェクトの実行方法 Apr 09, 2024 pm 05:33 PM

ThinkPHP プロジェクトを実行するには、Composer をインストールし、Composer を使用してプロジェクトを作成し、プロジェクト ディレクトリに入り、php bin/consoleserve を実行し、http://localhost:8000 にアクセスしてようこそページを表示する必要があります。

thinkphp にはいくつかのバージョンがあります thinkphp にはいくつかのバージョンがあります Apr 09, 2024 pm 06:09 PM

ThinkPHP には、さまざまな PHP バージョン向けに設計された複数のバージョンがあります。メジャー バージョンには 3.2、5.0、5.1、および 6.0 が含まれますが、マイナー バージョンはバグを修正し、新機能を提供するために使用されます。最新の安定バージョンは ThinkPHP 6.0.16 です。バージョンを選択するときは、PHP バージョン、機能要件、コミュニティ サポートを考慮してください。最高のパフォーマンスとサポートを得るには、最新の安定バージョンを使用することをお勧めします。

thinkphpの実行方法 thinkphpの実行方法 Apr 09, 2024 pm 05:39 PM

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

win7 言語パックはどこに保存されていますか? win7 言語パックはどこに保存されていますか? Jan 16, 2024 pm 03:06 PM

コンピューターに win7 オペレーティング システムがインストールされており、言語パックを変更するか、それに関連する変更を加えたい場合は、まずコンピューターの言語バーのフォルダーの場所を見つける必要があります。しかし、多くの人は言語バーフォルダーがどこにあるのかまだ知りません。編集者が知っている限り、システムのフォント フォルダーに関連する変更を加えることができます。詳細な手順について、エディターがどのように実行したかを見てみましょう ~ win7 言語パックはどのフォルダーにありますか? 1. スタート メニューを開き、コントロール パネルを見つけ、クリックしてに入ります。 2. ジャンプしたコントロール パネル インターフェイスで、時計、言語、地域のオプションを見つけてクリックして入力します。 3. ジャンプインターフェイスで、「表示言語オプションのインストール」または「アンインストール」をクリックします。 4. ジャンプ インターフェイスで、[インストール] をクリックして言語の選択を表示します。

win10システムにインストールされている言語パックを削除する方法 win10システムにインストールされている言語パックを削除する方法 Jan 06, 2024 pm 10:37 PM

win10 オペレーティング システムを使用する場合、場合によっては、システム内の言語パックを削除する必要がある場合があります。このとき、最初に言語オプションを見つけてから、言語パックの追加を選択し、このプロセス中に、削除する言語パックのチェックを外して削除します。 win10 システムにインストールされている言語パックを削除する方法: 1. win+i を使用して設定を開き、時間と言語のオプションを見つけます。 2. 時間と言語のオプションで「言語」オプションを選択します。 3. 「言語の追加」を選択し、次のステップに進みます 4. 言語を追加する場合は、言語パックのチェックを外します 追加が完了すると、言語パックと音声パックを別々にダウンロードできます。

laravelとthinkphpではどちらが優れていますか? laravelとthinkphpではどちらが優れていますか? Apr 09, 2024 pm 03:18 PM

Laravel フレームワークと ThinkPHP フレームワークのパフォーマンスの比較: ThinkPHP は、最適化とキャッシュに重点を置いて、一般に Laravel よりもパフォーマンスが優れています。 Laravel は優れたパフォーマンスを発揮しますが、複雑なアプリケーションの場合は、ThinkPHP の方が適している可能性があります。

See all articles