WordPress主题和插件翻译教程

Published
2023-04-21
浏览次数 :  263

首先主题和插件里面要使用翻译函数,如:

_e( ‘Post’, ‘my-theme’ ),

__( ‘Post’, ‘my-theme’ ),

_x(‘product’,’posttypename’,’haqiye’),

_n( ‘%s post’, ‘%s posts’, $count ) 等函数。

官方链接: https://developer.wordpress.org/themes/functionality/internationalization/

然后确保自己在style.css里面设置了textdomain, 即:

比如这样:

/*!
Theme Name: newton
Theme URI: https://newton.com/
Author: Newton
Author URI: https://Newtown.com/
Description: Description
Version: 1.0.0
Tested up to: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: newton */

然后我们要在函数里面加载进来这个域名, 通过after_set_up的钩子,比如这样: (和其他函数执行在同一个钩子上), 通过函数: load_theme_textdomain( ‘haqiye’, get_template_directory() . ‘/languages’ );

确保这个函数在functions.php文件里执行。

function haqiye_setup() {
	/*
		* Make theme available for translation.
		* Translations can be filed in the /languages/ directory.
		* If you're building a theme based on haqiye, use a find and replace
		* to change 'haqiye' to the name of your theme in all the template files.
		*/
	load_theme_textdomain( 'haqiye', get_template_directory() . '/languages' );

	// Add default posts and comments RSS feed links to head.
	add_theme_support( 'automatic-feed-links' );

	/*
		* Let WordPress manage the document title.
		* By adding theme support, we declare that this theme does not use a
		* hard-coded <title> tag in the document head, and expect WordPress to
		* provide it for us.
		*/
	add_theme_support( 'title-tag' );

	/*
		* Enable support for Post Thumbnails on posts and pages.
		*
		* @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
		*/
	add_theme_support( 'post-thumbnails' );

	// This theme uses wp_nav_menu() in one location.
	register_nav_menus(
		array(
			'header-menu' => esc_html__( 'Header Menu', 'haqiye' ),
			'friend-link'  => esc_html__('Friend Links','haqiye'), 
			'footer-menu'  => esc_html('Footer Menu','haqiye'),
			'mobile-footer'  => esc_html__('Mobile footer menu','haqiye'),
		)
	);

	/*
		* Switch default core markup for search form, comment form, and comments
		* to output valid HTML5.
		*/
	add_theme_support(
		'html5',
		array(
			'search-form',
			'comment-form',
			'comment-list',
			'gallery',
			'caption',
			'style',
			'script',
		)
	);

	// Set up the WordPress core custom background feature.
	add_theme_support(
		'custom-background',
		apply_filters(
			'haqiye_custom_background_args',
			array(
				'default-color' => 'ffffff',
				'default-image' => '',
			)
		)
	);

	// Add theme support for selective refresh for widgets.
	add_theme_support( 'customize-selective-refresh-widgets' );

	/**
	 * Add support for core custom logo.
	 *
	 * @link https://codex.wordpress.org/Theme_Logo
	 */
	add_theme_support(
		'custom-logo',
		array(
			'height'      => 250,
			'width'       => 250,
			'flex-width'  => true,
			'flex-height' => true,
		)
	);
}
add_action( 'after_setup_theme', 'haqiye_setup' );


Top