翻译用户添加的自定义代码的参数

时间:2014-03-18 作者:Laniakea

我需要将一些额外的代码硬编码到现有的公文包模板中。现在有两个参数需要转换值:

<a href="/news/" class="hover-on">

  <div class="hoverdiv-feat hide-for-small">
        <img src="location" class="attachment-portfolio-feat wp-post-image" alt="uudised"></div>    
   <div class="overlay hover-on">

     <h4>News</h4>

   </div><!-- END .overlay -->      
    <div class="no-hoverdiv-feat show-for-small">
        <img width="299" height="227" src="location" class="attachment-portfolio-feat wp-post-image" alt="uudised"></div>

</a>
准确地说href 价值/news/News 之间<h4> 标签。

我正在使用WPML翻译其余的网站内容,但我无法将这些值显示在string translation 管理区域。我如何做到这一点?

1 个回复
最合适的回答,由SO网友:cybmeta 整理而成

由于您正在对链接进行硬编码,因此需要使用icl_link_to_element() 函数并在gettext函数中包装要翻译的任何文本:

<?php icl_link_to_element( \'ID_of_your_news_page\', \'page\', \'<h4>\' . __(\'News\') . \'</h4>\' ); ?>
通过这种方式,您将获得基于当前语言的链接的正确版本,并翻译文本。如果你想翻译slug,你必须在page/post edit screen.

在您编辑完问题中的代码后,我认为最好使用get_permalink()icl_object_id(). 正如我之前所说,you should wrap any text in your theme inside a gettext function 为了便于翻译。对于href值,首先必须创建新闻页面的两个版本,并将slug翻译为两个版本(/news/和/ДрОДии/),然后:

<a href="<?php echo get_permalink( icl_object_id( ID_of_news_page, \'page\', true, ICL_LANGUAGE_CODE) ); ?>" class="hover-on">

  <div class="hoverdiv-feat hide-for-small">
        <img src="location" class="attachment-portfolio-feat wp-post-image" alt="uudised"></div>    
   <div class="overlay hover-on">

     <h4><?php _e(\'News\'); ?></h4>

   </div><!-- END .overlay -->      
    <div class="no-hoverdiv-feat show-for-small">
        <img width="299" height="227" src="location" class="attachment-portfolio-feat wp-post-image" alt="uudised"></div>

</a>

结束

相关推荐

Plugin Localization

我刚刚为wp构建了我的第一个插件,即使它不是一个伟大的“代码诗意”;)它正常工作。这是一个使用GalleryView 3.0 jquery插件转换默认wp库的插件(http://spaceforaname.com/galleryview).我唯一不能做的就是本地化。此插件的本地化意味着转换管理界面,在这里可以配置jquery插件选项来更改结果库的外观。我试着关注网络上数百万的教程,在论坛上阅读了很多关于这个问题的帖子,并遵循了codex的指南。。。但仍然没有运气。这就是我所做的:每个文本行都位于gette