PDA

Просмотр полной версии : Запуск чисто китайских программ


Oleg_II
08.01.2008, 19:24
Хочу поделиться с вами интересным способом запуска нелокализованных, не юникодных, чисто китайских программ на компьютере под управлением опереционными системами Windows 2000/XP/2003 с некитайской локалью (я уже понял, что вы ничего не поняли из только что прочитанного :eek:

Возьмем тяжелый случай. На вашем компьютере стоит русский Windows XP и даже есть поддержка китайского языка (вы можете читать и, может быть даже, печатать китайские иероглифы. Теперь вы хотите установить, например, китайский мессенджер QQ (http://www.russiancanton.com/showthread.php?t=5). Задача, надо сказать, нетривиальная, потому что даже если методом тыка вам удастся установить программу, когда вы попытаетесь ее запустить, вы увидите вместо каких-либо надписей только вопросительные знаки ????? Конечно, это можно исправить, если переключить системный язык на китайский (честно сказать, не знаю как поведет себя русский ХР в этой ситуации), но тогда может возникнуть подобная проблема с другими русскими программами, а переключать туда-сюда не очень удобно - каждый раз это действие требует перезагрузки.

Или случай по-легче, но тоже требующий какого-то решения. Китайский друг или подруга дали вам замечательные музыкальные композиции, имена которых написаны иероглифами. Далеко не все компьютерные плееры могут проиграть такие файлы на компьютере с другой системной локалью (я, возможно, и отстал, но не знаю ни одного). А послушать, ну очень хочется :) Можно, конечно, переименовать все файлы латиницей или дать им русские имена...

И вот здесь нам может помочь интересная тулза от Microsoft - AppLocale. С помощью небольшой программки и легкого рег-файла, правым щелчком мыши мы сможем запускать любую программу как будто мы работает в китайском Windows.

Скопируйте содержание в текстовый файл и сохраните его под таким именем locale_context.reg. Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\exefile\shell\Locale Chinese]

[HKEY_CLASSES_ROOT\exefile\shell\Locale Chinese\command]
@="C:\\WINDOWS\\AppPatch\\AppLoc.exe \"%1\" \"/L0804\""До или после установки программы дважды щелкните на этом файле и потом согласитесь внести изменения в реестр. Теперь, если вы щелкните на исполнительном файле программы или ее шорткате правой кнопкой мыши, то у вас в появившемся меню будет пункт Locale Chinese. Выберите его и программа запустится с поддержкой китайских иероглифов в меню или именах файлов.

Данную программу можно скачать бесплатно (http://download.microsoft.com/download/5/6/8/568a8caf-29c4-43ec-a10f-97730f26977e/apploc.msi) на сайте Microsoft, но я рекомедую вам воспользоваться поисковиком Baidu.com (http://www.baidu.com/), чтобы скачать немного исправленную пргограмму (убрана нервирующая заставка при каждом запуске). Если уж совсем не найдете, пишите в личку ;)

Oleg_II
06.02.2008, 18:55
Использование AppLocale для отображения нескольких разных языков.

Итак, AppLocale позволяет запустить программу на другом языке. А что делать, если вы хотите проиграть несколько музыкальных файлов, с названниями на разных языках, например, на английском, русском, китайском, корейском и японском языке с помощью, допустим, Winamp, iTunes или другого музыкального плеера? Как заставить утилиту одновременно отображать несколько разных языков в плеере? Причем, кроме собственно названия композиции файлы могут содержать еще название альбома и другую информацию на разных языках, которую вы хотите видеть во время проигрывания.

В обычных условиях AppLocale может работать только с одния языком (одной кодовой страницей). Это означает, что в нашем случае только файлы с именами на одном языке будут проигрываться нормально, а другие не будут показывать читабельной информации или даже не будут проигрываться вообще. Т.е. надо как-то запустить утилиту, чтобы она поддерживала одновременно несколько языков. Для этого нужно проделать следующее:

Запустите AppLocale и выберите свой музыкальный проигрыватель. Выберите также один из желаемых языков для запуска и создайте ярлык для запуска программы, согласившись всегда запускать ее с помощью AppLocale. Этот ярлык появится в меню "Старт".

Этот ярлык потребуется нам для того, чтобы получить необходимый ключ запуска AppLocale для поддержки выбранного языка. Для этого правой кнопкой мыши щелкните на ярлыке и выберите из контекстного меню пункт "Свойства". В открывшемся окне в поле Target будет примерно следующая запись: C:\WINDOWS\AppPatch\AppLoc.exe “C:\Program Files\Winamp\winamp.exe” “/L0411?

Обратите внимание на последний элемент - “/L0411? Это и есть ключ запуска AppLocale, который симулирует запуск программы в японской версии операционной системы. В зависимости от выбранного для запуска вашего плеера языка этот элемент будет иметь разные значения.

Итак, запомните этот ключ и повторите процедуру создания ярлыков для запуска вашего плеера со всеми нужными вам языками, попутно запоминая, а лучше записывая ключи запуска утилиты для каждого языка.

Теперь удалите все ярлыки кроме одного и в его свойствах в поле Target добавьте через пробел все раннее полученные ключи. У вас должно получиться примерно следующее: C:\WINDOWS\AppPatch\AppLoc.exe “C:\Program Files\Winamp\winamp.exe” “/L0404? “/L0804? “/L0411? “/L0412?

В приведенном выше примере поддерживаются одновременно 4 наиболее популярных восточно-азиатских языка. Ключи запуска представляют следующие языки:

“/L0404? = китайский традиционный
“/L0804? = китайский упрощенный
“/L0411? = японский
“/L0412? = корейский

Oleg_II
06.02.2008, 19:00
Как установить AppLocale на Windows Vista

Хотя последняя версия AppLocale еще не адаптирована для Vista, ее все же можно использовать в этой операционке. Правда, при этом надо ее еще туда установить. Дело в том, что при попытке установки утилиты на Висту, появляется следующая ошибка и последующие сообщения:

"There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel and package vendor."
"Installation Incomplete"
"The installer was interrupted before Microsoft AppLocale could be installed. You need to restart the installer to try again."
"Click “Close” to exit."

Похоже, что проблема установки вызвана политикой безопасности User Account Control. Если выключить User Account Control, то ошибки уже не будет и AppLocale нормально установится.

Есть еще один способ избежать данной ошибки, не выключая UAC и тем самым не беря на себя риск, связанный с этим.

В меню "Старт" выберите и запустите щелчком правой кнопки мыши Command Prompt, а затем в появившемся контекстном меню выберите “Run as Administrator”.
Выберите "Продолжить" когда появится сообщение отUser Account Control.
Перейдите в папку, куда вы поместили инсталлятор apploc.msi.
Наберите на клавиатуре apploc.msi для того, чтобы начать установку.
Установка AppLocale должна пройти успешно.

Oleg_II
06.02.2008, 19:05
Как запустить установку не юникодной программы с помощью AppLocale в Vista

Итак, вам удалось установить утилиту в Висте. Но на этом ваши приключения не закончились: при попытке запустить инсталлятор в Windows Vista появляется следующая ошибка:

"AppLocale was unable to launch the specified application.
Please make sure the application specified is valid.”

Причина данной ошибки в установках безопасности Висты, которые допускают установку программ только пользователями с административными правами на папку Program Files.

Решением может быть или отключение UAC (User Account Control), или запуск AppLocale от имени администратора. Для этого войдите в папку C:\Windows\AppPatch\ используя Windows Explorer, щелкните правой кнопкой мыши на AppLoc.exe выберите Run as Administrator.

Чтобы не делать этого каждый раз при установке новой программы, вы можете выбрать в свойствах файла AppLoc.exe (правый клик на файле и выбор "Свойства") вкладку "Совместимость" и затем щелкнуть на боксе Run this program as an administrator в разделе “Privilege Level”. Подтвердите свои действия после этого, щелкнув на кнопке OK.

Lankavatara
06.02.2008, 20:17
постепенно, постепенно!
а то сразу все орехи раздашь! на сладком нужно экономить :) и выдавать дозированно и частями :)