Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Action script 2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=49)
-   -   Ктонить пропер, как юзать Strings Tab ??? (http://www.flasher.ru/forum/showthread.php?t=48978)

netstuff 12.09.2003 14:03

Ктонить пропер, как юзать Strings Tab ???
 
забить перемнные забил - а как вытащить в AS не допираю :(

в хелпе чё-т написано про автоматический экспорт в XML, но не верится мне, что это так тупо ;)

Mage Lord 12.09.2003 14:40

Я покопался малех:

Делаешь текстовое поле. Оставляешь его выделенным (чтобы курсор моргал), дальше открываешь панель Strings. Потом при выделенном текстовом поле набиваешь в поле "ID" либо новый идентификатор (для новой строки), либо уже существующий (для подключения уже набитой). Нажимаешь "Apply" и текст в поле меняется на вбитый в панели Strings, причем в колонке, соответствующей значению Stage Language. То есть меняя значение Stage Language ты можешь посмотреть как будет выглядеть текст в разных локалях.
Далее. Сохрани где-нибудь сам файл и скомпили.
Теперь в каталоге с файлом появилось несколько подкаталогов (по количеству языков) типа "en", "de", "ru" и т.п.

В каждом каталоге лежит XML'ина с содержимым соответствующей колонки панели Strings. Например:

Код:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE xliff PUBLIC "-//XLIFF//DTD XLIFF//EN"

"http://www.oasis-open.org/committees/xliff/documents/xliff.dtd" >

<xliff version="1.0" xml:lang="ru">

  <file datatype="plaintext" original="Untitled-1.swf" source-language="EN">
    <header></header>
    <body>
      <trans-unit id="001" resname="IDS_STR1">
        <source>Russian</source>
      </trans-unit>
    </body>
  </file>

</xliff>

Далее, как я понимаю, при запуске выполняется код определения локали машины и при загрузке флешины грузится соответствующий этой локали XML...
:cool:

Mage Lord 12.09.2003 14:48

Как я понимаю скрипт определения языка вызывается отсюда:

Код:

  Variable _global.mx = [object #1, class 'Object'] {
    lang:[object #2, class 'Object'] {
      Locale:[function 'Locale']
    }
  }

Исходник соответствующего класса лежит здесь:
Macromedia\Flash MX 2004\en\First Run\Classes\mx\lang

И вот еще что. Для того, чтобы проверить как будет смотреться файл в уже скомпилированном виде в различных языках - нужно в панели Strings -> Settings изменить значение в меню Select Default Language и снять галку с Insert Actionscript for automatic language detection

Внутри языковых XML'ин все хранится в UTF-8, так что он свободно тянет не только русский, но даже японский. Я проверял. :D

Неудобно то, что я не нашел, как посмотреть, какая строка Strings с каким полем ассоциируется. По крайней мере пока не нашел. А, не, вру. Нашел. При открытой панели Strings если выделить текстовое поле, то соответствущий ему идентификатор строки появится в поле ID. В поле текст, естественно, появится текущее значение в соответствии со Stage Language.

:cool:


Часовой пояс GMT +4, время: 03:57.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.