國際化-WordPress官方文檔

    國際化是開發主題的過程,因此可以輕松地將其翻譯成其他語言。

    什么是國際化?

    國際化是開發主題的過程,因此可以輕松將其翻譯成其他語言。國際化通常縮寫為i18n(因為字母i和n之間有18個字母)。

    為什么國際化很重要?

    在英語不是主要語言的國家/地區中,WordPress遍及世界各地。WordPress插件中的字符串需要以特殊方式進行編碼,以便可以輕松地翻譯成其他語言。作為開發人員,您可能無法為所有用戶提供本地化。但是,翻譯人員可以成功定位主題,而無需修改源代碼本身。

    如何使您的主題國際化?

    為了使主題中的文本易于翻譯,不應在主題中對文本進行硬編碼,而應將其作為參數通過WordPress中的一種本地化功能傳遞。

    除非翻譯者修改了效率不高的源代碼,否則以下示例將無法翻譯。

    1個<h1>Settings Page</h1>

    通過將字符串傳遞給本地化函數,可以很容易地對其進行解析以進行翻譯。

    1個<h1><?php _e( 'Settings Page' ); ?></h1>

    WordPress使用??gettext庫能夠在PHP中添加翻譯。在WordPress中,您應該使用WordPress本地化功能,而不是與本機PHP gettext兼容的翻譯功能。

    文字域

    文本域是國際化功能中使用的第二個參數。文本域是唯一的標識符,允許WordPress區分所有已加載的翻譯。僅需要為主題和插件定義文本域。

    WordPress.org文本域上托管的主題必須與主題URL(wordpress.org/themes/<slug>)的匹配項匹配。這是必需的,以便來自translate.wordpress.org的翻譯??正常工作。

    文本域名必須使用短劃線而不是下劃線,并且必須小寫。例如,如果主題名稱My Theme?在中定義,style.css?或者包含在名為my-themetext domain?的文件夾中,則該名稱為my-theme

    文本域在三個不同的地方使用:

    1. style.css主題標題中
    2. 作為本地化功能的一個論點
    3. 使用load_theme_textdomain()或??加載翻譯時作為參數load_child_theme_textdomain()

    style.css主題標頭#style.css主題標頭

    文本域被添加到style.css標題,以便即使未啟用主題也可以翻譯主題描述之類的主題元數據。文本域應與加載文本域時使用的域相同

    例:

    1個2345/** Theme Name: My Theme* Author: Theme Author* Text Domain: my-theme*/
    域路徑

    將翻譯保存在以外的目錄時,需要使用域路徑languages?。這樣,當主題未激活時,WordPress便知道在哪里可以找到譯文。例如,如果.mo文件位于languages文件夾中,則“域路徑”將/languages且必須以第一個斜杠寫入。默認為languages主題中的文件夾。

    例:

    1個23456/** Theme Name: My Theme* Author: Theme Author* Text Domain: my-theme* Domain Path: /languages*/

    將文本域添加到字符串

    應該將文本域作為自變量添加到所有本地化功能中,以使翻譯正常工作。

    范例1

    1個__( 'Post' )

    應該成為

    1個__( 'Post', 'my-theme' )

    范例2

    1個_e( 'Post' )

    應該成為

    1個_e( 'Post', 'my-theme' )

    例子3

    1個_n( 'One post', '%s posts', $count )

    應該成為

    1個_n( 'One post', '%s posts', $count, 'my-theme' )

    警告:文本域應作為字符串而不是變量傳遞給本地化功能。它允許使用解析工具來區分文本域。不做什么的例子:

    1個__( 'Translate me.' , $text_domain );

    加載翻譯

    WordPress中的翻譯已保存在其中,.po并且.mo需要加載文件。可以使用load_theme_textdomain()或加載它們load_child_theme_textdomain()。這{locale}.mo將從主題的基本目錄或{text-domain}-{locale}.mo中的WordPress主題語言文件夾中加載/wp-content/languages/themes/

    注意:從4.6版開始,WordPress會自動檢查語言目錄中wp-content?是否有來自??translate.wordpress.org的翻譯。這意味著不再需要通過translate.wordpress.org翻譯的插件load_plugin_textdomain()
    如果您不想向插件添加load_plugin_textdomain()調用,則應將Requires at least:readme.txt中的字段設置為4.6。

    要了解有關不同語言和國家/地區代碼的更多信息,請參閱語言列表

    小心

    • {locale}.mo如果將翻譯添加到主題文件夾,則將您的MO文件命名為(例如de_DE.po和de_DE.mo)。
    • {text-domain}-{locale}.mo如果要將翻譯添加到WordPress主題語言文件夾中,則將MO文件命名為(例如my-theme-de_DE.po和my-theme-de_DE.mo)。

    例:

    1個234function my_theme_load_theme_textdomain() {load_theme_textdomain( 'my-theme', get_template_directory() . '/languages' );}add_action( 'after_setup_theme', 'my_theme_load_theme_textdomain' );

    理想情況下,此功能應在主題的范圍內運行function.php

    語言包

    如果您對語言包以及對translation.wordpress.org的導入的工作方式感興趣,請閱讀有關TranslationsMeta Handbook頁面

    來源于:

    https://developer.wordpress.org/themes/functionality/internationalization/

    隨記

    2017,網頁設計期末作業

    2018-11-29 14:41:32

    Designer

    html顏色表及代碼|網頁設計

    2019-4-18 17:12:28

    ??
    Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
    無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
    0 條回復 A文章作者 M管理員
      暫無討論,說說你的看法吧
    ?
    個人中心
    購物車
    優惠劵
    今日簽到
    有新私信 私信列表
    搜索
    主站蜘蛛池模板: 亚洲av色香蕉一区二区三区蜜桃| 相泽南亚洲一区二区在线播放| 久久se精品动漫一区二区三区| 久久亚洲日韩精品一区二区三区| 国偷自产视频一区二区久| 无码日韩精品一区二区免费暖暖 | 日韩亚洲AV无码一区二区不卡| 制服美女视频一区| 精品国产福利一区二区| 国产日韩一区二区三免费高清| 痴汉中文字幕视频一区| 亚洲中文字幕在线无码一区二区| 精品少妇一区二区三区视频| 一区二区视频免费观看| 国产一区二区三区福利| 国产精品成人一区无码| 亚洲AV无码一区二区三区鸳鸯影院| 学生妹亚洲一区二区| 亚洲综合激情五月色一区| 人妻少妇精品视频三区二区一区 | 相泽南亚洲一区二区在线播放| 亚洲AV日韩综合一区| 久久久国产精品无码一区二区三区| 无码国产精品一区二区免费| 精品一区精品二区制服| 国产乱码一区二区三区四| 日韩精品无码中文字幕一区二区 | 99精品国产高清一区二区麻豆| 国产精品高清一区二区三区| 久久精品国产亚洲一区二区| 亚洲国产精品一区二区久久hs| 亚洲国产精品一区| 精品国产乱子伦一区二区三区| 精品国产乱子伦一区二区三区| 国语对白一区二区三区| 无码毛片一区二区三区中文字幕| 久久国产午夜精品一区二区三区| 成人精品视频一区二区三区不卡| 日本在线不卡一区| 亚洲中文字幕乱码一区| 精品人妻一区二区三区四区 |