1

我需要在 Prestashop 模板文件中添加一些自定义文本,但是我的商店中有两种语言,我想以不同的语言静态添加这些内容?我可以通过语言 ID 检查当前语言吗?

4

4 回答 4

7

根据您正在编辑的 .tpl 文件的类型,您有多种方法可以实现此目标:

  • 如果它是您主题中的 .tpl,最简单的方法是:

    {ls='我要翻译的文字'}

  • 如果是模块中包含的 .tpl 文件,则应执行以下操作:

    {ls='我要翻译的文字' mod='modulename'}

在这两种情况下,PrestaShop 都会自动将这些字符串翻译成最终用户当前选择的语言。

  • 如果您更喜欢手动处理翻译过程,您应该这样做:

    {if $lang_iso == 'en'}英语{else}其他语言{/if}

于 2014-04-10T20:21:20.627 回答
3

静态的

    {if $lang_iso == en } 

    english text 
    {else}

    Other language
   {/if}
于 2013-10-10T08:25:14.457 回答
0

如果您在编辑块上看到,您将了解如何做到这一点。

您可以构建一个模块,然后将其连接到特定区域。

并生成文本框

    /* Gets languages and sets which div requires translations */
    $id_lang_default = (int)Configuration::get('PS_LANG_DEFAULT');
    $languages = Language::getLanguages(false);
    $divLangName = 'image¤title¤url¤legend¤description';


foreach ($languages as $language)
    {
        $this->_html .= '<div id="image_'.$language['id_lang'].'" style="display: '.($language['id_lang'] == $id_lang_default ? 'block' : 'none').';float: left;">';
        $this->_html .= '<input type="file" name="image_'.$language['id_lang'].'" id="image_'.$language['id_lang'].'" size="30" value="'.(isset($slide->image[$language['id_lang']]) ? $slide->image[$language['id_lang']] : '').'"/>';
        /* Sets image as hidden in case it does not change */
        if ($slide && $slide->image[$language['id_lang']])
            $this->_html .= '<input type="hidden" name="image_old_'.$language['id_lang'].'" value="'.($slide->image[$language['id_lang']]).'" id="image_old_'.$language['id_lang'].'" />';
        /* Display image */
        if ($slide && $slide->image[$language['id_lang']])
            $this->_html .= '<input type="hidden" name="has_picture" value="1" /><img src="'.__PS_BASE_URI__.'modules/'.$this->name.'/images/'.$slide->image[$language['id_lang']].'" width="'.(Configuration::get('HOMESLIDER_WIDTH')/2).'" height="'.(Configuration::get('HOMESLIDER_HEIGHT')/2).'" alt=""/>';
        $this->_html .= '</div>';
    }

通过这种方式,它将节省语言方面的价值

于 2013-08-25T20:19:51.593 回答
0

对于 Prestashop 1.7 有更新:

{if ($language.iso_code == "es")}
  <div style="text-align:center;"><img src="spanish-image.jpg"></div>
{else if ($language.iso_code == "en")}
于 2021-12-29T16:02:04.470 回答