这个text_direction
的属性the WP_Locale
class 默认为\'ltr\'
根据it\'s declaration, 然后可以在类的init()
中的初始化函数wp-includes/locale.php
(靠近line #207 in WP 4.5) 具有以下逻辑:
// Set text direction.
if ( isset( $GLOBALS[\'text_direction\'] ) )
$this->text_direction = $GLOBALS[\'text_direction\'];
/* translators: \'rtl\' or \'ltr\'. This sets the text direction for WordPress. */
elseif ( \'rtl\' == _x( \'ltr\', \'text direction\' ) )
$this->text_direction = \'rtl\';
if ( \'rtl\' === $this->text_direction && strpos( $GLOBALS[\'wp_version\'], \'-src\' ) ) {
$this->text_direction = \'ltr\';
add_action( \'all_admin_notices\', array( $this, \'rtl_src_admin_notice\' ) );
}
使用上述初始化逻辑,WordPress将文本方向更改为
$text_direction
全局,如果存在。否则,它适用
the _x()
function 检索字符串的本地化值
\'ltr\'
上下文为
\'text direction\'
.
因此,文本方向通常由所选语言的翻译文件设置。Here 您可以在基于web的核心翻译界面中看到阿拉伯语的文本方向翻译。
确定要使用的语言后,WordPress使用the load_default_textdomain()
function 通过提供对已配置语言环境的语言数据的访问$l10n
然后本地化功能将依赖于global进行翻译。
用WordPress所需要的相同方法确定非默认语言的语言方向a multi-language installation. 链接的Codex条目中详细介绍的许多方法会动态地切换出活动区域设置,因此活动语言的文本方向始终可以通过_x( \'ltr\', \'text-direction\' );
.
或者,如果需要了解非活动语言的方向,可以install the translation file 对于您希望获取其文本方向的每种语言,请创建Mo
类和调用import_from_file()
保持语言数据分离,然后调用$mo->translate( \'ltr\', \'text_direction\' );
将返回语言的文本方向(如果设置)。
根据您需要获取已卸载语言的文本方向的原因,事先编译一个静态语言方向列表可能会更高效,资源消耗更少。