[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Локализация
Вторник, 30.09.2014, 14:35 | Сообщение # 1

Ранг
Центурион
Сообщений:
1124
Статус:
Награды:
473
Для начало узнаем, что же такое локализация [кликабельно]. Каждый уважающий Админ желает чем то украсить свой сервер, хотя вы конечно скажите какое отношение имеет локализация к украшению, а я скажу, что самое прямое. Не каждый игрок в совершенстве знает Английский и ему будет на много легче и самое главное приятнее прочитать текст на своем родном языке. 

Все примеры будут на основе баз для эмулятора TrinityCore. Для другие базы я разберу позже, но по сути там все аналогично. Отличия составляют только, в названиях имен таблиц и колонок. Вот набор таблиц в которых осуществляется локализация. 
  • locales_item
 

Эта таблица отвечает за имена и подписи вещей которые может использовать персонаж. 
  • locales_creature
 

Эта таблица отвечает за имена и "гильдии" мобов(NPC) 
  • locales_gossip_menu_option
 

Эта таблица отвечает за диалоговое окно между игроком и NPC 
  • locales_item_set_names
 

Эта таблица отвечает за имена отображаемые в качестве имен комплекта сета( я ей никогда не пользовался) 
  • locales_achievement_reward
 

Эта таблица отвечает за имена наград даваемые после получения достижения 
  • locales_gameobject
 

Эта таблица отвечает за имена игровых объектов 
  • locales_npc_text
 

Эта таблица отвечает за текст воспроизводимый у NPC 
  • locales_page_text
 

Эта таблица отвечает за так называемые "книжки" или другие объекты, которые можно прочитать 
  • locales_points_of_interest
 

Загадочная таблица, мне не известна ее назначение. 
  • locales_quest
 

Эта таблица отвечает за диалоговые окна квеста (описание/цель/награды) 

Структура каждой из таблиц очень похожа и состоит в основном из 1 колонки характеризующую ID (Идентифика́тор) предмета которого так сказать"русифицируем" . И колонок виде name_loc*/description_loc*/subname_loc*/bot_text_loc* и так далее по аналогии. Где "*" это число от 1 до 8. Числа эти обозначают основные языки кодировки. Что какие числа означают можно увидеть ниже: 
  • 1 - Корейский  

  • 2 - Французский  

  • 3 - Немецкий  

  • 4 - Китайский  

  • 5 - Тайваньский  

  • 6 - Испанский  

  • 7 - Латиноамериканский  

  • 8 - Русский
 

В нашем случае интересная колонка для нас будет с номером 8, а именно name_loc8/description_loc8/subname_loc8/bot_text_loc8 и так далее по аналогии. 
Если вы не сильный знаток базы сервера советую вам почитать вот этот источник. По сути в нем расписано тоже самое, что я пытаюсь сейчас донести до вас. Но более подробно и на английском языке, если отсутствие знаний в английском языке вас не пугают милости прошу вас туда. Там вы найдете не мало интересного.

Приведу пример локализации на основе таблицы  locales_item

Эта таблица состоит из 3 типов колонок, как писалось выше колонка entry оно же ID (соответствует реальному предмету, который расположен в таблице item_template), колонка name_loc1-8 и description_loc1-8 . Итак нас интересует колонки  name_loc8 и description_loc8, естественно и entry. И так пример пример локализации выглядит так: 
INSERT INTO `locales_item` ( `entry`, `name_loc8`, `description_loc8`) VALUES 

(ID_вещи*, "Желаемое имя**", "И подпись**");

Примечание: *берется из таблицы item_template; 

** произвольно из любых символов 

Все хорошо, но как загрузить этот файл в базу? Это сделать очень просто, самый простой способ по моему мнению это вставить наш код в обычный текстовый редактор по имени "блокнот" и сохранить с расширением .sql  Зайти в программу и при загрузить файл, выбрав кодировки "windows-1251" если мне не изменяет память. Перезапустить сервер и вуаля, наша вещь имеет русское имя и подпись. 

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

  •  F: Проверьте правильно ли вы указали имена колонок/имя таблицы, почистили ли вы Cache в своем клиенте.
 

  •  Q: В игре у меня какие то каракули, а не буквы.  

  •  F: Возможно вы залили патч не в той кодировке, перезалейте его в правильной, изменив в коде патче INSERT INTO на REPLACE INTO. 




  • Страница 1 из 1
  • 1
Поиск:


immortals
Наверх

copyright 2024 immortals сообщество людей и Warcraft

Мобильная версияЭтот сайт защищен «Site Guard» Мы в Контакте
Les immortals ©2013- 2024.