Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   newscalendar и русская дата (http://forum.typo3.ru/showthread.php?t=7444)

Lucifer 26.02.2009 16:43

newscalendar и русская дата
 
перевел newscalendar на русский путем
config{
renderCharset = utf-8
metaCharset = utf8
language = ru
locale_all = ru_RU.UTF-8
}
Теперь он мне пишет "февраля - 2009". И первые 2 буквы дней недели типа "По", "Вт" и т.д. И ни где не слова, откуда он это все берет. В мануале об этом не слова.

Он берет эти значения из каких то системных тупы или своих локализаций? Можно ли переделать по нормальному, или придется переделать код?

-=UncleByte=- 27.02.2009 01:25

Читайте внимательно http://typo3.org/documentation/docum...1/7/#id4137879 и http://ru.php.net/manual/ru/function.date.php

Andrey Grey 27.02.2009 09:43

берется из локали ОС.

typik 26.03.2009 01:26

проблемы с локализацией
 
Новую тему не создавал т.к. по этой теме уже много, но все равно не нашел решение моей проблемы. При выводе календаря (news calendar) название дней и месяцев так и остается на англ.языке, хотя ставил

config{
language = ru
locale_all = ru_RU.UTF-8
}

установил: forceCharset = UTF-8

но это все не дало результата. Но при таких настройках плагины поиска и регистрации переводятся без проблем. Вот если устанавливаю вот такие значения:
config{
language = ru
locale_all = russian
}
тогда названия месяца и дней на календаре исчезают.

и также при вот таких настройках:
config{
language = de
locale_all = de_DE
}
название месяцев все равно выводятся на англ.языке.

Помогите решить эту проблему или подскажите пути обойти это ( нужно вывод не только на русском но и на украинском языке, но проблема на украинском таже что описывал для русского языка).

Все это делал на :
- ОС WinXP и W2K;
- TYPO3 4.2.3;
- News calendar 1.0.13;

typik 27.03.2009 01:46

((
 
Неужели нет решение этой проблемы? :confused: пожалуста ответьте.

shuman 27.03.2009 06:49

http://forum.typo3.biz/showthread.ph...ghlight=locale

так как у вас винда, в которой я не ставил толком тайпу, нужно почитать манул по пхп по функции strftime

вот вырезка
Цитата:

Пример 1. Пример использования функции strftime() с разными локалями

<?php
setlocale(LC_TIME, "C");
echo strftime("%A");
setlocale(LC_TIME, "fi_FI");
echo strftime(" по-фински - %A,");
setlocale(LC_TIME, "fr_FR");
echo strftime(" по-французски - %A и");
setlocale(LC_TIME, "de_DE");
echo strftime(" по-немецки - %A.\n");
?>

Этот пример будет работать, если на вашей системе установлены соответствующие локали.
нужно попробовать этот скрипт

typik 29.03.2009 15:55

???
 
Решение проблемы отсутствует?

Andrey Grey 29.03.2009 16:37

под win не пробовал. под bsd все работает нормально.

typik 30.03.2009 03:13

Цитата:

Сообщение от Andrey Grey (Сообщение 23906)
под win не пробовал. под bsd все работает нормально.

Я понимаю, что под *nix системы работает нормально, но мне выбирать не приходиться ОС, поэтому я и спрашиваю за WinXP и W2K. Если кто может подскажите пожалуйста выход из этой ситуации.

-=UncleByte=- 30.03.2009 04:04

Во-первых читать вот это - http://ru2.php.net/manual/ru/function.setlocale.php
Во-вторых, как результат первого, вот это - http://msdn.microsoft.com/en-us/libr...zf(vs.71).aspx

typik 01.04.2009 17:30

:confused:
 
вопрос все еще актуальный.

после вот таких настроек:
language = ua
locale_all = ukrainian
[BE][forceCharset] windows-1252
и
language = ru
locale_all = russian
[BE][forceCharset] windows-1251

выводит вот такие значения дней и месяца в календаре:
### russian
Воск Поне Втор Сред Четв &yum Субб
?нь - 2009

### urkainian
&yum Поне &sup Сере Четв &#03 Субо
?тий - 2009

Месяца на русском выводит только половину месяцев, на украинском только лютий , остальные все нормально выводятся.
это все с windows-1252 и windows-1251, но как же все таки сделать корректно на utf-8.

Если ставлю вот такие настройки:
language = ru
locale_all = ru_RU.UTF-8
[BE][forceCharset] utf-8
тогда в календаре все попрежнему вывод дней и месяца на английском.

Помогите кто сталкивался с такой проблемой

typik 03.04.2009 00:44

(((((((
 
вопрос все еще открыт.
или нет решения локализации (на русский и украинский язык) typo3 (news calendar) под виндовс?????

Lucifer 03.04.2009 10:32

На виндовых машинах надо локалю russian ставить.
Только вот у меня на фря когда locale_all = ru_RU ничего не руссифицируется, а когда locale_all = ru_RU.UTF-8, тогда он на русском, но слетает кодировка в поиске.
Видимо разные эксты по разному понимают локалю.

typik 04.04.2009 02:22

((((((((((((((((((((
 
Люди отзовитесь !!!!! :(
ну кто нибуть подскажите решение проблемы (проблемы что описывал выше так и не решил).
очень надо локализация (особенно news calendar) под винду!
прошу помогите уже просто нет сил боротся ... :(

-=UncleByte=- 04.04.2009 03:48

У вас сервер работает под windows или вы только разрабатываете сайт под ним? Во втором случае смысла нет в решение для windows, проще поставить на виртуальной машине linux и устроить там тестовый полигон.

typik 04.04.2009 17:14

Цитата:

Сообщение от -=UncleByte=- (Сообщение 23990)
У вас сервер работает под windows или вы только разрабатываете сайт под ним? Во втором случае смысла нет в решение для windows, проще поставить на виртуальной машине linux и устроить там тестовый полигон.

cервер работает под виндовс и разрабатываю под ним же :(

-=UncleByte=- 04.04.2009 17:53

Попробуйте прописать locale_all = russian и использовать utf-8 для вывода.

typik 04.04.2009 19:26

Цитата:

Сообщение от -=UncleByte=- (Сообщение 23993)
Попробуйте прописать locale_all = russian и использовать utf-8 для вывода.

я понял вы мои посты выше вообще не читали.

-=UncleByte=- 05.04.2009 03:49

Где в постах выше написано что вы использовали такое сочетание и использовали utf-8 для вывода контента?

typik 05.04.2009 04:07

Цитата:

Сообщение от -=UncleByte=- (Сообщение 23999)
Где в постах выше написано что вы использовали такое сочетание и использовали utf-8 для вывода контента?

посмотрите мой первый пост в этой теме :)

void 05.04.2009 04:13

По-моему, это известная проблема, что в Windows php даже при корректно указанной локали "russian" выдаёт имена дней не в юникоде, а в 1251. Как-то раз боролся с этим в расширении cal, вспоминаю с содроганием.

Давным бы давно уже слазили в код расширения и похакали нужный фрагмент, чем толочь воду в ступе...

-=UncleByte=- 05.04.2009 04:43

В документации к плагину написано следующее:
Цитата:

NOTE: In some cases you must setup your php.ini configuration settings for translation to work as expected.This was reported in Canada where October month was displayed as November.“Since you use gmmktime(), the "php.ini" must have the right date.timezone information.For us in Canada we needed to set UCT and now the right month is showing.” Patrick Gaumond
Посмотрите все ли у вас там настроено.

typik 05.04.2009 21:52

Цитата:

Сообщение от void (Сообщение 24001)
По-моему, это известная проблема, что в Windows php даже при корректно указанной локали "russian" выдаёт имена дней не в юникоде, а в 1251. Как-то раз боролся с этим в расширении cal, вспоминаю с содроганием.

Давным бы давно уже слазили в код расширения и похакали нужный фрагмент, чем толочь воду в ступе...

А можно по подробнее где именно и что хакать надо?

void 05.04.2009 22:13

Я не пользуюсь этим расширением, и поэтому не могу сказать, где именно надо хакать.
Предполагается, что найти это место и поправить -- простая задача. Иначе вы будете долго ходить вокруг каждого экстеншена, который не делает вот эту маленькую фичку, которая вам нужна. И вам полгода на форуме никто не ответит, пока у кого-то, кто хотя бы поверхностно знает PHP, не возникнет такая же задача.

Lucifer 06.04.2009 12:40

по поводу моей проблемы с ru_RU и ru_RU.UTF-8 (в поиске летела кодировка).
Чуть подправил код:
PHP код:

setlocale(LC_ALL$GLOBALS['TSFE']->tmpl->setup['config.']['locale_all']) 

на
PHP код:

if($GLOBALS['TSFE']->tmpl->setup['config.']['locale_all'] == "ru_RU"setlocale(LC_TIME"ru_RU.UTF-8");
else 
setlocale(LC_ALL$GLOBALS['TSFE']->tmpl->setup['config.']['locale_all']); 

Думаю, возможны вариации на тему и для typik'a :)

typik 06.04.2009 14:27

Цитата:

Сообщение от Lucifer (Сообщение 24015)
по поводу моей проблемы с ru_RU и ru_RU.UTF-8 (в поиске летела кодировка).
Чуть подправил код:
PHP код:

setlocale(LC_ALL$GLOBALS['TSFE']->tmpl->setup['config.']['locale_all']) 

на
PHP код:

if($GLOBALS['TSFE']->tmpl->setup['config.']['locale_all'] == "ru_RU"setlocale(LC_TIME"ru_RU.UTF-8");
else 
setlocale(LC_ALL$GLOBALS['TSFE']->tmpl->setup['config.']['locale_all']); 

Думаю, возможны вариации на тему и для typik'a :)

Спасибо за предложенный вариант, но я пробывал такой подход, но в решении проблемы это не помогло :(

Lucifer 06.04.2009 20:12

Ну тогда правь функцию generate_calendar. У меня там так. Ща делал.
PHP код:

$ru_month = array(
            
"01" => "Январь",
            
"02" => "Февраль",
            
"03" => "Март",
            
"04" => "Апрель",
            
"05" => "Май",
            
"06" => "Июнь",
            
"07" => "Июль",
            
"08" => "Август",
            
"09" => "Сентябрь",
            
"10" => "Октябрь",
            
"11" => "Ноябрь",
            
"12" => "Декабрь"
        
);
        
        
        
#note that some locales don't capitalize month and day names
        
if($GLOBALS['TSFE']->tmpl->setup['config.']['locale_all'] != "ru_RU"$this->listHeader $this->convertSpecialCharacters(ucfirst(strftime($this->conf['listView.']['strftime.']['main'],$first_of_month)));
        else 
$this->listHeader $ru_month["$month"].$this->convertSpecialCharacters(ucfirst(strftime(" - %Y",$first_of_month))); 

Поменяй там ru_RU на russian или как там у тебя. :)

typik 09.04.2009 02:09

Цитата:

Сообщение от Lucifer (Сообщение 24024)
Ну тогда правь функцию generate_calendar. У меня там так. Ща делал.
PHP код:

$ru_month = array(
            
"01" => "Январь",
                                   ...
        );
        
        
        
#note that some locales don't capitalize month and day names
        
if($GLOBALS['TSFE']->tmpl->setup['config.']['locale_all'] != "ru_RU"$this->listHeader $this->convertSpecialCharacters(ucfirst(strftime($this->conf['listView.']['strftime.']['main'],$first_of_month)));
        else 
$this->listHeader $ru_month["$month"].$this->convertSpecialCharacters(ucfirst(strftime(" - %Y",$first_of_month))); 

Поменяй там ru_RU на russian или как там у тебя. :)

спасибо за предложенное такое решение, но так название месяцев выводит в ср1251 , а не в utf8, т.е. весь сайт показывает нормально, а месяцы вопросительными знаками, если сменить на ср1251 то месяц показывает корректно , но тогда весь сайт в непонятных символах...
Но даже если выводить так месяцы тогда надо и дни также вывести , но это не совсем понятно как сделать.

Lucifer 09.04.2009 10:30

Тогда скорее всего где то косяк с кодировкой. Может у ньюскалендаря утф стоит? Смотри базу, и темы в форуме :)

typik 11.04.2009 02:17

((
 
так значит нет решения корректоной работы typo3 под windows в кодировке utf-8 ???:confused:

Lucifer 13.04.2009 10:57

Не пробывал, но думаю есть. В крайнем случае, если не получается в ньюскалендаре вывести нормально месяцы, дни недели сделай соответствие(как делать с месяцами я показывал, с днями точно так же). Почитай тут темы по общим проблемам с кодировкой. Есть екст для проверки кодировки ВСЕЙ базы. В ручную все не проверишь.

R.E.S.T.Art 14.08.2010 18:18

я прямо в коде все пофиксил. если кому нужно - пишите в приват - скину свой вариант


Часовой пояс GMT +4, время: 12:48.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot