Массив для дат

KR
KRAT
Сообщения: 22
Зарегистрирован: 16 июн 2017, 11:44
Благодарил (а): 15 раз

Сообщение KRAT 23 окт 2017, 20:18

Пытаюсь перевести на русский язык расширение https://www.phpbb.com/customise/db/exte ... e_counter/

Там есть момент, касающийся дат в файле membertimecounter.php
В оригинале :

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

$lang = array_merge($lang, array(
   'MEMBER_FOR' => 'Member For',
   'YEARS' => 'Years',
   'MONTHS' => 'Months',
   'AND' => 'and',


я пытаюсь расписать склонение года

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

$lang = array_merge($lang, array(
   'MEMBER_FOR' => 'Участник в течение',
   'YEARS' => array(
         0   => 'лет',
        1   => 'год',
        2   => 'года',
        3   => 'года',
        4   => 'года',
        5   => 'лет',
        6   => 'лет',
        7   => 'лет',
        8   => 'лет',
        9   => 'лет',
        10  => 'лет',
        11  => 'лет',
        12  => 'лет',
        13  => 'лет',
        14  => 'лет',
        15  => 'лет',
        16  => 'лет',
        17  => 'лет',
        18  => 'лет',
        19  => 'лет',
        20  => 'лет',
        21  => 'лет',
        22  => 'года'


Надо так писать ? Для каждого года свое значение ?

Отправлено спустя 38 минут 58 секунд:
Если у участника форума наступить 23-ий год пребывания, что тогда будет написано у него в профиле, если я распишу перевод только до 22-го года?

Нет ли возможности как то по другому расписать повторяющиеся склонения, к примеру 2, 3, 4 и 22 пункты имеют одинаковое написание.

Или же система будет будет сама выбирать значение по последней цифре года :
к примеру все года оканчивающиеся на цифру 0 (это 0, 10, 20 и т.д.) - будут иметь значение "лет",
оканчивающиеся на 1 (это 1, 11, 21и т.д.) - "год" ?

Прошу помочь с толкованием всего этого. :sorry:
Аватара пользователя
PPK
Администратор
Сообщения: 9006
Зарегистрирован: 21 мар 2009, 17:13
Благодарил (а): 72 раза
Поблагодарили: 1308 раз

Сообщение PPK 24 окт 2017, 10:29

Если вы просто переводите расширение, то и нужно переводить то, что там есть, добавление в языковой файл массива вместо строки работать не будет, это нужно расширение переделывать
KR
KRAT
Сообщения: 22
Зарегистрирован: 16 июн 2017, 11:44
Благодарил (а): 15 раз

Сообщение KRAT 24 окт 2017, 12:32

:shock: :sorry:

Отправлено спустя 1 час 16 минут 47 секунд:
В файле listener.php написано

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

   public function memberlist_view_profile($event)
   {

      $reg_date = phpbb_gmgetdate($event['member']['user_regdate']);
      $member_for = $reg_date['mday'] . ' ' . $reg_date['month'] . ' ' . $reg_date['year'] . ', ' . $reg_date['hours'] . ':' . $reg_date['minutes'] . ':' . $reg_date['seconds'];

      $this->template->assign_vars(array(
         'MEMBER_FOR'    => $member_for,
      ));
   }


я и подумал что можно дописать в переводе.

Отправлено спустя 14 минут 4 секунды:
Сейчас вот так написал.

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

$lang = array_merge($lang, array(
   'MEMBER_FOR' => 'Участник в течение',
   'YEARS' => array(
         0   => 'лет',
        1   => 'год',
        2   => 'года',
        3   => 'года',
        4   => 'года',
        5   => 'лет',
        6   => 'лет',
        7   => 'лет',
        8   => 'лет',
        9   => 'лет',
        10  => 'лет',
        11  => 'лет',
        12  => 'лет',
        13  => 'лет',
        14  => 'лет',
        15  => 'лет',
        16  => 'лет',
        17  => 'лет',
        18  => 'лет',
        19  => 'лет',
        20  => 'лет',
        21  => 'лет',
        22  => 'года'
   ),
   'MONTHS' => 'мес.',
   'DAYS' => 'дн.',
   'HOURS' => 'час',
   'MINUTES' => 'мин.',
   'SECONDS' => 'сек.',
   'AND' => 'и',
));


Вроде работает.


Но теперь бы разобраться как правильно надо расписать применение склонений в массиве.
Поможете ? :sorry:

Отправлено спустя 17 минут 19 секунд:
Или все таки похоже это ничего не меняет.
Работать так не будет ?
Аватара пользователя
PPK
Администратор
Сообщения: 9006
Зарегистрирован: 21 мар 2009, 17:13
Благодарил (а): 72 раза
Поблагодарили: 1308 раз

Сообщение PPK 29 окт 2017, 11:13

Не будет, если в файле это выглядит так

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

$lang = array_merge($lang, array(
   'MEMBER_FOR' => 'Member For',
   'YEARS' => 'Years',
   'MONTHS' => 'Months',
   'AND' => 'and',

то и нужно переводить то, что после =>, без правки кода расширения никакие склонения сами по себе там не появятся :nea:

Вернуться в «Вопросы по phpBB 3.1/3.2»

Кто сейчас на конференции

Сейчас этот форум просматривают: CCBot и 0 гостей