日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WordPress 多语言支持(本地化)

發布時間:2023/12/9 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WordPress 多语言支持(本地化) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://www.cnblogs.com/ryanzheng/p/8309261.html

WordPress 多語言支持(本地化)

本博客將介紹WordPress的多語言制作

首先需要在wp-content目錄下創建一個languages文件夾,用于存放語言包文件。

然后在模板目錄下的functions.php,然后在代碼中添加函數加載該文件夾,示例代碼如下:

add_action('after_setup_theme', 'alanhou_setup'); function alanhou_setup(){load_theme_textdomain('alanhou', get_template_directory.'/languages'); }

上面代碼表示在主題加載時載入語言文件也就是/wp-content/languages/文件夾下的.mo文件。

load_theme_textdomain(主題本地化)

加載翻譯后的主題字符串。

如果本地主題根目錄下有一個.mo文件,該文件會被包括在$domain的被翻譯字符串中。

.mo文件必須根據本地設置命名。

1

<?php load_theme_textdomain( $domain, $path ) ?><br><br>

參數

$domain

(字符串)(必需)用以檢索被翻譯字符串的唯一標識符

?

默認值: None

$path

(未知)(可選)語言包 .mo 文件所在的目錄(沒有結尾的斜線)

?

默認值:false

返回的值

(布爾)

如果 textdomain 可以正常加載,返回 TRUE ;反之返回 FALSE

  關于多語言設置的兩種用法,一種是直接設置,另一種是通過點擊鏈接方式設置

?方式一、

1

2

3

4

add_action('after_setup_theme',?'my_theme_setup');

function my_theme_setup(){

????load_theme_textdomain('my_theme', get_template_directory() .?'/languages');

}

  方式二、如果你希望通過 URL 中的參數來調用不同的語言,比如 www.example.com/?l=zh_CN 就調用 zh_CN.mo ,那你可以參考下面的例子:

1

2

3

4

5

6

7

8

9

10

11

12

13

// 更改本地語言

????// 必須在 load_theme_textdomain() 的前面調用

????add_filter(?'locale',?'my_theme_localized'?);

????function my_theme_localized($locale) {

????????if?(isset($_GET['l'])) {

????????????return?$_GET['l'];

????????}

????????return?$locale;

????}

// 設置主題語言路徑

????// 語言包應該訪問 my_theme/languages/ 目錄

????// Wordpress 自身語言包放在 wp-content/languages/ 目錄

????load_theme_textdomain(?'my_theme', TEMPLATEPATH .?'/languages'?);

  

WordPress是怎樣知道該讀取哪個語言文件呢?其實就是在它的wp-config.php文件中,

添加你的語言和語言環境代碼到define。如果你想把你的主題翻譯成德語,你可以這樣做:

?

1

define('WPLANG',?'de_DE');

?

?

怎么運行的

當你通常制作一個主題的時候,你只需要簡單地對任何主題文本進行編碼,例如404.php文件中的404錯誤信息,或者諸如“comments:”或者“author:”之類的標簽。如果用戶的WordPress是德語,這些文本片段仍然會以英文顯示。解決這個問題的方法是使用四個WordPress函數之一來返回或回顯這些語句,這四個函數被設計為引用正確文本的語言文件。一旦將這些文本包裝在這些函數中,就可以創建一個文件,其中包含每次加載主題時引用的所有翻譯。有三個翻譯文件,我們使用:

  • .pot?(便攜式對象模板)?- 這是模板文件,它包含對主題中需要翻譯的每個文本字符串的引用。這個文件不包含任何翻譯。這是一個明文文件。
  • .po?(便攜式對象)?- 由.pot文件構成,.po包含所有的字符串引用以及它們對一種特定語言的翻譯。這也是一個可以編輯的純文本文件。
  • .mo?(Machine Object)?- .po文件的二進制版本。通過使用機器代碼,文件的使用速度可以比其明文選擇更快。

POEdit是一個非常棒的程序,可以讓你創建你的.pot文件,還提供了一個簡單易用的圖形用戶界面,可以用來制作你的.po文件,更重要的是.mo文件。

首先,您需要下載POEdit,您可以在這里找到Windows,Mac和Linux:http?:?
//www.poedit.net/download.php

一旦POEdit安裝完畢,你可以創建你的.pot文件。要做到這一點,去文件>新目錄。您將看到一個對話框,您需要輸入一些基本信息。

做完上面的步驟后不出意外你會在你的wordpress儀表盤后臺的Setting里面選擇網站語言里看到剛剛添加的語言,選上即可。

?

最后就是在你的代碼里面用函數_e()包裹待翻譯詞條實現多語言了,

1

<?php _e(?'No posts found'?,?'inthy.com'?) ; ?>

  參考網站:https://jinwensay.wordpress.com/2009/12/02/make-your-wordpress-theme-translatable/

總結

以上是生活随笔為你收集整理的WordPress 多语言支持(本地化)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。