如何在没有WPML字符串翻译的情况下使搜索表单值多语言?

时间:2014-08-28 14:14:11

标签: wordpress translation multilingual

在我的主题中,我有一个搜索表单,如下所示:

<form method="get" id="search" action="<?php echo home_url(); ?>">
    <div>
    <?php $req=''; ?>
    <input type="text" value="Search" name="s" id="s"  onfocus="if(this.value==''){this.value='<?php  _e( 'Search', 'thememagic' );  ?>'};" onblur="if(this.value==''){this.value='Search'};" tabindex="2" <?php if ($req) echo "aria-required='true'"; ?> />
    <input type="submit" id="searchsubmit" value="" />

    </div>
</form>

我认为_e( 'Search', 'thememagic' )意味着如果您使用WPML,您可以轻松翻译&#34;搜索&#34;串。但是如果没有WPML,我该怎么办?

是否可以在不触及wordpress核心功能的情况下将变量传递给搜索表单模板?因为我在短代码函数中的主题函数.php中调用了get_search_form();

我有一个内容不多的简单网站,并且出于大多数目的,Polylang足以使网站多语言,但我仍然坚持翻译&#34;搜索&#34;串。

1 个答案:

答案 0 :(得分:0)

由于我的网站只是双语,我想出了这个,它似乎工作。 我通过以下方式更改了输入行:

<input type="text" value="<?php echo (get_bloginfo('language')=='de-DE')?'Suche':'Search';?>" name="s" id="s"  onfocus="if(this.value==''){this.value='<?php echo (get_bloginfo('language')=='de-DE')?'Suche':'Search';?>'};" onblur="if(this.value==''){this.value='<?php echo (get_bloginfo('language')=='de-DE')?'Suche':'Search';?>'};" tabindex="2" <?php if ($req) echo "aria-required='true'"; ?> /> 

因此,如果访客来自德国,则文本以德语显示,否则以英语显示。它既快又脏,但它有效。仍然可以获得更优雅的解决方案;)