Russian TYPO3 community

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

Lucifer 28.12.2009 16:04

locallang.php и русский язык
 
Есть довольно много расширений, в которых используется php файл локализации. И в таких расширениях русский язык нормально не работает. Сам я в такие файлики вставлял русские буквы в виде html.
Может есть какой нить не сложный, и более правильный способ подправить это? Или переключить где то кодировку, или подменить на xml или еще что.
ЗЫ: везде кодировки норм.

unixman 28.12.2009 19:30

А какая кодировка в BE?

Lucifer 30.12.2009 18:16

Все утф

unixman 30.12.2009 18:48

Попробуй поставить кодировку файла locallang.php utf-8 или utf-8(без BOM)
Я помню вроде что-то такое делал и помогало

Lucifer 31.12.2009 10:46

не, файл тоже в утф. не помогает

Pavel Antonov 31.12.2009 11:59

Для этого есть специальное расширение - llxml. Оно позволяет выгрузить старые locallang.php в новый формат locallang.xml и отредактировать переводы. После этого файлы переводов можно хранить и копировать в новые проекты.

Lucifer 31.12.2009 12:13

Об этом расширении я знаю... Но о такой функции что то не замечал. Вроде только переводит уже имеющиеся файлы.

jettero 01.01.2010 13:57

Цитата:

Сообщение от Lucifer (Сообщение 26634)
Есть довольно много расширений, в которых используется php файл локализации. И в таких расширениях русский язык нормально не работает. Сам я в такие файлики вставлял русские буквы в виде html.
Может есть какой нить не сложный, и более правильный способ подправить это? Или переключить где то кодировку, или подменить на xml или еще что.
ЗЫ: везде кодировки норм.

а в какой кодировке вставляете?
файлы locallang.php не имеют единой кодировки - у каждого языка внутри него она своя, то есть надо руские лейблы редактировать в кодировке win1251
если хотите лейблы редактировать в utf-8, то надо в locallang.xml переводить

Lucifer 09.01.2010 10:55

Как уже говорил, все в утф. Так и понял, что надо в xml. вот и спрашивал, как это сделать проще всего.

jettero 11.01.2010 15:19

Проще всего это сделать сконвертировав автоматически с помощью экстеншена. Но для этого нужен "правильный" locallang.php то есть где русские лейблы в cp1251. А если вы его сделаете как надо, в cp1251, то и делать xml уже не понадобиться :)
Насколько я помню кодировка лейблов в locallang.php никак не коррелирует с кодировкой сайта – перекодировки делаются автоматически.

Lucifer 14.01.2010 15:21

правельная кодировка - cp1251? О_о
А в чем юмор?

jettero 15.01.2010 17:41

Так сделаны файлы locallang.php
лейблы каждого языка в нем в своей национальной кодировке.

И это вполне логично, а как еще сделать, если надо в одном файле разместить лейблы на английском, французском, немецком и русском и притом этот файл не в utf-8 ? :)

Lucifer 18.01.2010 10:23

Тоже вопрос... Почему этот файл нельзя поставить в uft-8?

Valery Romanchev 18.01.2010 12:18

Цитата:

Сообщение от Lucifer (Сообщение 26634)
Есть довольно много расширений, в которых используется php файл локализации. И в таких расширениях русский язык нормально не работает. Сам я в такие файлики вставлял русские буквы в виде html.
Может есть какой нить не сложный, и более правильный способ подправить это? Или переключить где то кодировку, или подменить на xml или еще что.
ЗЫ: везде кодировки норм.

можно вставлять русификацию в TS примерно так

Код:

plugin.tx_srquiz_pi1{

_LOCAL_LANG.ru {
        quiz_taker_prompt = Пожалуйтса, введите имя и email адрес
        quiz_taker_name_label = Ваше имя:
        quiz_taker_email_label = Ваш email адрес:
        missing_quiz_taker_name = Пожалуйста, введите имя
        invalid_quiz_taker_email = Пожалуйста, введите правильный email адрес
        entry_button_label = Начать тест
        second_entry_attempt = Извините, вы не можете пройти этот тест второй раз.
        quiz_question_label = Вопрос
        quiz_answer_label = Это ваш ответ:
        false = Ложь
        true = Истина
        submit_button_label = Отправить эти ответы
        submit_button_label_single_question = Отправить этот ответ
        quiz_correct_answer_label = Вот верный ответ:
        answer_explanation_label = Объяснение:
        no_answer = Нет ответа
        incorrect_answer_label = Неверный ответ
        take_again_button_label = Пройдите тест снова
        email_quizResults_subject1 = Спасибо за прохождение теста
        email_quizResults_subject2 = 
        email_quizResults_title1 = Уважаемый(ая)
        email_quizResults_title2 = ,
        email_quizResults_text1 = Спасибо за прохождение теста
        email_quizResults_text2 = 
        email_quizResults_text3 = 
        results_label = Вот ваши результаты:
        numberCorrectAnswers_label = Число правильных ответов:
        numberQuestions_label = Всего вопросов:
        score_label = Очки:
        congratulations = Поздравляем!
        email_quizResults_text4 = 
        email_signature = Посетите наш веб-сайт!
        email_quizTaken_subject1 = 
        email_quizTaken_subject2 = пройдите тест
        email_quizTaken_title1 = Добрый день
        email_quizTaken_title2 = :
        email_quizTaken_text1 =  на
        email_quizTaken_text2 = прошел тест
        email_quizTaken_text3 = Это его/ее результаты:
        email_label = Email адрес:
}
}


jettero 19.01.2010 04:54

Цитата:

Сообщение от Lucifer (Сообщение 26797)
Тоже вопрос... Почему этот файл нельзя поставить в uft-8?

locallang.php из тех времен когда UTF-8 был не так распространен и ядро с ним работает как с файлом в 8 битной кодировке и делает нужные перекодировки из национальной кодировки в кодировку FE

поэтому, если вы его сделаете мультибайтным (utf-8) это ни к чему не приведет, только к тому, что механизм перестанет работать как задумано

locallang.xml же позволяет хранить лейблы и редактировать в utf-8, за исключением этого никаких другой разницы нету

лично я продолжаю по-старинке пользоваться locallang.php, у меня подозрение, что это работает быстрее, так как не надо парсить xml, хотя я не проверял, утверждать не буду


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

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