2016-01-11 2 views
0

Я использую следующие функции для хранения пользовательских сообщений на двух языках JavaScript:Php хранения мульти строки языка внутри объекта

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'); 

Это не может быть лучшей практикой, но в настоящее время очень удобно для меня получать сообщения пользователя в моем коде по языку, используя значение locale. Я хотел бы знать, как добиться чего-то простого, чтобы объявить и обработать в PHP, вместо этого создавая новые массивы все время. Смотря на stdclass, но не могу заставить его работать правильно.

+1

Не могли бы вы уточнить, что вы пробовали, и почему это не работает. –

+0

Все примеры, которые я видел, слишком сложны для объявления каждого значения. Я не нашел способ объявить его в одной строке, как в javascript, кроме новых независимых массивов, а не многократно используемых. – user997593

+0

Вы можете конвертировать ваши 'js' в' php', создав класс со своими 2 свойствами. Вы можете назначить свои значения в конструкторе или добавить отдельный метод. – akasummer

ответ

0

Несмотря на помощь таких людей, как Алекс Блекс, которые предпочитают подвергать сомнению легитимность пользователя, а не помогать им. Вот рабочий подход для тех, кто может смотреть в будущем на что-то подобное (что я думал, было главной целью этого сайта). Это, безусловно, было бы лучше, но я не знаю, как сделать его проще или умнее.

class internal_message 
{ 
    public $message = array(); 

    public function setMsg($index, $newval) 
    { 
     $this->message[$index] = $newval; 
    } 

    public function getMsg($index) 
    { 
     return $this->message[$index]; 
    } 
} 

Таким образом, вы должны сделать новое заявление для каждого языка, но на самом деле оно более безопасно и ясно. Я начинаю чувствовать себя очень разочарованным в отношении этого сайта, особенно по таким темам, как качество английского языка на должностях: в моем случае я испанский, из Испании, и я смею говорить как хороший испанский, так как я говорю по-английски , Я также говорю о Deutch и Catalan. Но это не место для языков, на самом деле, если кто-то что-то опечатывает, он обогатит вашу базу данных контентом, который кто-то также пропустит при поиске в Google. Я не понимаю весь этот классизм и отношение в последнее время.

$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"); 
Смежные вопросы