首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建多语言主页翻译

创建多语言主页翻译
EN

Stack Overflow用户
提问于 2011-10-06 22:49:13
回答 1查看 102关注 0票数 0

好的,我得到了类文件,其中有函数-

代码语言:javascript
复制
var $text;                     

public function languages()
{
  if (isset($_GET['lang']) && $_GET['lang'] != '')
  {
    $_SESSION['lang'] = $_GET['lang'];
  }
  switch($_SESSION['lang'])
  {
    case 'en_EN': require_once('language/lang.eng.php');break;
    case 'lv_LV': require_once('language/lang.lv.php');break;
    case 'ru_RU': require_once('language/lang.ru.php');break;
    default: require_once('language/lang.eng.php');
  }
  $this->text = $text;
}

public function translate($txt)
{
  if(isset($this->text[$txt]))
  {
    return $this->text[$txt];
  }
}

如果我像这样通过index.php进行翻译-> echo $index->translate('search');,它可以进行翻译,但如果我在类文件中进行翻译,例如-

代码语言:javascript
复制
if ($country_rows > 0)
{
  $_SESSION['country'] = $_GET['country'];
}
else
{                                                      
  $_SESSION['country'] = $this->translate('all_countries');
}
}
if ($_SESSION['country'] == '')
{ 
  $_SESSION['country'] = $this->translate('all_countries');
}

它没有显示出来。在index.php头中,我包含了-

代码语言:javascript
复制
require_once('class.index.php');
$index = new index;
$index->get_country();
$index->languages();

可能的问题是什么,我如何修复它,这样我也可以翻译类文件中的所有内容?感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-06 23:15:22

第一个猜测:没有会话开始?

代码语言:javascript
复制
session_start();

第二个猜测:假设您在另一个类中使用translate,您应该首先初始化对象,在下面的示例中,我将translate类传递给var $index;

代码语言:javascript
复制
<?
include_once('class.index.php');
class myClass {
  var $index;

  public function __construct() {
    $index = new index();
    $index->get_country();
    $index->languages();
    $this->index = $index;
  }

  public function yourFunction() {
    echo $this->index->translate('all_countries');
    print_r($this->index);
  }
}
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7676106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档