首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

ThinkPHP L 方法詳解:多語言變量設置與獲取

     編輯:PHP 相關知識

ThinkPHP L 方法 用於多語言環境下的語言變量動態設置與獲取,支援單個/批量定義、模板輸出,是國際化(i18n)開發的基礎工具。

調用格式

L('語言變量'[, '語言值'])

設置語言變量

單個設置

L('LANG_VAR', '語言定義');
// 不區分大小寫,等效
L('lang_var', '語言定義');

批量設置

$lang = [
    'lang_var1' => '語言定義1',
    'lang_var2' => '語言定義2',
    'lang_var3' => '語言定義3',
];
L($lang);

獲取語言變量

單個獲取

$value = L('LANG_VAR');
$value = L('lang_var'); // 大小寫不敏感

獲取全部

$all = L(); // 返回所有語言變量陣列(含語言包定義)

模板中輸出

{$Think.lang.lang_var}

語言包結構

Lang/
  zh-cn/
    common.php   # 返回 ['lang_var' => '定義']
    user.php
  en-us/
    common.php
    user.php

多語言切換流程

  1. 配置 'LANG_SWITCH_ON' => true
  2. 設置 'DEFAULT_LANG' => 'zh-cn'
  3. 語言包放入 Lang/{lang}/ 目錄
  4. 控制器/模板使用 L() 獲取
  5. 用戶切換語言 → Session 記錄 → 自動載入對應語言包

最佳實踐

  • 語言變量命名全大寫下劃線:USER_LOGIN_SUCCESS
  • 按模組劃分語言文件:user.php、order.php
  • 模板中優先使用 {$Think.lang.xxx},避免 PHP 標簽
  • 動態設置僅用於運行時覆蓋/擴展,基礎定義放語言包
  • JS 多語言:後端輸出 window.LANG =

常見問題

現象原因解決
語言不生效未開啟 LANG_SWITCH_ON配置開啟
變量未定義語言包未返回陣列確保 return []
切換無效Session 未保存語言檢查 Cookie/Session 配置
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved