1. Приветствуем Вас на нашем закрытом форуме для складчиков сайта cmsheaven.org. Если Вы частный вебмастер, фрилансер, владелец малого или среднего бизнеса, представитель студии по разработке сайтов - будем рады видеть Вас в наших рядах экономных людей.
    Регистрация на форуме возможна только после вступления в складчину

Виджет Opening Time - как перевести на русский язык?

Тема в разделе "Вопросы по Wordpress [тех. поддержка]", создана пользователем brutto, 24 сен 2016.

  1. brutto

    brutto Cкладчик

    Регистрация:
    21 сен 2016
    Сообщения:
    5
    Симпатии:
    0
    Скриншот виджета: [​IMG]

    Максимально подробное описание проблемы : Необходимо перевести на русский язык дни недели. В настройках самого виджета такой функции нет. Файл en_GB.po в папке lenguages отсутствует.

    Зашёл по адресу /wp-content/themes/verona/languages/proteuswidgets
    В нём имеется файл proteuswidgets.pot. Именно в нём есть конкретный код по данному виджету:

    Код:
    #: vendor/proteusthemes/proteuswidgets/widgets/widget-opening-time.php:21
    #: vendor/proteusthemes/proteuswidgets/widgets/widget-opening-time.php:150
    msgid "Opening Time"
    msgstr ""
    
    #: vendor/proteusthemes/proteuswidgets/widgets/widget-opening-time.php:22
    msgid "Widget shows opening times per day with optional text."
    msgstr ""
    
    #: vendor/proteusthemes/proteuswidgets/widgets/widget-opening-time.php:34
    msgid "Sunday"
    msgstr ""
    
    #: vendor/proteusthemes/proteuswidgets/widgets/widget-opening-time.php:35
    msgid "Monday"
    msgstr "Понедельник"
    
    #: vendor/proteusthemes/proteuswidgets/widgets/widget-opening-time.php:36
    msgid "Tuesday"
    msgstr ""
    
    #: vendor/proteusthemes/proteuswidgets/widgets/widget-opening-time.php:37
    msgid "Wednesday"
    msgstr ""
    
    #: vendor/proteusthemes/proteuswidgets/widgets/widget-opening-time.php:38
    msgid "Thursday"
    msgstr ""
    
    #: vendor/proteusthemes/proteuswidgets/widgets/widget-opening-time.php:39
    msgid "Friday"
    msgstr ""
    
    #: vendor/proteusthemes/proteuswidgets/widgets/widget-opening-time.php:40
    msgid "Saturday"
    msgstr ""
    
    #: vendor/proteusthemes/proteuswidgets/widgets/widget-opening-time.php:182
    msgid "-"
    msgstr ""
    
    #: vendor/proteusthemes/proteuswidgets/widgets/widget-opening-time.php:189
    msgid "CLOSED"
    msgstr ""
    
    Вношу изменения в параметр "msgstr", но никаких изменений нет.
    Что делать, где менять нужно?

    Update: Порылся в файлах, по адресу /wp-content/themes/verona/vendor/proteusthemes/proteuswidgets/widgets есть файл с названием widget-opening-time.php
    В нём присутствуют такие строки:
    Код:
        public function __construct() {
                parent::__construct();
    
                // Set the right order of the days
                $start_of_week = get_option( 'start_of_week ' ); // integer [0,6], 0 = Sunday, 1 = Monday ...
                $this->days = array(
                    'Sun' => esc_html__( 'Sunday', 'proteuswidgets' ),
                    'Mon' => esc_html__( 'Monday', 'proteuswidgets' ),
                    'Tue' => esc_html__( 'Tuesday', 'proteuswidgets' ),
                    'Wed' => esc_html__( 'Wednesday', 'proteuswidgets' ),
                    'Thu' => esc_html__( 'Thursday', 'proteuswidgets' ),
                    'Fri' => esc_html__( 'Friday', 'proteuswidgets' ),
                    'Sat' => esc_html__( 'Saturday', 'proteuswidgets' ),
                );
    
                $this->rotate_days( $start_of_week );
            }
    Изменяя слова в скобках, меняется и название в самом виджете. Проблема только в том, что кириллицу он не распознаёт, вместо слово остаётся пустота на странице.
    Далее я перешёл по адресу /wp-content/themes/verona/vendor/proteusthemes/proteuswidgets/languages и нашёл файл ru_RU.po
    В нём есть строки
    Код:
    #: widgets/widget-opening-time.php:35
    msgid "Monday"
    msgstr "Понедельник"
    
    #: widgets/widget-opening-time.php:36
    msgid "Tuesday"
    msgstr "Вторник"
    
    #: widgets/widget-opening-time.php:37
    msgid "Wednesday"
    msgstr "Среда"
    
    #: widgets/widget-opening-time.php:38
    msgid "Thursday"
    msgstr "Четверг"
    
    #: widgets/widget-opening-time.php:39
    msgid "Friday"
    msgstr "Пятница"
    
    #: widgets/widget-opening-time.php:40
    msgid "Saturday"
    msgstr "Суббота"
    
    #: widgets/widget-opening-time.php:182
    msgid "-"
    msgstr "-"
    
    #: widgets/widget-opening-time.php:189
    msgid "CLOSED"
    msgstr "ЗАКРЫТО"
    
    #: widgets/widget-opening-time.php:208
    msgid "opened"
    msgstr "открыто"
    
    #: widgets/widget-opening-time.php:210
    msgid "to"
    msgstr "кому:"
    
    #: widgets/widget-opening-time.php:216
    msgid "Separator between hours:"
    msgstr "Разделитель между часами:"
    
    #: widgets/widget-opening-time.php:221
    msgid "Text used for closed days:"
    msgstr "Текст, использованный для закрытых дней:"
    
    #: widgets/widget-opening-time.php:226
    msgid "Text below the timetable for additional info (for example lunch time):"
    msgstr ""
    "Текст ниже - расписание для дополнительной информации (например, время "
    "обеда):"
    Если есть этому всему перевод, то почему же он не срабатывает и отображает информацию на английском языке?

    Update: Проблема была решена следующим методом:
    1. Из папки /wp-content/themes/verona/vendor/proteusthemes/proteuswidgets/languages файлы ru_RU.mo и ru_RU.po были скопированы в папку /wp-content/themes/verona/languages/proteuswidgets

    Может кому-то будет полезно.
    Последнее редактирование: 24 сен 2016
    #1