Добро пожаловать Гость, Вы в разделе: Вход

Энциклопедия по редактору Arma, Arma 2, Arma 3 и Operation Flashpoint

VKRSSRSS
На главную

Навигация


Искать в энциклопедии:
»


Важная информация




Сайт управляется

Учебник по написанию скриптов
Изображение



Учебник по созданию роликов


Изображение



Наши партнеры



ArmA 3, ArmA 2 news Russian community, SARMAT community
==

Stringtable.xml

Stringtable (от англ. String tables - таблица строк) - применяется для упрощения интернационализации игры. Файл используется в аддонах, миссиях, скриптах и расположен в папке с миссией или папке аддона.

Любой текст, который используется в игре, может быть отделен от скриптового кода, поэтому его легко редактировать и переводить на другие языки. Вместо использования текста прямо в коде, вы заменяете его на переменную. Эта переменная  содержит необходимую строку, которая расположена в stringtable.xml и выбирает тот язык, который выставлен в игровых настройках.

Пример:
?xml version="1.0" encoding="utf-8" ?>
<Project name="Any Name">
<Package name="Mission One">
  <Container name="Some Words">
   <Key ID="str_myTag_Yes">
    <Original>yes</Original>
    <English>yes</English>
    <Czech>ano</Czech>
    <French>oui</French>
    <German>ja</German>
    <Italian>sì</Italian>
    <Polish>tak</Polish>
    <Portuguese>sim</Portuguese>
    <Russian>да</Russian>
    <Spanish>sí</Spanish>
   </Key>
   <Key ID="str_myTag_No">
    <Original>no</Original>
   </Key>
  </Container>
  <Container name="Another Container">
   <Key ID="str_myTag_another_key">
    <Original></Original>
   </Key>
   <Key ID="str_myTag_formatted">
    <Original>Hello, %1.</Original>
   </Key>
   <Key ID="str_myTag_structured">
    <Original>Some text &lt;t color='%1'&gt;%2&lt;/t&gt;</Original>
   </Key>
  </Container>
</Package>
</Project>

  • Замените myTag в str_myTag_someKey на ваш тэг  или любой другой отличительный символ;  конфликтация строк аддона или миссии приведет к возможным неполадкам в игре.
  • Название таких блоков, как Package и container  играет исключительно организационную роль; используйте их разумно.

Stringtable.xml можно сохранить в кодировке UTF-8 для отображения интернациональных символов.


Применение

Скрипты

На строку из документа можно ссылаться в скриптах при помощи команды localize:

hint ( localize "str_myTag_Yes" );

"Marker1" setMarkerTextLocal localize "str_myTag_SiezeTheTown";

hint format [ localize "str_myTag_formatted", "Dave" ]; // "Hello, Dave."

// str_myTag_formatted:  <Original>Hello, %1.</Original>

Description.ext

Значение строки можно использоват ьв файле конфигурации Description.ext, следующим образом : $STR_myTag_keyName без кавычек:

onLoadName = $STR_myTag_missionName;
onLoadMission = $STR_myTag_loadMissionText;
overviewText = $STR_myTag_overviewText;
overviewPicture = $STR_myTag_overviewImage;

Диалоги

При помощи  Description.ext, процессор предварительной обработки заменит значения в файле конфигурации, если название  имеет правильный формат (см. выше):

class RscText_1012: RscText
  {
   idc = 1012;
   text = $STR_myTag_someLabelText;
   tooltip = $STR_myTag_someTip;
  ...

CfgRadio

Stringtables используется для хранения предложений для звуковых файлов и радио переговоров в блоке CfgRadio,находящийся в Description.ext:

class CfgRadio
{
sounds[] = {};
class RadioMsg1
{
  name = "";
  sound[] = {$STR_myTag_sound_RadioMsg1, db-100, 1.0};
  title = $STR_myTag_RadioMsg1;
};
};
// str_myTag_sound_RadioMsg1: <English>\sound\radiomsg1_en.ogg</English>
//    <Czech>\sound\radiomsg1_cz.ogg</Czech>
// str_myTag_RadioMsg1:  <English>I am ready for your orders.</English>

Сетевой режим

Название строки можно передать всем клиентам для вывода требуемого текста: 

str_myTag_teamKillers: <English>&lt;t color='#dd1111'&gt;Team Killing is NOT Tolerated&lt;/t&gt;&lt;/ br&gt; and will result in a Permanent Ban!</English>

// Сервер
if ( isServer ) then {
["str_myTag_teamKillers","TAG_fnc_localHint"] call BIS_fnc_MP;
};

// Клиент
TAG_fnc_localHint = {
if ( ! isDedicated ) then {
  hintSilent parseText (localize _this);
};
};

Поддерживаемые языки

Arma 3

English, Czech, French, Spanish, Italian, Polish, Portuguese, Russian, German

Arma 2 OA

English, Czech, French, Spanish, Italian
Две колонки
О нас
SunHorizon Wiki версия 1.0.2.17.
© 2013-2014 SUNHORIZON.INFO.Все права сохранены.
В проекте использованы изображения FamFamFam
Связь с нами
Изображение
Правила сайта
Изображение

Авторские права
Изображение