World of Warcraft



 
 
 
 
 
Король Линч Баннер Король Линч
 
 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Работа с локализацией.
У вас  Дата: Суббота, 07.05.2011, 21:32 | Сообщение # 1
_An[G]el_







         Фракция:Орда
         Сообщений: 43
         Репутация: []
 
         Статус:

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

#добавляем недостающие записи
INSERT IGNORE INTO
`locales_gameobject` (`entry`, `name_loc8`, `castbarcaption_loc8`)
SELECT
`entry`, '', ''
FROM
`gameobject_template`;

#проставляем name_loc8
ALTER TABLE `gameobject_template` ADD INDEX (`name`(100));
ALTER TABLE `gameobject_template` ADD INDEX (`name`(100),`entry`);
ALTER TABLE `locales_gameobject` ADD INDEX (`name_loc8`(100));
ALTER TABLE `locales_gameobject` ADD INDEX (`entry`,`name_loc8`(100));

UPDATE
`gameobject_template`, `locales_gameobject`,
`gameobject_template` AS `gt`, `locales_gameobject` AS `lg`
SET
`locales_gameobject`.`name_loc8`=`lg`.`name_loc8`
WHERE
`locales_gameobject`.`entry`=`gameobject_template`.`entry`
AND `lg`.`entry`=`gt`.`entry`
AND `gameobject_template`.`name`=`gt`.`name`
AND `gameobject_template`.`entry`!=`gt`.`entry`
AND `lg`.`name_loc8`!=`gt`.`name`
AND `lg`.`name_loc8`!=''
AND (`locales_gameobject`.`name_loc8`=`gameobject_template`.`name`
OR `locales_gameobject`.`name_loc8`='');

ALTER TABLE `gameobject_template` DROP INDEX `name`;
ALTER TABLE `gameobject_template` DROP INDEX `name_2`;
ALTER TABLE `locales_gameobject` DROP INDEX `name_loc8`;
ALTER TABLE `locales_gameobject` DROP INDEX `entry`;

#проставляем castbarcaption_loc8
ALTER TABLE `gameobject_template` ADD INDEX (`castBarCaption`(100));
ALTER TABLE `gameobject_template` ADD INDEX (`castBarCaption`(100),`entry`);
ALTER TABLE `locales_gameobject` ADD INDEX (`castbarcaption_loc8`(100));
ALTER TABLE `locales_gameobject` ADD INDEX (`entry`,`castbarcaption_loc8`(100));

UPDATE
`gameobject_template`, `locales_gameobject`,
`gameobject_template` AS `gt`, `locales_gameobject` AS `lg`
SET
`locales_gameobject`.`castbarcaption_loc8`=`lg`.`castbarcaption_loc8`
WHERE
`locales_gameobject`.`entry`=`gameobject_template`. `entry`
AND `lg`.`entry`=`gt`.`entry`
AND `gameobject_template`.`castBarCaption`=`gt`.`castBarCaption`
AND `gameobject_template`.`entry`!=`gt`.`entry`
AND `lg`.`castbarcaption_loc8`!=`gt`.`castBarCaption`
AND `lg`.`castbarcaption_loc8`!=''
AND (`locales_gameobject`.`castbarcaption_loc8`=`gameobject_template`.`castBarCaption`
OR `locales_gameobject`.`castbarcaption_loc8`='');

ALTER TABLE `gameobject_template` DROP INDEX `castBarCaption`;
ALTER TABLE `gameobject_template` DROP INDEX `castBarCaption_2`;
ALTER TABLE `locales_gameobject` DROP INDEX `castbarcaption_loc8`;
ALTER TABLE `locales_gameobject` DROP INDEX `entry`;

#удаляем лишние записи
DELETE
`locales_gameobject`
FROM
`gameobject_template`, `locales_gameobject`
WHERE
`locales_gameobject`.`entry`=`gameobject_template`.`entry`
AND (`locales_gameobject`.`name_loc8`=`gameobject_template`.`name`
OR `locales_gameobject`.`name_loc8`='');

#проверяем недостающие записи
#name_loc8
SELECT
`gt`.`entry`, `gt`.`name`, COUNT(`gt`.`name`) AS `cnt_gt`, `lg`.`name_loc8`, COUNT(`lg`.`name_loc8`) AS `cnt_lg`
FROM
`gameobject_template` AS `gt`
LEFT JOIN
(`locales_gameobject` AS `lg`)
ON
(`lg`.`entry`=`gt`.`entry`)
GROUP BY
`gt`.`name`
HAVING
`cnt_lg`>0
AND `cnt_gt`>`cnt_lg`;

#castbarcaption_loc8
SELECT
`gt`.`entry`, `gt`.`castBarCaption`, COUNT(`gt`.`castBarCaption`) AS `cnt_gt`, `lg`.`castbarcaption_loc8`, COUNT(`lg`.`castbarcaption_loc8`) AS `cnt_lg`
FROM
`gameobject_template` AS `gt`
LEFT JOIN
(`locales_gameobject` AS `lg`)
ON
(`lg`.`entry`=`gt`.`entry`)
GROUP BY
`gt`.`castBarCaption`
HAVING
`cnt_lg`>0
AND `cnt_gt`>`cnt_lg`;


ДеЛай МалО Но КрАсИвО ! КаК Я
ПВП гид для Чернокнижника ( 1ый гидна портале )
 
  • Страница 1 из 1
  • 1
Поиск:

Баннер
 
World-All.net © 2026