Мультиязыковая поддержка (Multiple Language Support)
Содержание
Этот рецепт разъясняет, как добавить поддержку нескольких языков в игре, созданной на движке Ren’Py. Такая поддержка позволяет изменять шрифты и меню переводов в зависимости от выбранного пользователем языка. Также мы предложим две стратегии перевода текста в игре.
Выбор языка по-умолчанию (Selecting a Default Language) [ править ]
Следующий код будет определять язык, используемый в игре по умолчанию. Этот язык будет использоваться для отображения меню выбора языка при старте движка.
Этот код установит язык по-умолчанию, обозначенный как english. Он также хранит текущий выбор языка вне зависимости от того, какое значение содержится в переменной lang, поэтому она может получить доступ к коду блока инициализации.
Меню выбора языка (Language Chooser) [ править ]
Это меню позволяет пользователю выбрать язык перевода. Ниже представлен код простого меню, в котором каждый его пункт устанавливает для переменной persistent.lang соответствующее значение для выбираемого языка. Указанный код отображает меню, затем перезагружает движок и перезапускает блок инициализации.
Заметьте, что это просто обычный Ren’Py код, и поэтому здесь допустимо изменять команду scene для отображения другого изображения.
Так как, мы хотим, чтобы пользователь мог изменять язык из главного меню, мы добавим пункт меню в выражение config.main_menu:
Наконец, мы можем захотеть автоматически отобразить меню выбора языка при запуске игры. Это можно сделать с помощью условного прыжка к метке language_chooser из splashscreen, используя следующий код:
Инициализация, зависящая от выбранного языка (Language-Dependent Initialization) [ править ]
Переменная lang может быть использована во время инициализации для изменения стилей, изображений, конфигурационных переменных и прочих настроек в соответствии с выбранным языком.
Такой трюк может быть использован внутри блоков init python:
Он также может быть применен внутри блоков инициализации для переопределения изображений:
Процесс перевода текста скрипта (Translating the Script) [ править ]
Здесь представлено два подхода к переводу текста скрипта:
Первый подход предполагает наличие собственного блока для каждого используемого языка, в то время как второй прямо противоположен первому.
Перевод методом Multi-path (Multi-Path Translation) [ править ]
Ключевым в переводе таким методом является ответвление основного текста на блоки, переведенные на соответствующие языки, имеющие каждый уникальную метку. Такое разделение лучше всего сделать в операторе start, который может выглядеть так:
Ограничение данного метода заключается в том, что с его помощью невозможно загрузить сохранения игры в различных языках. Для обхода этого ограничения, мы сохраняем значение переменной lang в переменной game_lang при запуске новой игры. Затем, используя служебную метку after_load, мы проходим проверку соответствия языков и сообщаем ошибку, если они не совпадают.
Перевод методом In-Line (In-line translation) [ править ]
Этот метод реализовывается путем определения персонажей, при отображении текста на экране, только в том случае, если выбран данный язык.
Текст скрипта подается строками переведенного текста для каждого используемого языка:
Расписанный метод поддерживает переключение языков. Недостатком является существенная необходимость прописывать строку текста в скрипте для каждого персонажа всех используемых языков.
Кто был? Фокусник, Shadowman, demonej7, XRund, День Рождения у: Глядач (68)
—>
ПО ЖЕЛАНИЮ, ПОМОЧЬ САЙТУ, ВЫ МОЖЕТЕ ЧЕРЕЗ ПОЖЕРТВОВАНИЕ ЛЮБОЙ СУММЫ.
ВЫ МОЖЕТЕ ВОСПОЛЬЗОВАТЬСЯ
Статьи: Общие [97]
Статьи: Windows Vista [225]
Статьи: Windows 7 [430]
Статьи: Windows 8 [33]
Статьи: Windows 10 [332]
Статьи: Медицина и Здоровье [163]
Статьи: Психология, Семья, Отношения [160]
Статьи: Наука и Искусство [35]
Статьи: Безопасность [10]
Статьи: Офис 2010 [125]
Статьи: Офис 2007 [9]
Статьи: Тестирование железа [4]
Статьи: Exchange Server 2010 [103]
Статьи: Photoshop [76]
Статьи: Corel Draw [2]
Статьи: История и Политика [5]
Статьи: Реестр Windows [1]
Поддержка MUI (Multilingual User Interface — англ. «многоязычный пользовательский интерфейс») появилась еще в Windows XP, но тогда она не получила широкого распространения, поскольку система переводилась, что называется «в лоб»: локализации подвергались сами системные файлы, и MUI был неким дополнением, по сути, ненужным большинству пользователей. С приходом Windows Vista ситуация изменилась: теперь библиотеки, программы и прочие компоненты, требующие перевода, локализуются исключительно при помощи MUI-файлов, содержащих все ресурсы, которые в Microsoft посчитали нужным локализовать. Они входят в состав LP (Language Packs — англ. «языковые пакеты»), которые можно бесплатно скачать через службу Windows Update. Поэтому в Windows Vista и новой Windows 7 LP-пакеты составляют более 95% пользовательского интерфейса, а еще их можно установить в таком количестве, которое позволит ваш жесткий диск.
Все бы хорошо, но поддержку смены языков локализации в уже установленной системе корпорация Microsoft включила только в редакции Enterprise и Ultimate. Это значит, что если у вас установлена, например, Windows 7 Professional, то, однажды установив ее, вы уже не сможете изменить язык интерфейса, не переустановив систему «начисто». Конечно, если вы купили русский дистрибутив и не собираетесь экспериментировать с языками, вам это не нужно. Но что делать, если вы на первых порах приобрели английскую версию, а теперь хотите работать с родным языком?
В Windows Vista для этого требовалось буквально «плясать с бубном», подменяя системные файлы. В Windows 7 же для этого есть средство DISM (Deployment Image Servicing and Management tool — англ. «средство обслуживания и управления распространяемым образом»), запускаемое из командной строки (т.е. консольное). Оно позволяет работать с пакетами интерактивных образов (offline images) системы, из которых, собственно, и устанавливается Windows 7, а также с уже работающей системой.
Примечание: выполняйте данные операции на свой страх и риск, поскольку они могут привести к неработоспособности системы.
Что нам нужно? Для проведения операции нам понадобятся всего две вещи:
В своем примере я буду устанавливать русский языковой пакет на английскую версию Windows 7 Home Premium. Я буду использовать 32-разрядную версию системы, однако в данном процессе разницы между 32- и 64-разрядными версиями системы нет.
Процесс установки Если запустить панель управления Windows 7 Home Premium, то мы увидим следующую картинку:
Я специально выделил пункт Clock, Language, and Region красным прямоугольником, чтобы показать отсутствие среди предлагаемых задач пункта Install or Remove display languages (Установка или удаление языков отображения). Таким образом, мы еще раз убеждаемся в том, что смена LP-пакетов в этой редакции Windows 7 недоступна.
Дальше нам понадобится среда Windows PE (Preinstallation Environment — англ. «среда предустановки» — в ней, например, проходит установка Windows, если компьютер загружен с дистрибутива системы). Чтобы ее запустить, нужно добраться до параметров загрузки Windows 7. Для этого при загрузке системы вызываем Boot Manager (Диспетчер загрузки), нажимая клавишу F8 после экранов BIOS, но до появления загрузочного экрана системы. Когда на экране отобразится список установленных систем (скорее всего, там будет лишь пункт Windows 7), нужно еще раз нажать клавишу F8, и в появившемся на этот раз списке вариантов загрузки (Advanced Boot Options) выбрать первый — Repair Your Computer (Устранение неполадок компьютера).
После того, как Windows PE будет загружена, мы увидим небольшое окошко с заголовком System Recovery Options (Параметры восстановления системы). Это загрузилась программа-приглашение, выводящая список инструментов, которые в иной раз помогут восстановить работоспособность системы после сбоя, но сейчас нам эти инструменты не нужны. Тем не менее, данная программа нам еще понадобится.
Поскольку средство DISM является консольным, выполнять все операции мы будем в командной строке. Чтобы открыть консольное окно, нажмите кнопку Next в окне программы-приглашения, введите свои учетные данные в Windows 7 и в появившемся окне со списком инструментов выберите командную строку (Command Prompt). Вы увидите стандартную командную строку Windows с ее приглашением.
В Windows PE все диски могут быть обозначены со сдвигом на одну букву (т.е. диск C: в Windows 7 будет диском D: в Windows PE, и т.д.). Это происходит тогда, когда Windows 7 устанавливается на неразмеченное пространство на жестком диске. В этом случае система создает свой загрузчик на отдельном разделе, размер его порядка 100 МБ. Поэтому перед тем, как начать работу с DISM, проверьте, на каком именно разделе, по мнению Windows PE, установлена ваша система. Для этого последовательно выполняйте команды : и dir. Когда вы увидите нужную структуру папок, запомните букву этого диска и вернитесь на раздел Windows PE командой X:. В моем примере это диск D:.
Теперь работать будет DISM. Я привожу последовательный алгоритм команд, выполнив которые, вы получите локализованную версию вашей Windows 7:
1. dism /image:D: /Get-Packages После выполнения этой команды DISM покажет список пакетов, установленных в системе. Прокрутите этот список вверх до тех пор, пока не увидите строку, содержащую Client-LanguagePack. Имя этого пакета нам понадобится в следующем шаге, поэтому запомните его.
2. Этот шаг нужен только тем, кто собирается использовать лишь новый язык. По сути, на этом шаге мы просто освобождаем жесткий диск от ненужных более файлов «старого» языка. При желании предыдущий язык можно вернуть тем же способом. Если вы не хотите удалять старый язык, переходите сразу к шагу 3.
Итак, если вы решили удалить «старый» язык, выполните команду:
Под подразумевается имя того пакета, который мы запомнили на предыдущем шаге. Например, в моем случае это Microsoft-Windows-Client-LanguagePack-Package
6.1.7600.16385. После запуска этой команды DISM покажет прогресс в процентах. На выполнение этой операции уйдет несколько минут, после чего вы увидите сообщение The operation completed successfully и обычное приглашение командной строки:
3. Теперь мы переходим к основной части процесса — непосредственно установке нашего языкового пакета в систему. Чтобы DISM начал установку, просто выполните следующую команду:
Этот процесс практически ничем не отличается от предыдущего (удаления пакета), однако он занимает немного больше времени. Просто подождите, пока пакет будет установлен, и на экране появится все то же сообщение The operation completed successfully и приглашение командной строки:
4. Этот шаг крайне важен. Если его пропустить, то у тех, кто удалил «старый» язык, система не будет загружаться. Несмотря на особую важность, суть этого шага весьма проста: сообщить системе, что наш «новый» язык является основным и его нужно использовать. Для этого выполним команду:
dism /image:D: /Set-SKUIntlDefaults:
Под кодом языка здесь подразумевается сокращение вида «2 буквы — дефис — 2 буквы». Например, для английского языка это en-US, а для моего случая — русского языка — кодом будет ru-RU. На самом деле, этот код можно «подсмотреть» в имени языкового пакета, который мы устанавливали на предыдущем шаге.
Проверить языковые параметры можно командой dism /image:D: /Get-Intl. Если напротив строки Default system UI language: указан код вашего языка, можно смело перезагружать компьютер.
Дополнительная обработка После перезагрузки вас вначале ждет не совсем приятная картина. Если вы не удаляли «старый» язык, то загрузочный экран Windows 7 и менеджер загрузки (вызывается клавишей F8 перед загрузкой Windows, или же показывается автоматически, если на компьютере установлено несколько ОС) останутся на старом языке (в моем случае — на английском). Если же вы удалили предыдущий язык, то ситуация еще хуже: после перезагрузки вы увидите загрузочный экран Windows Vista, то есть зеленую полосу загрузки!
В этом нет ничего страшного, просто наши действия по установке языкового пакета требуют пост-обработки. Открываем командную строку с правами администратора (на этот раз уже из загруженной Windows 7) и вводим следующую команду:
здесь тот же самый, что и при работе с DISM, то есть, в моем случае, ru-RU. Таким образом, мы указали загрузчику, ресурсы какого языка нужно использовать при загрузке системы. Если вы хотите, вы можете также выполнить команду:
Она таким же образом изменит язык диспетчера загрузки на ваш «новый».
Наслаждайтесь локализованной версией Windows 7!
Вместо заключения Как видно, способ установить LP-пакет на неподдерживаемую редакцию Windows 7 довольно прост и не требует изменения системных файлов, и для его осуществления используется средство, включенное в состав операционной системы.
После прочтения материала » Маленькие хитрости: Как сменить язык интерфейса в неподдерживаемой версии Windows 7 «, можно просмотреть форум и поискать темы по данной игре.
html-cсылка на публикацию
BB-cсылка на публикацию
Прямая ссылка на публикацию
Внимание: Все ссылки и не относящиеся к теме комментарии будут удаляться. Для ссылок есть форум.
Интерфейс программного комплекса 1С может отображать информацию на разных языках. Это облегчает работу с платформой тем жителям страны, которые «русским» не владеют. Региональные установки программируются на этапе разработки комплекта, и пользователю остаётся лишь выбрать подходящий набор функций, чтобы данные в формах программы были переведены на нужный язык.
Случается и так, что приложение изначально поддерживает исключительно один язык интерфейса.
Для просмотра настроек нужно запустить 1С в режиме Конфигурации. Напротив записи «Основной язык» стоит значение.
Если нажать на кнопку с тремя точками, откроется меню выбора параметра и в нём только один вариант.
Таким образом, язык программы поменять в дальнейшем не получится.
Установка языка в 1С
Обычно платформа поддерживает только два значения: Английский и Русский. Это можно видеть в окне установки программы. Остальные доступные варианты отмечены крестиком.
Если в процессе настройки данной функции были внесены неправильные значения, то при активации программы некоторые пункты меню или данные в формах могут быть на английском, а другие – на русском.
Следует понять, как исправить эту ошибку, ведь пользоваться комплексом в таком виде весьма затруднительно.
Внесение коррективов в процесс установки
Чтобы запустить процедуру повторной инсталляции следует в Панели Управления Windows найти в разделе «Программы и компоненты» запись типа «1С: Предприятие» и выделить её кнопкой мыши. После этого нужно нажать на «Изменить».
Появится окно, предлагающее пользователю способы управления. Нужно выбрать вкладку ИЗМЕНИТЬ, активировав её правой клавишей указателя.
В главном окне выбора компонентов нам нужен раздел «Интерфейсы на различных языках». Он открывается щелчком мыши.
Потребуется выбрать один из отмеченных крестиком языков, и установить его в систему.
Далее приложение предложит пользователю выбрать язык интерфейса. Параметр «Системные установки» берёт значения из региональных настроек системы.
Нажимаем кнопку «Далее» и попадаем в окно завершения установки. После этого нужно запустить программу для контрольной проверки. Как видно на рисунке, все пункты переведены на русский язык.
Входим в любой выбранный документ и убеждаемся, что настройки были применены правильно.
Вспомогательный метод изменения языка в 1С
В окне запуска программы нажимаем кнопку «Изменить».
При редактировании настроек нужно изменить пункт «Дополнительные параметры запуска»: дописать код \Lru. Это пригодится, если комплекс работает на разных ПК и требуются индивидуальные установки для каждой из систем.
Коды для выбора других значений:
Изменение параметров запуска в файле конфигурации – conf.cfg
Для этого понадобится найти файл с названием conf.cfg, который находится в разделе с установленной программой (путь bin\conf).
Его можно изменить при помощи блокнота. Достаточно внести свои значения в параметр SystemLanguage.
Каждый из вышеуказанных кодов подходит. Значение system служит для того, чтобы интерфейса 1С менялся в соответствии с настройками Windows. Потребуется сохранить файл.
Установленное значение автоматически применится для всех компонентов, привязанных к платформе.
Установка языка интерфейса под определенного пользователя
В режиме конфигурационного запуска приложения следует найти всех потребителей системы посредством раздела «Администрирование-Пользователи».
В окне со списком, в правой его части, нужно выбрать определённую запись и в меню выбора языка установить значение.
Региональные настройки программы 1С
Во время работы с информационными базами (при активации новой или загрузке уже готовой ИБ) можно изменить региональные параметры.
При добавлении группы в разделе «Язык (Страна)» нужно выбрать из списка подходящее значение.
Если требуется подстроить параметры для каждой из баз данных, нужно в окне редактирования ИБ в разделе «Дополнительные параметры» внести запись \VL перед языковым кодом.
Изменение языка в веб-браузере
Если система 1С поддерживает установку дополнительных языков, то вышеописанных методов будет вполне достаточно для редактирования настроек. Пользователь может в любой момент изменить язык программы.