Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: У кого есть перевод ПоХаПешного списка Time Zone на русский?
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » У кого есть перевод ПоХаПешного списка Time Zone на русский?

Страниц (1): [1]
 

1. nkl - 11 Ноября, 2014 - 08:13:01 - перейти к сообщению
Доброго времени суток, коллеги. У кого есть подобный массив:
PHP:
скопировать код в буфер обмена
  1. array('Europe/Moscow' => 'Европа / Москва',
  2. 'Europe/Oslo' => 'Европа / Осло');
  3. /*
  4.  * etc.
  5.  */

?
Буду очень благодарен если поделитесь, а то что-то в интернетах глухо Растерялся
2. OrmaJever - 11 Ноября, 2014 - 11:09:00 - перейти к сообщению
мне кажется что вряд ли они у кого-то есть, скорее всего их нужно руками заполнять из списка https://php.net/manual/ru/timezones.php , ну или написать скрипт Подмигивание
3. caballero - 11 Ноября, 2014 - 11:14:05 - перейти к сообщению
аж 24 элемента в массиве таки без скрипта никак Улыбка
4. Ch_chov - 11 Ноября, 2014 - 11:23:49 - перейти к сообщению
А почему именно 24?
У меня DateTimeZone::listIdentifiers()) возвращает 415 элементов.
5. RickMan - 11 Ноября, 2014 - 11:24:13 - перейти к сообщению
caballero пишет:
аж 24 элемента в массиве таки без скрипта никак Улыбка


Ага. 54 только в Африке.
6. Sail - 11 Ноября, 2014 - 11:26:55 - перейти к сообщению
nkl, в phpbb, например, после перевода 2014-го есть такое (в language/ru/common.php):
Спойлер (Отобразить)

В 'en' - такое (только эту часть я не обновлял):
Спойлер (Отобразить)
7. RickMan - 11 Ноября, 2014 - 13:46:02 - перейти к сообщению
Sail Ему не часовые пояса нужны...
8. armancho7777777 - 11 Ноября, 2014 - 14:05:11 - перейти к сообщению
Ch_chov пишет:
А почему именно 24?

А точнее 26 (смещений)
С UTC-14:00 по UTC+12:00
С учётом дробных, думаю, ~ 30 - 35

Для России и того меньше:
PHP:
скопировать код в буфер обмена
  1. print_r(\DateTimeZone::listIdentifiers(\DateTimeZone::PER_COUNTRY, 'RU'));

result (Отобразить)


Смещения для РФ:
PHP:
скопировать код в буфер обмена
  1.  
  2. $listIdentifiers = \DateTimeZone::listIdentifiers(
  3.     \DateTimeZone::PER_COUNTRY, 'RU'
  4. );
  5.  
  6. foreach($listIdentifiers as $tz)
  7. {
  8.     $dateTime = new \DateTime('now', new \DateTimeZone($tz));
  9.     $offset = $dateTime->getOffset() / 3600;
  10.  
  11.     echo $tz, ': ', $offset, '<br>';
  12. }
  13.  
9. nkl - 11 Ноября, 2014 - 18:57:28 - перейти к сообщению
Проблема в том, что раз уж и хранить время в формате UTC, то пусть люди могут выбирать из всех имеющихся зон. Потом будет проще, если например где нить в Куала-Лумпур перестанут или наоборот начнут переводить часы в летнее/зимнее время. А если строго на tz_offset опираться, то такого контроля добиться нельзя.
(Добавление)
Sail пишет:
nkl, в phpbb, например, после перевода 2014-го есть такое (в language/ru/common.php):
Спойлер (Отобразить)

В 'en' - такое (только эту часть я не обновлял):
Спойлер (Отобразить)

Вот это уже ближе к истине! Спасибо забираю. Завтра на работе подумаем над этим
10. MiksIr - 11 Ноября, 2014 - 19:55:54 - перейти к сообщению
https://packages[dot]debian[dot]org/source/wheezy/tzdata
Там tzdata_2014h-0wheezy1.debian.tar .xz
В нем debian/source/po/ru.po

Ну и http://php.net/manual/en/book.gettext.php

 

Powered by ExBB FM 1.0 RC1