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

Запросы на решение проблем

Модератор: ykolesnikov

Ответить
firebolt
OTRS Новобранец
Сообщения: 178
Зарегистрирован: 13 сен 2012, 13:46

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

Сообщение firebolt » 31 окт 2012, 13:43

Итак. По порядку.

Я занимаюсь созданием шаблонов для формы заявки. Правлю файл /opt/otrs/Kernel/Output/HTML/Standard/AgentTicketPhone.dtl. Сама затея работает (что очень радует), но вот отображаются русские слова кракозябрами. На скриншоте это слово "Картридж".
screen.png
screen.png (34.53 КБ) 5819 просмотров
Конечно полез все проверять. Кодировка базы - 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 кракозябрами. Да и вообще, нормально ли это - заниматься этим переводом? Там в шаблоне будет немалый текст служебной записки. Его тоже на английском писать, а потом переводить?
Последний раз редактировалось firebolt 01 ноя 2012, 06:47, всего редактировалось 1 раз.
Версия OTRS (6.0.10)
Debian 9 Stretch
Версия СУБД (MySQL 5.7.22)

merkushov
OTRS Бывалый
Сообщения: 310
Зарегистрирован: 25 окт 2012, 15:06
Откуда: Воронеж
Поблагодарили: 2 раза

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

Сообщение merkushov » 31 окт 2012, 15:06

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

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

firebolt
OTRS Новобранец
Сообщения: 178
Зарегистрирован: 13 сен 2012, 13:46

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

Сообщение firebolt » 01 ноя 2012, 06:34

merkushov писал(а):Всё делаете правильно. При прямом редактировании шаблонов, русские символы отображаются некорректно. Локализацию нужно делать через модули ./Kernel/Language/* (на основе Kernel::Language::xx_Custom)
Непосредственно в шаблон нужно вставлять ключи, например $Text{"Tmp_text"}, из модуля локализации. "Ключ" текста в модуле локализации не обязательно должен соответствовать написанному, но важно чтобы подходил по смыслу. Т.е. большому тексту служебной записки может соответствовать ключ official_note
Честно сказать, я не уверен, что понял, как это сделать. Можете ли Вы привести пример? Если я все правильно делаю, то почему слова не перевелись?
Версия OTRS (6.0.10)
Debian 9 Stretch
Версия СУБД (MySQL 5.7.22)

merkushov
OTRS Бывалый
Сообщения: 310
Зарегистрирован: 25 окт 2012, 15:06
Откуда: Воронеж
Поблагодарили: 2 раза

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

Сообщение merkushov » 01 ноя 2012, 09:30

/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>
Меркушов Виктор, perl программист

firebolt
OTRS Новобранец
Сообщения: 178
Зарегистрирован: 13 сен 2012, 13:46

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

Сообщение firebolt » 01 ноя 2012, 11:24

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>
Отлично! нАчало работать. Надо теперь все полностью оформить. Благодарю за помощь!
Версия OTRS (6.0.10)
Debian 9 Stretch
Версия СУБД (MySQL 5.7.22)

firebolt
OTRS Новобранец
Сообщения: 178
Зарегистрирован: 13 сен 2012, 13:46

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

Сообщение firebolt » 01 ноя 2012, 11:25

А как добавить эту тему по созданию шаблонов в howtos? К кому обратиться?
Версия OTRS (6.0.10)
Debian 9 Stretch
Версия СУБД (MySQL 5.7.22)

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

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

Сообщение alexus » 04 ноя 2012, 01:10

Можно просто зайти в раздел и добавить ;) !
С уважением,
Алексей Юсов

Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal

Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!

Ответить