Joomla JText :: _("")

时间:2016-07-17 17:58:31

标签: php joomla

我试图改变Joomla的语言!组件称为DigiCom。其实我不明白这一行:

<th class="text-center"><?php echo JText::_("COM_DIGICOM_PRICE_PLAN");?></th>

我想这可能是一个引用,因为显示的文本不是COM_DIGICOM_PRICE_PLAN。如果我是对的,你知道我在哪里可以改变吗?

以下是代码的一部分:

<?php
/**
 * @package     DigiCom
 * @author      ThemeXpert http://www.themexpert.com
 * @copyright   Copyright (c) 2010-2015 ThemeXpert. All rights reserved.
 * @license     GNU General Public License version 3 or later; see LICENSE.txt
 * @since       1.0.0
 */

defined('_JEXEC') or die;


JHTML::_('behavior.formvalidation');

$pg_plugin = $this->pg_plugin;
$configs = $this->configs;
$data = $this->data;
?>
<div id="digicom" class="dc dc-checkout">

    <?php
    $this->setLayout('cart');
    echo $this->loadTemplate('steps');
    ?>

    <h1 class="page-title"><?php echo JText::sprintf("COM_DIGICOM_CHECKOUT_PAYMENT_DETAILS_PAGE_TITLE", $pg_plugin); ?></h1>

    <div class="dc-checkout-items">

        <h4 class="align-center"><?php echo JText::_("COM_DIGICOM_SUMMARY_YOUR_ORDER");?></h4>

1 个答案:

答案 0 :(得分:14)

JText::_()是帮助本地化的辅助函数。它将采用COM_DIGICOM_PRICE_PLAN之类的符号,并查找用户当前设置的语言,并从关联的语言文件中提取相关字符串。这些语言文件位于/language/administrator/language文件夹下。

如果没有匹配的符号,该函数将只返回传递的符号。因此,如果在组件的语言文件中找不到COM_DIGICOM_PRICE_PLAN,它只会返回COM_DIGICOM_PRICE_PLAN。否则,它将返回相关的字符串。

因此,如果您想要更改组件的本地化字符串,则需要执行以下两项操作之一。 1)编辑语言文件,或2)添加覆盖。

编辑语言文件:

找到组件/模块/插件的语言文件。找到关联的符号并更改字符串。

该特定组件的语言filename/path类似于

/language/en-GB/en-GB.com_digicom.ini
/administrator/language/en-GB/en-GB.com_digicom.ini
/administrator/language/en-GB/en-GB.com_digicom.sys.ini

en-GB是您要更改的特定语言(或者如果您想更改所有语言的字符串,请浏览所有语言)。

然后,寻找像

这样的行
COM_DIGICOM_PRICE_PLAN="Some text"

之后,只需将Some Text更改为您希望更改为的内容。

Read the Joomla component tutorial about adding language management了解详情

请注意,虽然更新组件时可能会覆盖这些文件,因此如果更新组件,则可能需要重新编辑这些文件。

添加覆盖

这是一个更好的选项,因为您不需要在更新后编辑/重新编辑任何文件。

转到语言:覆盖页面并添加语言常量的覆盖。您可以通过访问后端的菜单并转到Extensions -> Languages -> Overrides

来到达那里

只需输入要覆盖的常量:COM_DIGICOM_PRICE_PLAN,然后输入要显示的文本。然后保存。

enter image description here