|
Title: [Russian] Как переводить расы! Post by: Arturius on November 04, 2011, 09:06:53 AM Прежде всего, надо отредактировать код в файле расы.
Откройте файл <ваша_раса>.sp текстовым редактором. Добавьте в функцию public OnPluginStart() следующую строку: Code: LoadTranslations("w3s.race.<Краткое_название_расы>.phrases"); Где <Краткое_название_расы> - имя вашей расы. Например: paladin => w3s.race.paladin.phrases После этого, вам необходимо изменить несколько параметров в public OnWar3LoadRaceOrItemOrdered2() Пример без перевода: Code: thisRaceID=War3_CreateNewRace("Полное_название_расы","Краткое_название_расы"); SKILL_DEFENSIVE=War3_AddRaceSkill(thisRaceID,"Название_скила1","Описание_скила1",false,4); SKILL_OFFENSIVE=War3_AddRaceSkill(thisRaceID,"Название_скила2","Описание_скила2",false,4); SKILL_HEALING=War3_AddRaceSkill(thisRaceID,"Название_скила3","Описание_скила3",false,4); ULT_OVERDRIVE=War3_AddRaceSkill(thisRaceID,"Название_скила4","Описание_скила4",true,4); War3_CreateRaceEnd(thisRaceID); Должно выглядеть так: Quote thisRaceID=War3_CreateNewRaceT("Краткое_название_расы"); SKILL_DEFENSIVE=War3_AddRaceSkillT(thisRaceID,"Название_скила1",false,4); SKILL_OFFENSIVE=War3_AddRaceSkillT(thisRaceID,"Название_скила2",false,4); SKILL_HEALING=War3_AddRaceSkillT(thisRaceID,"Название_скила3",false,4); ULT_OVERDRIVE=War3_AddRaceSkillT(thisRaceID,"Название_скила4",true,4); War3_CreateRaceEnd(thisRaceID); Обратите внимание на литеру Т в конце War3_AddRaceSkill. Только с этой литерой перевод будет работать. Удалите "Полное_название_расы". В нём нет необходимости. "Краткое_название_расы" и "Название_скила" могут содержать только латинские буквы! Вы должны удалить "Описание_скила", т.к. оно будет добавлено позже в файле перевода. "Название_скила" должно быть без пробелов! Готовый к переводу пример: Quote thisRaceID=War3_CreateNewRaceT("paladin"); SKILL_DEFENSIVE=War3_AddRaceSkillT(thisRaceID,"DefensiveAura",false,4); SKILL_OFFENSIVE=War3_AddRaceSkillT(thisRaceID,"OffensiveAura",false,4); SKILL_HEALING=War3_AddRaceSkillT(thisRaceID,"HealingAura",false,4); ULT_OVERDRIVE=War3_AddRaceSkillT(thisRaceID,"AuraOverdrive",true,4); War3_CreateRaceEnd(thisRaceID); Сохраните файл... Теперь создадим текстовой файл и добавим перевод. Пример перевода: Code: "Phrases" { //<shortname>_RaceName "<Краткое_название_расы>_RaceName" { "en" "Полное_название_расы" } //skills: //<shortname>_skill_<SkillNameIdentifier> for the skill name //<shortname>_skill_<SkillNameIdentifier>_desc for the skill description "<Краткое_название_расы>_skill_<Название_скила1>" { "en" "Название скила 1" } "<Краткое_название_расы>_skill_<Название_скила1>_desc" { "en" "Описание скила 1" } "<Краткое_название_расы>_skill_<Название_скила2>" { "en" "Название скила 2" } "<Краткое_название_расы>_skill_<Название_скила2>_desc" { "en" "Описание скила 2" } "<Краткое_название_расы>_skill_<Название_скила3>" { "en" "Название скила 3" } "<Краткое_название_расы>_skill_<Название_скила3>_desc" { "en" "Описание скила 3" } "<Краткое_название_расы>_skill_<Название_скила4>" { "en" "Название скила 4" } "<Краткое_название_расы>_skill_<Название_скила4>_desc" { "en" "Описание скила 4" } } "<Краткое_название_расы>_RaceName" - для имени расы. Например: "paladin_RaceName" "<Краткое_название_расы>_skill_<Название_скила1>" - для названия скила. Например: "paladin_skill_DefensiveAura" "<Краткое_название_расы>_skill_<Название_скила1>_desc" - для описания скила. Например: "paladin_skill_DefensiveAura_desc" Если вы хотите добавить другой язык, замените "en" на ваш язык (например "ru") и переведите названия с описаниями. Как это выглядит: Английский вариант перевода: Code: "Phrases" { //<shortname>_RaceName "paladin_RaceName" { "en" "Paladin[RoC]" } //skills: //<shortname>_skill_<SkillNameIdentifier> for the skill name //<shortname>_skill_<SkillNameIdentifier>_desc for the skill description "paladin_skill_DefensiveAura" { "en" "Defensive Aura" } "paladin_skill_DefensiveAura_desc" { "en" "Give your teammates extra armor." } "paladin_skill_OffensiveAura" { "en" "Offensive Aura" } "paladin_skill_OffensiveAura_desc" { "en" "Give your teammates extra damage." } "paladin_skill_HealingAura" { "en" "Healing Aura" } "paladin_skill_HealingAura_desc" { "en" "Give your teammates passive regeneration." } "paladin_skill_AuraOverdrive" { "en" "Aura Overdrive" } "paladin_skill_AuraOverdrive_desc" { "en" "Activate all auras at once." } } Русский вариант перевода: Code: "Phrases" { //<shortname>_RaceName "paladin_RaceName" { "ru" "Паладин" } //skills: //<shortname>_skill_<SkillNameIdentifier> for the skill name //<shortname>_skill_<SkillNameIdentifier>_desc for the skill description "paladin_skill_DefensiveAura" { "ru" "Защитная аура" } "paladin_skill_DefensiveAura_desc" { "ru" "Уменьшает получаемый союзниками урон. Вы получаете половину эффекта." } "paladin_skill_OffensiveAura" { "ru" "Атакующая Аура" } "paladin_skill_OffensiveAura_desc" { "ru" "Увеличивает урон союзников. Вы получаете половину эффекта." } "paladin_skill_HealingAura" { "ru" "Лечащая Аура" } "paladin_skill_HealingAura_desc" { "ru" "Лечит союзников. Вы получаете половину эффекта." } "paladin_skill_AuraOverdrive" { "ru" "Сверх Аура" } "paladin_skill_AuraOverdrive_desc" { "ru" "Включает одновременно все Ауры. Вы получаете весь эффект." } } Наконец, сохраните свой файл перевода. Если вы переводили на русский, не забудьте, что кодировка должна быть UTF8 - без BOM. Файл перевода должен иметь имя w3s.race.<Краткое_название_расы>.phrases.txt (например: w3s.race.paladin.phrases.txt) Думаю, это всё... Скомпилируйте файл расы, загрузите его на сервер и поместите файл перевода в папку ..translations/ru/ Перевод урока rostex - [How To] Add translation in custom race (http://war3source.com/index.php?topic=672.msg4507#msg4507) Title: Re: [Russian] Как переводить расы! Post by: Ownz on November 04, 2011, 09:20:31 AM please use english characters only for shortname for compatibility reasons. Russian characters sometimes take up more than 1 byte. And sometimes windows fails on special characters.
it would also be great if they could share them after they translated them Title: Re: [Russian] Как переводить расы! Post by: Arturius on November 04, 2011, 11:23:06 AM Thanks! I have corrected the translation of a tutorial and have added your comment.
Title: Re: [Russian] Как переводить расы! Post by: Divix on November 04, 2011, 01:17:45 PM Тогда вот еще перевод артефактов:
1) Открываем артефакт.sp 2) Добавляем в public OnPluginStart() строку LoadTranslations("w3s.item.СокращенноеИмяАртефакта.phrases"); 3) Ищем War3_CreateShopItem изменяем на War3_CreateShopItemT и удаляем то что в первых кавычках вместе с запятой 4) Сохраняем, компилируем артефакт.sp и заливаем в папку с w3s модом файл compiled->артефакт.smx 5) Создаем текстовой документ w3s.item.СокращенноеИмяАртефакта.phrases.txt и вписываем туда следующие: Code: "Phrases" 6) Сохраняем и заливаем w3s.item.СокращенноеИмяАртефакта.phrases.txt в папку addons->sourcemod->translation->ru{ "СокращенноеИмяАртефакта_ItemName" { "ru" "Название как оно будет видно в игре" } "СокращенноеИмяАртефакта_ItemDesc" { "ru" "Описание как оно будет видно в игре" } } Пример прикреплен Примечания: 1) Если public OnPluginStart() нету в артефакт.sp добавьте ее сами перед public OnWar3LoadRaceOrItemOrdered2(num): Code: public OnPluginStart() 2) Сокращенное имя артефакта обязательно должно быть без пробелов и на английском; чтобы узнать/изменить сокращенное имя артефакта найдите фрагмент War3_CreateShopItem, то что в первых кавычках, перед запятой, это полное имя (как видится игрокам в магазине), во вторых, после запятой, это сокращенное имя артефакта{ LoadTranslations("w3s.item.СокращенноеИмяАртефакта.phrases"); } Title: Re: [Russian] Как переводить расы! Post by: alex0310 on November 08, 2011, 05:18:43 AM Я думаю, что данная статья, может пригодиться тому, кто будет это делать в первый раз.
Format Class Functions (SourceMod Scripting) (http://wiki.alliedmods.net/Ru:Format_Class_Functions_%28SourceMod_Scripting%29) ??? Title: Re: [Russian] Как переводить расы! Post by: Divix on December 07, 2011, 12:07:39 PM Важная вещь, очень важная!
СокращенноеИмяАртефакта, Название_скила, Краткое_название_расы должны быть по английски ! Не каких русских букв, они будут отображаться на сервере по русски, но в .sp и в phrases они должны быть строго английскими. |