s75.siemens-club.org - Всё о Siemens S75
   вторник, 6 января, 2009 <  |  > Письмо Webmasterу  Домой 
   
Новости
 
   О телефоне
 
   Азбука
 
   Руководство
 
   Прошивки
 
   Патчи
 
   Содержимое S75
 
   Программы
 
   Форум
 

Общая структура языкового пакета

С замечаниями и дополнениями avkiev


Теперь попробую разъяснить основные принципы структуры ЯП. Рассмотрим все на примере телефона CX70.

Итак, у Вас есть ЯП в виде текстового файла размером... для S75 почти 9 мегабайт. Процесс перевода строк ЯП достаточно несложный, но очень длительный.

Процесс перевода

Прежде всего Вам понадобится текстовый редактор с поддержкой Юникода (Unicode BOM).

Можна воспользоваться обычным Microsoft Word или OpenOffice.org Writer, но я бы советовал использовать меньшую и более приспособленную для этого программу. Простой и быстрый редактор текста вроде Notepad2 или Notepad++ - у них есть подсветка синтаксиса, что облегчает работу и позволяет легче ориентироваться в тексте с большим количеством тэгов.

Заглавная информация ЯП

Первое, с чем Вы столкнетесь при открытии ЯП в текстовом редакторе - это заглавная информация.

Header info - информация, которая влияет на весь языковый пакет. Она содержит основные данные обо всем ЯП.

Полный заголовок выглядит так:

;
; Header info
;
PhoneType S75_47, 1640000, 2C0000
;AllLangs 11
;MaxMsgId 19759
LgPackId lg91

PhoneType S75_47, 1640000, 2C0000
PhoneType - константа.
S75 - модель телефона.
47 - версия прошивки.
1640000 - адрес местонахождения ЯП в FullFlash в 16-ричном (НЕХ) формате.
2C0000 - полный размер ЯП в 16-ричном (НЕХ) формате.

В ранних моделях (до х60) после этих данных могут быть дополнительные данные (например: PhoneType S35, 390000, 3BC00,6,8,a,0,c,e,10,14,0,2a,24,1668,7ff70,53). Что они означают я лично не знаю :(

;AllLangs 11
11 - количество языков в ЯП.

;MaxMsgId 19759
19759 - количество языковых строк в ЯП для каждого языка.

Именно такое количество строк придется переводить, если Вы возьметесь за перевод телефона.

Строки, которые начинаются с ";" - игнорируются. Они приводятся только для информации. Поэтому что либо в них менять - бессмысленно, AllLangs и MaxMsgId вычисляются автоматически.

LgPackId lg91
lg91 - тип ЯП.

О том, какие языки содержат разные типы ЯП, можно прочитать здесь.

Некоторые строки заглавной информации ЯП могут быть закомментированы (стоит ; в начале строки). Пусть все остается таким, как есть - не советую здесь ничего менять.

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

Отдельные языки

Полный блок текстовых строк для каждого языка начинается с этого:

;
;
; Language data
;
LangId 12

Единственное, что в этих строках меняется - это LangId. В одном ЯП не может быть более одного языка с определенным LangId.

LangId для каждого языка свой.

Примечение от avkiev:

То, что я накопал для NewSGold:
1:  "ar"
3:  "pt-br"
4:  "ca"
A:  "da"
B:  "nl"
C:  "en"
E:  "et"
11: "fr"
13: "de"
14: "el"
19: "it"
1A: "lv"
1B: "lt"
1F: "pl"
20: "pt"
21: "ro"
22: "ru"
24: "sk"
26: "es"
28: "sv"
2C: "tr"
2D: "uk"

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

Если язык является последним в ЯП, тогда после последней строки этого языка должна быть одна пустая строка ("Enter").

Дальше начинаются непосредственно текстовые строки интерфейса, которые и нужно переводить.

String $0, "Country"

String - неизменное начало каждой языковой строки.

$0 - номер языковой строки. Нeмерация начинается с нуля (первая строка - 0; вторfz - 1; третmz - 2 и т.д.).
Нeмерация строк может быть в десятичном [0, 1, 2, 3 ... 10, 11 ...] или 16-ричном (HEX) [$0, $1, $2, $3 ... $A, $B ...] формате. О 16-ричном формате нумерации свидетельствует символ "$" перед номером строки.
Siemens Language Editor 1.4 распаковывает ЯП как с 10-тичной, так и с 16-ричной нумерациею строк, но программа не работает с телефонами, которые новее х55.

"Country" - сама текстовая строка. Она начинается открытиям кавычек и обязательно должна заканчиваться их закрытием.

  Хостинг предоставлен Siemens Club - все для Сименс
Украинский Клуб любителей Lacetti            Siemens Club - мобильные телефоны Сименс