國際化-WordPress官方文檔

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

    什么是國際化?

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

    為什么國際化很重要?

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

    如何使您的主題國際化?

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

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

    1個(gè)<h1>Settings Page</h1>

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

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

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

    文字域

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

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

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

    文本域在三個(gè)不同的地方使用:

    1. style.css主題標(biāo)題中
    2. 作為本地化功能的一個(gè)論點(diǎn)
    3. 使用load_theme_textdomain()或??加載翻譯時(shí)作為參數(shù)load_child_theme_textdomain()

    style.css主題標(biāo)頭#style.css主題標(biāo)頭

    文本域被添加到style.css標(biāo)題,以便即使未啟用主題也可以翻譯主題描述之類的主題元數(shù)據(jù)。文本域應(yīng)與加載文本域時(shí)使用的域相同

    例:

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

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

    例:

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

    將文本域添加到字符串

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

    范例1

    1個(gè)__( 'Post' )

    應(yīng)該成為

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

    范例2

    1個(gè)_e( 'Post' )

    應(yīng)該成為

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

    例子3

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

    應(yīng)該成為

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

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

    1個(gè)__( '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會(huì)自動(dòng)檢查語言目錄中wp-content?是否有來自??translate.wordpress.org的翻譯。這意味著不再需要通過translate.wordpress.org翻譯的插件load_plugin_textdomain()
    如果您不想向插件添加load_plugin_textdomain()調(diào)用,則應(yīng)將Requires at least:readme.txt中的字段設(shè)置為4.6。

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

    小心

    • {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個(gè)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' );

    理想情況下,此功能應(yīng)在主題的范圍內(nèi)運(yùn)行function.php

    語言包

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

    來源于:

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

    給TA贊賞
    共{{data.count}}人
    人已贊賞
    ??
    Npcink上的部份代碼及教程來源于互聯(lián)網(wǎng),僅供網(wǎng)友學(xué)習(xí)交流,若您喜歡本文可附上原文鏈接隨意轉(zhuǎn)載。
    無意侵害您的權(quán)益,請發(fā)送郵件至 1355471563#qq.com 或點(diǎn)擊右側(cè) 私信:Muze 反饋,我們將盡快處理。
    ?
    購物車
    優(yōu)惠劵
    搜索
    主站蜘蛛池模板: 精品性影院一区二区三区内射| 亚洲一区日韩高清中文字幕亚洲 | 亚洲第一区精品观看| 国产一区二区精品久久凹凸| 亚洲一区二区三区亚瑟| 久久久久人妻精品一区三寸蜜桃| 久久综合一区二区无码| 国产精品免费大片一区二区| 精品乱人伦一区二区三区| 久久精品国产亚洲一区二区| 麻豆国产一区二区在线观看 | 久久蜜桃精品一区二区三区| 日韩精品一区二区三区国语自制 | 毛片一区二区三区无码| 国产精品伦子一区二区三区| 亚洲av高清在线观看一区二区 | 在线观看国产一区二三区| 国产视频一区在线播放| 久久精品国产亚洲一区二区三区 | 韩国女主播一区二区| 亚洲男人的天堂一区二区| 亚洲乱色熟女一区二区三区丝袜| 亚洲天堂一区二区三区| 国模无码一区二区三区 | 久久国产免费一区| 中文字幕av日韩精品一区二区 | 精品无码一区二区三区亚洲桃色| 亚洲精品日韩一区二区小说| 日韩一区二区三区视频| 久久久久人妻一区精品色| 国产精品一区二区资源| 精品一区二区久久久久久久网站| 九九无码人妻一区二区三区| 伊人久久大香线蕉av一区| 毛片一区二区三区无码| 一区二区三区观看免费中文视频在线播放| 亚洲高清一区二区三区电影| 中文字幕一区二区三区有限公司| 欧美激情一区二区三区成人| 亚洲AV福利天堂一区二区三| 精品一区二区三区影院在线午夜|