國際化-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/

    國外主題

    ArrowIT - 技術,數字轉換WordPress主題

    2019-12-28 7:02:51

    WordPress開發 - 怎么在評論區添加電話和微信等表單功能?

    2020-3-25 16:34:46

    ??
    Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
    無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
    0 條回復 A文章作者 M管理員
      暫無討論,說說你的看法吧
    ?
    個人中心
    購物車
    優惠劵
    今日簽到
    有新私信 私信列表
    搜索
    主站蜘蛛池模板: 亚洲国产精品一区二区第一页| 无码毛片一区二区三区视频免费播放| 国产SUV精品一区二区88L| 国产综合无码一区二区三区| 精品视频在线观看你懂的一区| 国产精品视频一区| 色窝窝无码一区二区三区成人网站| 亚洲一区二区三区在线视频| 无码人妻精品一区二区蜜桃百度| 人成精品视频三区二区一区| 亚洲乱码一区二区三区在线观看| 中文字幕无码一区二区免费| 中文字幕aⅴ人妻一区二区| 亚洲一区二区三区四区视频| 亚洲一区二区三区无码国产| 尤物精品视频一区二区三区| 国产精品视频免费一区二区| 精品人妻少妇一区二区三区| 精品乱子伦一区二区三区| 日韩精品一区二区三区大桥未久| 日本在线不卡一区| 免费看无码自慰一区二区| 亚洲国产成人久久综合一区77| 国产精品一区在线观看你懂的| 亚洲不卡av不卡一区二区| 久久久综合亚洲色一区二区三区| 一区二区三区免费视频观看| 久久精品一区二区免费看| 亚洲午夜一区二区电影院| 精品性影院一区二区三区内射| 色狠狠色噜噜Av天堂一区| 狠狠色成人一区二区三区| 国产精品夜色一区二区三区| 亚洲午夜一区二区三区| 国产自产对白一区| 久久久精品日本一区二区三区| 亚洲天堂一区在线| 亚洲一区二区三区精品视频| 一区二区视频在线免费观看| 国产精品视频一区二区噜噜| 国产怡春院无码一区二区|