我正在建立一个WordPress网站,该网站的后端应该是丹麦文。这对于核心WordPress来说很好,但是一些插件使得很难进行完整的翻译。
我刚刚发现的一个问题与ACF插件中的关系字段有关。我喜欢这个插件,但这里似乎有一个来自开发人员方面的错误呼吁。也许我错过了什么。问题是post_type
此处描述:
所以问题是它在哪里说“生产”。这是一个自定义的帖子类型,我用一个丹麦标签“Forestilling”和CPT UI设置了它。
但当我研究这一关系领域背后的代码时,它似乎在拉动post_type
而不是标签:
// right aligned info
$title = \'<span class="relationship-item-info">\';
if( in_array(\'post_type\', $field[\'result_elements\']) )
{
$title .= get_post_type();
}
// WPML
if( $options[\'lang\'] )
{
$title .= \' (\' . $options[\'lang\'] . \')\';
}
$title .= \'</span>\';
我假设他们对WPML部分采取了预防措施。但是我没有使用WPML,也不知道是否仅仅为了更改翻译就需要这样做。
我所要做的就是交换get_post_type
与此一致:
$title .= get_post_type_object( get_post_type( $post ) );
但这意味着要破解插件,而这将在我更新插件时被覆盖。
我怎样才能着手解决这个问题?
SO网友:Andrea Sciamanna
您应该将帖子类型名称(以及可能需要翻译的所有其他内容)保留为英语。
然后,在WPML中,您可以翻译它的名称(标签和slug)。
如果站点的主要语言是丹麦语,您只需将该语言设置为默认语言(但不适用于WPML字符串翻译,我将保留英语作为默认语言)。
如果使用WPML的原因只是为了提供一个丹麦语后端,但网站不应该是多语言的,那么可以通过启用第二语言(如英语)并将其标记为隐藏来实现。
不过,最好还是将所有字符串都保留为英语(gettext、自定义post类型标签和slug都是字符串)。