Страница 1 из 1

Серьезные проблемы c кодировкой

Добавлено: 31 окт 2012, 13:43
firebolt
Итак. По порядку.

Я занимаюсь созданием шаблонов для формы заявки. Правлю файл /opt/otrs/Kernel/Output/HTML/Standard/AgentTicketPhone.dtl. Сама затея работает (что очень радует), но вот отображаются русские слова кракозябрами. На скриншоте это слово "Картридж".
screen.png
screen.png (34.53 КБ) 5809 просмотров
Конечно полез все проверять. Кодировка базы - utf_8, кодировка файла - utf_8. Почитал на форуме про то, что грамотно будет сделать на английском, а в кастомном файле переводов сделать перевод. Попробовал реализовать: переименовал /opt/otrs/Kernel/Language/xx_Custom.pl в /opt/otrs/Kernel/Language/ru_Custom.pl и добавил следующее:

Код: Выделить всё

package Kernel::Language::ru_Custom;

use strict;
use warnings;

use vars qw($VERSION);
$VERSION = qw($Revision: 1.10 $) [1];

sub Data {
    my $Self = shift;

    # $$START$$

    # own translations
    $Self->{Translation}->{'Cartridge'}   = 'Картридж';
    $Self->{Translation}->{'Comp'} = 'Комп';
    $Self->{Translation}->{'Repair'} = 'Ремонт';

    # $$STOP$$
}

1;
Кстати, в строке package Kernel::Language::ru_Custom; я правильно сделал, что xx сменил на ru?
В общем, это не помогло. Страница так и осталась c кракозябрами. Да и вообще, нормально ли это - заниматься этим переводом? Там в шаблоне будет немалый текст служебной записки. Его тоже на английском писать, а потом переводить?

Re: Серьезные проблемы c кодировкой

Добавлено: 31 окт 2012, 15:06
merkushov
Всё делаете правильно. При прямом редактировании шаблонов, русские символы отображаются некорректно. Локализацию нужно делать через модули ./Kernel/Language/* (на основе Kernel::Language::xx_Custom)
Непосредственно в шаблон нужно вставлять ключи, например $Text{"Tmp_text"}, из модуля локализации. "Ключ" текста в модуле локализации не обязательно должен соответствовать написанному, но важно чтобы подходил по смыслу. Т.е. большому тексту служебной записки может соответствовать ключ official_note

Ваша проблема может быть либо в том что локаль вашей системы не utf8, либо вы невнимательно вставляете ключ в шаблон.

Re: Серьезные проблемы c кодировкой

Добавлено: 01 ноя 2012, 06:34
firebolt
merkushov писал(а):Всё делаете правильно. При прямом редактировании шаблонов, русские символы отображаются некорректно. Локализацию нужно делать через модули ./Kernel/Language/* (на основе Kernel::Language::xx_Custom)
Непосредственно в шаблон нужно вставлять ключи, например $Text{"Tmp_text"}, из модуля локализации. "Ключ" текста в модуле локализации не обязательно должен соответствовать написанному, но важно чтобы подходил по смыслу. Т.е. большому тексту служебной записки может соответствовать ключ official_note
Честно сказать, я не уверен, что понял, как это сделать. Можете ли Вы привести пример? Если я все правильно делаю, то почему слова не перевелись?

Re: Серьезные проблемы c кодировкой

Добавлено: 01 ноя 2012, 09:30
merkushov
/opt/otrs/Kernel/Language/ru_Custom.pl правильный, теперь добавьте <p>Пример: $Text{"Cartridge"}<p> в шаблон /opt/otrs/Kernel/Output/HTML/Standard/AgentTicketPhone.dtl после <h1>$Text{"Create New Phone Ticket"}</h1>

Re: Серьезные проблемы c кодировкой

Добавлено: 01 ноя 2012, 11:24
firebolt
merkushov писал(а):/opt/otrs/Kernel/Language/ru_Custom.pl правильный, теперь добавьте <p>Пример: $Text{"Cartridge"}<p> в шаблон /opt/otrs/Kernel/Output/HTML/Standard/AgentTicketPhone.dtl после <h1>$Text{"Create New Phone Ticket"}</h1>
Отлично! нАчало работать. Надо теперь все полностью оформить. Благодарю за помощь!

Re: Серьезные проблемы c кодировкой

Добавлено: 01 ноя 2012, 11:25
firebolt
А как добавить эту тему по созданию шаблонов в howtos? К кому обратиться?

Re: Серьезные проблемы c кодировкой

Добавлено: 04 ноя 2012, 01:10
alexus
Можно просто зайти в раздел и добавить ;) !