Php将多语言字符串存储在对象中


Php storing multi language strings inside an object

我使用以下函数以两种语言将用户消息存储在javascript中:

function user_messages(es_ES, en_EN) 
{
     this.es_ES = es_ES;
     this.en_EN = it_IT;
}
var um_duplicated_input = new user_message('Contenido duplicado','Duplicated content');

这可能不是最佳实践,但对我来说,使用区域设置值按语言在代码中获取用户消息非常方便。我想知道如何在PHP中实现简单的声明和处理,而不是一直构建新的数组。一直在查看stdclass,但无法使其正常工作。

尽管有像Alex Blex这样的人的帮助,他们更喜欢质疑用户的合法性,而不是帮助他们。这是一个工作方法,适用于那些可能在未来寻找类似东西的人(我认为这是这个网站的主要目的)。它肯定会更好,但我不知道如何让它更简单或更智能。

 class internal_message
 {
    public $message = array();
    public function setMsg($index, $newval)
    {
        $this->message[$index] = $newval;
    }
    public function getMsg($index)
    {
        return $this->message[$index];
    }
}

这样,你必须为每种语言做一个新的声明,但事实上它更安全、更清晰。我开始对这个网站感到非常失望,尤其是关于帖子的英语质量之类的话题:就我而言,我是西班牙人,来自西班牙,我敢说你的西班牙语和我的英语一样好。我还会说德乌奇语和加泰罗尼亚语。但这不是一个语言的地方,事实上,如果有人拼错了什么,它会用一些在谷歌搜索时也会拼错的内容来丰富你的数据库。我不理解最近所有这些古典主义和态度。

$error_message_wrong_pass = new internal_message;
$error_message_wrong_pass->setMsg("es_ES", "Password incorrecto");
$error_message_wrong_pass->setMsg("es_ES", "Wrong Password");
//To print them out
$error_message_wrong_pass->getMsg("es_ES");