Перейти к содержимому

DustBlue IPB Skin by CodeGame Networks

Перевод скрипта(локализация)

dayz epoch dayz epoch arma2 arma 2 arma ii arma 2 script перевести скрипт dayz локализация скрипта dayz

  • Закрытая тема Тема закрыта
В этой теме нет ответов

#1 NoNameUltima

NoNameUltima

    Администратор

  • Администраторы
  • 191 сообщений
  • ГородСанкт-Петербург

Отправлено 22 ноября 2014 - 03:56

У вас есть скрипт(или набор скриптов), но он(они) на другом языке? - Не беда.
  • Открываем все скрипты блокнотом++(notepad++)
  • Просматриваем файлы, в которых есть вывод текста(читайте ниже, - как найти вывод текста).
  • Закрываем остальные файлы - где текста нет.
  • Оставшиеся файлы с текстом, переводим в кодировку UTF8 без BOM.(В notepad++ пункт меню - Кодировки\Преобразовать в UTF-8 без BOM).
  • Начинаем перевод.
Как найти в скриптах, где именно идет вывод текста(подсказки, тексты меню и т.п.):

В sqf файлах, ищите слова(привожу основные функции и примеры, для простых функций):
  • cutText - выводит текст по центру экрана
  • cutText ["Для данного объекта, пристыковка не поддерживается.", "PLAIN DOWN"];
  • systemChat - выводит текст в окно чата
  • systemChat ("<АнтиЧит>: Вы нажимаете запрещенную клавишу!");
  • call RE - в серверных скриптах, используется для вывода текста по центру экрана, для всех игроков
  • [nil,nil,rTitleText,"Техника в торговых зонах, будет телепортирована через 2 минуты!", "PLAIN",10] call RE;
  • BIS_fnc_dynamicText - выводит заранее подготовленный текст, в указаных координатах
  • ctrlSetText - вписывает текст или картинку в меню
  • _displayCtrl ctrlSetText "Убито зомби";
В hpp файлах,  смотрите фразы после слова text:
  • text = "Изготовление предметов";
Локализация и добавление языков:

Вы можете просто переводить все сообщения на необходимый язык, напрямую заменяя текст в файлах.
Так же можно создать мультиязыковую поддержку.

Для создания мультиязыковой поддержки:
  • Создайте файл Stringtable.xml в папке Вашей миссии.(Подключать его не надо).
  • В файле впишите(пример файла Stringtable.xml):
<?xml version="1.0" encoding="utf-8" ?>
<Project name="Ultima">
		<Package name="Language">
				<Container name="Welcom">
						<Key ID="Ultima_WM_Welcom">
								<Original>Welcom to server:</Original>
								<English>Welcom to server:</English>
								<Russian>Добро пожаловать на сервер:</Russian>
						</Key>
						<Key ID="Ultima_WM_Admins">
								<Original>Administration:</Original>
								<English>Administration:</English>
								<Russian>Администрация:</Russian>
						</Key>
				</Container>
				<Container name="Map_Markers">
						<Key ID="Ultima_TC_Stary">
								<Original>Trader city - Stary</Original>
								<English>Trader city - Stary</English>
								<Russian>Торговый город - Старый</Russian>
						</Key>
						<Key ID="Ultima_TC_Klen">
								<Original>Trader city - Klen</Original>
								<English>Trader city - Klen</English>
								<Russian>Торговый город - Клен</Russian>
						</Key>
						<Key ID="Ultima_TC_Bash">
								<Original>Trader city - Bash</Original>
								<English>Trader city - Bash</English>
								<Russian>Торговый город - Баш</Russian>
						</Key>
				</Container>
		</Package>
</Project>

Теперь разберемся, что тут есть:
Как видите, сам файл состоит из тегов.

Теги:
  • xml
  • Project
  • Package
Являются стандартными, вверху файла они открываются, и в низу, - закрываются.

Теги:
  • Containter - контейнер блока. Удобно разбивать перевод на блоки - например локализацию названий на карте удобно вынести в отдельный блок, чтобы не путаться в дальнейшем. Хотя всю локализацию можно выполнить внутри одного блока.
  • Key - Ключ с уникальным идентификатором, указывающим на локализацию.
Являются основными тегами, внутри которых указаны языковые вариации текста.

Теги локализации - перевода:
  • Original - если у игрока не выбрана локализация, будет отображен текст из данного тега
  • English - Английский вариант
  • Russian - Русский вариант
  • *Вы можете добавить еще языковые теги - см. на сайте богемии.
Как вставить локализацию в скрипт, вместо простой замены текста(на примере файла выше):

Для примера я взял одну строку из скрипта - Приветствие на сервере:
http://rnrportal.ru/...тимизированное/

Теперь добавим локализацию, для одной из строк:

Было:
,["Администрация сервера: ",["NoNameUltima","Mizantrop666","Djonik"]]
Стало:
,[localize "Ultima_WM_Admins",["NoNameUltima","Mizantrop666","Djonik"]]






Темы с аналогичным тегами dayz, epoch, dayz epoch, arma2, arma 2, arma ii, arma 2 script, перевести скрипт dayz, локализация скрипта dayz

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных