DC-SWAT Forum
Требуется помощь знатоков!-русификация и подгонка текста под перерисованный шрифт - Версия для печати

+- DC-SWAT Forum (http://www.dc-swat.ru/forum)
+-- Форум: Sega Dreamcast (/forum-2.html)
+--- Форум: Programming (/forum-8.html)
+--- Тема: Требуется помощь знатоков!-русификация и подгонка текста под перерисованный шрифт (/thread-1442.html)



Требуется помощь знатоков!-русификация и подгонка текста под перерисованный шрифт - вадим - 27.12.2010 15:38

Всем привет
вот решил попробовать перевести какую нибудь игру для DC
Найти в ресурсах игры текст и шрифт не особо сложно,тем более зачастую они лежат в открытом виде
Другое дело как "перекодировать" текст под перерисованный шрифт,дело в том что иногда в текстуре шрифта предусмотрено место только под латинские символы,и приходятся английские буквы перерисовывать на русские для примера посмотрим как перевели игру Incoming
Текстуры шрифта

[Изображение: c1ea4ff67b9f.bmp] [Изображение: 4aa2b7a6f6d9.bmp]
Как можно видеть английские буквы заменены на русские,соответственно в тексте на писать "псевдо транслитом"
Например чтобы перевести опцию "Press START botton" В тексте надо писать HAGMN KHOZKY CTAPT

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

Может кто знает текстовой редактор понимающий скрипты подобного вида
Код:
А A
Б 6
В B
С C
Д D
Е E
Г F
Ж G
Н H
Ь J

Надеюсь на вашу помощь Shy


RE: Требуется помощь знатоков!-русификация и подгонка текста под перерисованный шрифт - SWAT - 27.12.2010 18:56

Такой конвертер можно сделать самому довольно просто.
Как пример можно взять обычный конвертер (допустим на JavaScript) латиницы в кирилицу (и наоборот) и подогнать его под стои нужды, т.е. заменить символы в условиях.


RE: Требуется помощь знатоков!-русификация и подгонка текста под перерисованный шрифт - вадим - 27.12.2010 21:08

Я уж не надеялся что так быстро ответят Shy
Насчет конвертера латиницы в кирилицу,те которые мне попадались "закрытые" то есть все символы забиты в .exe
может подскажешь хороший конвертер для этих нужд


RE: Требуется помощь знатоков!-русификация и подгонка текста под перерисованный шрифт - SWAT - 28.12.2010 06:52

Создай тектовый файл и назови его .html
Вставь в него это содержимое и развлекайся откыв в браузере Smile
Данный скрипт перекодирует кирилицу в латиницу, тебе нужно всего лишь заменить соответствие символов в массиве transChars.

PHP код:
<script>
var 
rusChars = new Array('а','б','в','г','д','е','ё','ж','з','и','й',    'к','л','м',
'н','о','п','р','с','т','у','ф','х','ч    ','ц','ш','щ','э','ю','\я','ы','ъ','ь'' ''\'''\"''\#''\$''\%''\&''\*''\,''\:''\;''\<''\>''\?''\[''\]''\^''\{''\}''\|''\!''\@''\(''\)''\-''\=''\+''\/''\\');
var 
transChars = new Array('a','b','v','g','d','e','jo','zh','z','i','j    ',
'k','l','m','n','o','p','r','s','t','u','f','h',    'ch','c','sh','csh','e','ju','ja','y',''
''' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''');
var 
from "";

function 
convert2EN()
  {
  
from document.getElementById("Message").value;
  
from from.toLowerCase();
  var 
to "";
  var 
len from.length;
  var 
characterisRus;
  for(var 
i=0leni++)
    {
    
character from.charAt(i,1);
    
isRus false;
    for(var 
j=0rusChars.lengthj++)
      {
      if(
character == rusChars[j])
        {
        
isRus true;
        break;
        }
      }
    
to += (isRus) ? transChars[j] : character;
    }
   
document.form1.Message.value to
  }
</script>

<FORM NAME="form1">
<textarea name="Message" id="Message" cols="30" rows="5" class="text"></textarea><br> 
<input type="button" value="Транслит" onclick="convert2EN()">
</FORM> 



RE: Требуется помощь знатоков!-русификация и подгонка текста под перерисованный шрифт - вадим - 28.12.2010 15:46

СпасибоSmile
Не подскажешь как сделать чтобы можно было из транслита обратно в
кириллицу, в идеале хорошо бы чтобы было два окно в одно вводишь текст в другом получаешь результат


RE: Требуется помощь знатоков!-русификация и подгонка текста под перерисованный шрифт - SWAT - 28.12.2010 19:06

Ну держи версию 2 Smile

PHP код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru">
<
head>
<
title>Games translator by SWAT</title>
<
script type="text/javascript">

var 
GameTrans = {};

GameTrans.chars = new Array(
    new Array(
'а','б','в','г','д','е','ё','ж','з','и','й''к','л','м',
            
'н','о','п','р','с','т','у','ф','х','ч','ц','ш','щ','э','ю',
            
'\я','ы','ъ','ь'' ''\'''\"''\#''\$''\%''\&''\*'
            
'\,''\:''\;''\<''\>''\?''\[''\]''\^''\{''\}'
            
'\|''\!''\@''\(''\)''\-''\=''\+''\/''\\'),
            
    new Array(
'a','b','v','g','d','e','jo','zh','z','i','j',
            
'k','l','m','n','o','p','r','s','t','u','f','h'
            
'ch','c','sh','csh','e','ju','ja','y',''
            
''' '''''''''''''''''''''''
            
'''''''''''''''''''''''''''''''''')
);

GameTrans.convert = function(mode) {

    var 
from document.getElementById(mode "TransText" "RusText").value;
    
from from.toLowerCase();
    var 
to ""chisAvaible;

    for(var 
0from.lengthi++) {

        
ch from.charAt(i1);
        
isAvaible false;
        
        for(var 
0this.chars[mode 1].lengthj++) {
            if(
ch == this.chars[mode][j]) {
                
isAvaible true;
                break;
            }
        }
        
        
to += isAvaible this.chars[mode 1][j] : ch;
    }
    
document.getElementById(mode "RusText" "TransText").value to
}
</script>
</head>
<body>
    <form name="transForm">
        <b>Кирилица:</b> <br />
        <textarea id="RusText" cols="30" rows="5"></textarea><br /><br />
        <b>Транслит:</b> <br />
        <textarea id="TransText" cols="30" rows="5"></textarea><br /> 
        <input type="button" value="Транслит" onclick="GameTrans.convert(0)" /> 
        <input type="button" value="Кирилица" onclick="GameTrans.convert(1)" />
    </form>
</body>
</html> 

По идее нужно в список букв добавить еще и в верхнем регистре буквы, после чего убрать строку:

PHP код:
from from.toLowerCase(); 



RE: Требуется помощь знатоков!-русификация и подгонка текста под перерисованный шрифт - вадим - 29.12.2010 07:07

Спасибо Smile
Кстати нашел прогу называется RusTranslit (работает в обе стороны) в ней можно любые варианты таблиц делать Smile


RE: Требуется помощь знатоков!-русификация и подгонка текста под перерисованный шрифт - Василий - 03.01.2011 04:07

Цитата:Например чтобы перевести опцию "Press START botton" В тексте надо писать HAGMN KHOZKY CTAPT
В incomong-то всё очень просто . Весь текст в текстовых файлах лежит .
А как быть с теми играми , где такой халявы нет ? Как найти текст ?


RE: Требуется помощь знатоков!-русификация и подгонка текста под перерисованный шрифт - вадим - 04.01.2011 20:31

Ну в других играх надо ковырять ресурсы, какая игра интересует?,если игра pal региона то там проще искать файлы отвечающий за текст так как там есть либо директории или файлы содержащие например такие название EN ES FR IT.Вот их то и надо изучать


RE: Требуется помощь знатоков!-русификация и подгонка текста под перерисованный шрифт - Василий - 04.01.2011 21:12

Цитата:какая игра интересует?
К примеру возьмём Aerowing 2 , RGR там перевели только меню, хотя в игре непереведённого текста хватает .
список файлов :
http://pastebin.com/Mm2pGyHQ
Шрифт на виду FONT.PVR Притом , он не тонут , как же тогда РГР перевели то ,что перевели ?
Где текст ?


RE: Требуется помощь знатоков!-русификация и подгонка текста под перерисованный шрифт - вадим - 04.01.2011 22:39

Короче надо сами файлы смотреть (посмотри что находится в папки ENG\), если перевели только опции меню то вполне возможно что они (опции) не в виде текста а в виде текстур такое тоже бывает, сейчас вспомнил иногда текст прячут в 1ST_READ.BIN например в игре shenmue 2 название всяких ударов находятся в 1ST_READ.BIN,а в игре skies of arcadia в 1ST_READ.BIN запихнули шрифт

PS.Залей куда нибудь папку ENG с файлами я посмотрю


RE: Требуется помощь знатоков!-русификация и подгонка текста под перерисованный шрифт - Василий - 04.01.2011 23:29

Закинул http://boxstr.net/files/7030421_rvl9h/ENG.zip


RE: Требуется помощь знатоков!-русификация и подгонка текста под перерисованный шрифт - вадим - 05.01.2011 00:23

Посмотрел,текст находимся в STR_DATA.MRG Shy


RE: Требуется помощь знатоков!-русификация и подгонка текста под перерисованный шрифт - Василий - 05.01.2011 00:29

Спасибо , теперь и я его нашёл . Нужно перерисовать шрифт и заменить по принципу в первом сообщении hex редактором . Другие махинаций не надо делать ?


RE: Требуется помощь знатоков!-русификация и подгонка текста под перерисованный шрифт - вадим - 05.01.2011 00:44

Если в шрифте на место английские букв нарисуешь русские то в принципе больше нечего не надо.
кстати не факт что FONT.PVR это и есть шрифт игры например в Alone in the Dark: The New Nightmare тоже лежал FONT.PVR в корне диска одиноко игра использовала другой,проверить можно таким образом перерисуй FONT.PVR,текст не трогай если игра использует FONT.PVR то в игре текст будет не английский а каша из русских символов