главная турниры статьи wiki карта сайта логин

Автор Тема: Локализация  (Прочитано 23353 раз)

0 Пользователей и 1 Гость просматривают эту тему.

DV

  • Глобальный Модератор
  • level 5
  • *****
  • Сообщений: 1293
  • Это - Стилфист в молодости.
  • OS:
  • Linux Linux
  • Browser:
  • Opera 11.50 Opera 11.50
    • Просмотр профиля
  • Раса: Мертвец
Re: Локализация
« Ответ #45 : Август 12, 2011, 21:08:42 »
крут
Возглавляет силы зла

Allin

  • level 0
  • Сообщений: 7
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Chrome 18.0.1025.1634 Chrome 18.0.1025.1634
    • Просмотр профиля
Re: Локализация
« Ответ #46 : Декабрь 29, 2012, 12:43:14 »
Перевел кампанию Bad Moon Rising для 1.11.
Переводил в radialix 2.

Помогите решить несколько проблем:
1. Папка ru создана, файлик с правильным названием лежит, но игра на него не реагирует.
2. Есть ли способ проверить диалоги не проходя всю кампанию? Какой нить инструментарий?

FallenPhoenix

  • level 2
  • **
  • Сообщений: 127
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Opera 11.64 Opera 11.64
    • Просмотр профиля
  • Раса: Эльф
Re: Локализация
« Ответ #47 : Декабрь 29, 2012, 13:55:33 »
Че ж так жестко-то, в радиаликсе? :o бинарные .mo-файлы и текстовые .po конвертятся друг в друга родными утилитами msgunfmt и msgfmt. А для отладки есть команды debug-режима: можно, например, в любой эпизод сразу перейти или выставить юниту 999 ходов и 999 хп да по-бырому добежать до места диалога...

А рабочий файл перевода должен располагаться так: папка_аддона\translations\ru\LC_MESSAGES\домен_аддона.mo (точнее, первая часть пути, включая translations, прописывается в _main.cfg, но размещают обычно так). Не реагировать же аддон может и из-за разных косяков своего создателя.
« Последнее редактирование: Декабрь 29, 2012, 14:15:14 от FallenPhoenix »

Allin

  • level 0
  • Сообщений: 7
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Chrome 18.0.1025.1634 Chrome 18.0.1025.1634
    • Просмотр профиля
Re: Локализация
« Ответ #48 : Декабрь 29, 2012, 14:35:14 »
Че ж так жестко-то, в радиаликсе? :o бинарные .mo-файлы и текстовые .po конвертятся друг в друга родными утилитами msgunfmt и msgfmt. А для отладки есть команды debug-режима: можно, например, в любой эпизод сразу перейти или выставить юниту 999 ходов и 999 хп да по-бырому добежать до места диалога...

А рабочий файл перевода должен располагаться так: папка_аддона\translations\ru\LC_MESSAGES\домен_аддона.mo (точнее, первая часть пути, включая translations, прописывается в _main.cfg, но размещают обычно так). Не реагировать же аддон может и из-за разных косяков своего создателя.

Я искал прогу, которая работает с mo файлами, ибо проще сходу переделать другую локализацию, не вникая для начала в синтаксис, тэги и т.п.

Геттекст я скачал, но так и не смог понять как им пользоваться. Про дебуг спасиба, щас буду вникать.

Файл перевода располагается верно, в конфигах прописан текстдомайн и т.п.
Более того, подсунул в папку ru французский перевод, просто чтоб проверить  - фиг там, все равно компания на английском.

FallenPhoenix

  • level 2
  • **
  • Сообщений: 127
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Opera 11.64 Opera 11.64
    • Просмотр профиля
  • Раса: Эльф
Re: Локализация
« Ответ #49 : Декабрь 29, 2012, 22:54:03 »
Геттекст я скачал, но так и не смог понять как им пользоваться.
Через командную строку:
po → mo: msgfmt файл.po -o файл.mo
mo → po: msgunfmt файл.mo -o файл.po
Есть и другие опции, но их можешь глянуть, запустив нужную утилиту с ключом --help. Я для удобства ее папку в системную переменную PATH добавил, чтоб можно было откуда угодно юзать, не прописывая полный путь: Свойства "Моего компьютера" → Дополнительно → Переменные среды.

Для правки пошек есть специальные гуевые софтины типа Poedit, но меня лично они в большинстве случаев не устраивают. AkelPad ферева! ;)

А вообще можешь сюды свой перевод выложить - тоже поверчу.

Allin

  • level 0
  • Сообщений: 7
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Chrome 18.0.1025.1634 Chrome 18.0.1025.1634
    • Просмотр профиля
Re: Локализация
« Ответ #50 : Январь 04, 2013, 16:41:30 »
Попробовал конвертнуть в po.
Ошибок не выдает, но результирующий файлик не появляется.


FallenPhoenix

  • level 2
  • **
  • Сообщений: 127
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Opera 11.64 Opera 11.64
    • Просмотр профиля
  • Раса: Эльф
Re: Локализация
« Ответ #51 : Январь 04, 2013, 19:08:04 »
А чего name.mo, а не wesnoth-Bad_Moon_Rising.mo? Да и файлик как-то больно мало весит - скорей всего, пустой и есть.
Кстати гляжу, к твоей "Bad Moon Rising" тут есть po-шка.

Allin

  • level 0
  • Сообщений: 7
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Chrome 18.0.1025.1634 Chrome 18.0.1025.1634
    • Просмотр профиля
Re: Локализация
« Ответ #52 : Январь 04, 2013, 19:30:45 »
Файлик пустой, потому что создан был в попытках экспериментов:)
Решил вопрос. Вот оба файлика. Вроде корректные.

В кампании еще не проверял. Ночью помучаю.

Ну в общем, поскольку корежил другую локализацию, а не с нуля делал, некоторые фразы не переведены, бум продолжать работу :)
« Последнее редактирование: Январь 04, 2013, 19:47:24 от Allin »

FallenPhoenix

  • level 2
  • **
  • Сообщений: 127
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Opera 11.64 Opera 11.64
    • Просмотр профиля
  • Раса: Эльф
Re: Локализация
« Ответ #53 : Январь 04, 2013, 20:07:28 »
Че-то странно у тя получилось.

Во-первых, кавычки внутри текста в po-шках должны экранироваться (\"), и у меня при форматировании в po все норм получилось, а у тебя почему-то нифига. Может, с версией как-то связано - обновил тут на днях свою, тыц.

Во-вторых, msgid у тебя отличаются и от тех, что в тамошней репе под 1.10, и от тех, что что под 1.11. Тоже гляну, как высплюсь, че там за строки в текущей версе аддона под девелоп.

В аттаче результат моего msgunfmt и софтинка для сравнения строковых идентификаторов, которую я когда-то на скорую настрочил для своих нужд.

Allin

  • level 0
  • Сообщений: 7
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Chrome 18.0.1025.1634 Chrome 18.0.1025.1634
    • Просмотр профиля
Re: Локализация
« Ответ #54 : Январь 04, 2013, 20:12:00 »
Ок, это от лени - нефиг было брать другую локализацию.

На самом деле это видимо недоперепиленный венгерский перевод виноват :)

Ниче щас уже в блокноте допилю. Это раньше у меня .po файла не было :) теперь когда я с консолью разобрался, в блокноте все легко поправлю.

За приблуды спасибо!


ЗЫ. Про экранирование уже просек, поправил.
« Последнее редактирование: Январь 04, 2013, 20:13:41 от Allin »

Allin

  • level 0
  • Сообщений: 7
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Chrome 18.0.1025.1634 Chrome 18.0.1025.1634
    • Просмотр профиля
Re: Локализация
« Ответ #55 : Январь 06, 2013, 11:16:44 »
Первый сценарий практически готов.
Но проблемка возникла:
В оригинале есть диалоги, в которых стоят переносы строк.
Так вот, если в msgid копирую тупо оригинал  - msgfmt ругается на незаконченные строки и синтаксическую ошибку.
Если убираю символы конца строки или заменяю на /n, то перевод не цепляется при прохождении, то есть в mo msgid как бы неправильный.

FallenPhoenix

  • level 2
  • **
  • Сообщений: 127
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Opera 11.64 Opera 11.64
    • Просмотр профиля
  • Раса: Эльф
Re: Локализация
« Ответ #56 : Январь 06, 2013, 11:30:07 »
Ну во-первых надо \n, а не /n, а во-вторых ты про что вообще? Готовая пустая po-шка чем-то не устраивает чтоль, которую они выложили? Если да, то для полуручного выдирания msgid можешь попробовать мой скриптик под Акелпад: тыц - просто выделяешь кусок текста в кампании, вызываешь скрипт (можно хоткеем), и он все переводимые строки оттуда выцепляет в новую вкладку, в корректном gettext-формате. А так вообще много кто из создателей аддонов тупит с переводами: не любая _"..." как бэ норм обработается, и тут только самому скрипты фиксить. Но и у самого геттакста порой встречались иные придирки к переносам - тоже можно изменить сами строки в принципе.
« Последнее редактирование: Январь 06, 2013, 11:57:43 от FallenPhoenix »

Allin

  • level 0
  • Сообщений: 7
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Chrome 18.0.1025.1634 Chrome 18.0.1025.1634
    • Просмотр профиля
Re: Локализация
« Ответ #57 : Январь 06, 2013, 12:27:14 »
Ну во-первых надо \n, а не /n, а во-вторых ты про что вообще? Готовая пустая po-шка чем-то не устраивает чтоль, которую они выложили? Если да, то для полуручного выдирания msgid можешь попробовать мой скриптик под Акелпад: тыц - просто выделяешь кусок текста в кампании, вызываешь скрипт (можно хоткеем), и он все переводимые строки оттуда выцепляет в новую вкладку, в корректном gettext-формате. А так вообще много кто из создателей аддонов тупит с переводами: не любая _"..." как бэ норм обработается, и тут только самому скрипты фиксить. Но и у самого геттакста порой встречались иные придирки к переносам - тоже можно изменить сами строки в принципе.
Та не, \n корректные стоят.
Тулзу запробую, но я  в notepad++ работаю, он у мну заточен сильно под вебпрограммирование и я с него давно уже не слезал в другие редакторы. Надо преодолеть стереотипы :)

FallenPhoenix

  • level 2
  • **
  • Сообщений: 127
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Opera 11.64 Opera 11.64
    • Просмотр профиля
  • Раса: Эльф
Re: Локализация
« Ответ #58 : Январь 06, 2013, 13:47:47 »
Учти, там еще разные пробелы и табуляции имеют значение. А в po-шках никаких незакрытых кавычек при переходе на новую строку сырца быть не должно. Разбивать в них строки для удобочитаемости-то сколько угодно можно и msgid, и msgstr, но все должно быть в кавычках и подряд, и на настоящих переводах строки оно никак не отображается - настоящие только через \n. Т.е. возьмем три варианта:

msgstr "Ехал грека через реку"

msgstr "Ехал грека"
" через реку"

msgstr ""
"Ехал грека "
"через реку"

Они все дадут строку Ехал грека через реку, но вот такая штука:

msgstr "Ехал грека\n через реку"

даст:
Ехал грека
 через реку




А Акедпад тебе, может, и для веба только лучше пойдет - тем более, если веб-разработчик, то с явоскриптом уж наверн знаком... На мой взгляд, единственный его серьезный недостаток супротив NP++ это его неумение подсвечивать "многострочные строки" ;D Но в PO-шках это пофиг, их там и быть не может; вот WML - да, все же ощутимо. Зато охренительная гибкость и поддержка скриптов на JS и VBS (посредством WSH), кои можно элементарно встраивать в интерфейс! В добавок, разработчик русский, и форум там соответственно наполовину на русском - устранение языкового барьера как-никак ;)

 
« Последнее редактирование: Январь 06, 2013, 13:49:42 от FallenPhoenix »