Page 1 of 1

Russian translation

Posted: Sat Aug 03, 2013 7:37 am
by Skipper95
Hi! I made a Russian localization for Census+.

I don't know where I should write about it, so, i writing here.

For localization.lua

Code: Select all

if ( GetLocale() == "ruRU" ) then


CENSUSPlus_MSG1             = " Загружено - введите /censusplus или /census для справки";
CENSUSPlus_UPLOAD           = "Убедитесь, что вы загрузили данные CensusPlus на www.WarcraftRealms.com!";
CENSUSPlus_PAUSE            = "Пауза";
CENSUSPlus_UNPAUSE          = "Продолжить";
CENSUSPlus_STOP             = "Остановить";

CENSUSPlus_PRUNE			= "Сократить";
CENSUSPlus_PRUNECENSUS		= "Уменьшить базу данных, удалив персонажей, которые не заходили в сеть более 30 дней.";
CENSUSPlus_PRUNEINFO		= "Удалено %d персонажей(а).";
CENSUSPlus_PURGEDATABASE    = "Полностью очистить базу данных";
CENSUSPlus_PURGE            = "Очистить";
CENSUSPlus_PURGEMSG         = "База данных персонажей очищена.";
CENSUSPlus_PURGE_LOCAL_CONFIRM = "Вы уверены, что хотите полностью очистить базу данных?";

CENSUSPlus_TAKECENSUS       = "Провести полную перепись игроков, \nнаходищихся в сети на этом сервере \nи в этой фракции";
CENSUSPlus_PAUSECENSUS      = "Приостановить текущее сканирование";
CENSUSPlus_UNPAUSECENSUS    = "Продолжить текущее сканирование";
CENSUSPlus_STOPCENSUS       = "Прервать текущее сканирование";
CENSUSPlus_ISINPROGRESS     = "Идет сканирование, попробуйте позже";
CENSUSPlus_TAKINGONLINE     = "Запущена полная перепись игроков, находящихся в сети...";
CENSUSPlus_NOCENSUS         = "Сканирование не запущено";
CENSUSPlus_NOTINFACTION     = "Вы нейтрал - сканирование невозможно"; 
CENSUSPlus_FINISHED         = "Окончание получения данных. Найдено %s новых персонажей(а), видимых %s. Работа заняла %s.";
CENSUSPlus_TOOMANY          = "ВНИМАНИЕ: Слишком много совпадений по запросу: %s";

CENSUSPlus_WAITING          = "Ожидание отправки запроса Кто...";
CENSUSPlus_SENDING          = "Отправка /who %s";
CensusPlus_WHOQUERY			= "Запрос Кто:"
CensusPlus_FOUND					= "найдено"
CENSUSPlus_PROCESSING       = "Обрабатываются %s персонажей(а).";
CENSUSPlus_REALMNAME        = "Мир: %s";
CENSUSPlus_REALMUNKNOWN     = "Мир: неизвестно";
CENSUSPlus_FACTION          = "Фракция: %s";
CENSUSPlus_FACTIONUNKNOWN   = "Фракция: неизвестно"; -- replace this text with notinfaction above?
CENSUSPlus_LOCALE           = "Зона : %s";
CENSUSPlus_LOCALEUNKNOWN    = "Зона : неизвестно";
CENSUSPlus_TOTALCHAR        = "Итого: %d";
CENSUSPlus_TOTALCHAR_0      = "Итого: 0";
CENSUSPlus_TOTALCHARXP      = "Рейтинг XP: %d";
CENSUSPlus_TOTALCHARXP_0    = "Рейтинг XP: 0";
CENSUSPlus_SCAN_PROGRESS    = "Сканирование: %d запросов(а) в очереди - %s";
CENSUSPlus_SCAN_PROGRESS_0  = "Сканирование не запущено";
CENSUSPlus_AUTOCLOSEWHO     = "Автоматически закрывать окно Кто";
CENSUSPlus_UNGUILDED        = "(Без гильдьи)";
CENSUSPlus_TAKE             = "Начать";
CENSUSPlus_TOPGUILD         = "Лучшие гильдьи по XP";
CENSUSPlus_RACE             = "Расы";
CENSUSPlus_CLASS            = "Классы";
CENSUSPlus_LEVEL            = "Уровни";
CENSUSPlus_MAXXED			= "MAXXED!";

CENSUSPlus_DRUID            = "Друид";
CENSUSPlus_HUNTER           = "Охотник";
CENSUSPlusFemale["Охотница"] = "Охотник";
CENSUSPlus_MAGE             = "Маг";
CENSUSPlus_PRIEST           = "Жрец";
CENSUSPlusFemale["Жрица"] = "Жрец";
CENSUSPlus_ROGUE            = "Разбойник";
CENSUSPlusFemale["Разбойница"] = "Разбойник";
CENSUSPlus_WARLOCK          = "Чернокнижник";
CENSUSPlusFemale["Чернокнижница"] = "Чернокнижник";
CENSUSPlus_WARRIOR          = "Воин";
CENSUSPlus_SHAMAN           = "Шаман";
CENSUSPlusFemale["Шаманка"] = "Шаман";
CENSUSPlus_PALADIN          = "Паладин";
CENSUSPlus_DEATHKNIGHT		= "Рыцарь смерти";
CENSUSPlus_MONK             = "Монах";
CENSUSPlusFemale["Монахиня"] = "Монах";
CENSUSPlus_DWARF            = "Дворф";
CENSUSPlus_GNOME            = "Гном";
CENSUSPlus_HUMAN            = "Человек";
CENSUSPlus_NIGHTELF         = "Ночной эльф";
CENSUSPlusFemale["Ночная эльфийка"] = "Ночной эльф";
CENSUSPlus_DRAENEI          = "Дреней";
CENSUSPlus_WORGEN			= "Ворген";
CENSUSPlus_APANDAREN        = "Пандарен";

CENSUSPlus_ORC              = "Орк";
CENSUSPlus_TAUREN           = "Таурен";
CENSUSPlus_TROLL            = "Тролль";
CENSUSPlus_UNDEAD           = "Нежить";
CENSUSPlus_BLOODELF         = "Эльф крови";
CENSUSPlusFemale["Эльфийка крови"] = "Эльф крови";
CENSUSPlus_GOBLIN			= "Гоблин";
CENSUSPlus_HPANDAREN        = "Пандарен";

CENSUSPlus_WarsongGulch     = "Крепость Песни Войны";  
CENSUSPlus_AlteracValley    = "Альтеракская долина";
CENSUSPlus_ArathiBasin		= "Низина Арати";
CENSUSPlus_EyeOfTheStorm    = "Око бури";

CENSUSPlus_BUTTON_OPTIONS	= "Опции";
CENSUSPlus_OPTIONS_HEADER	= "Опции Census+";
CENSUSPlus_ISINBG			= "Вы находитесь на поле боя, Census+ не может начать работу";
CENSUS_OPTIONS_BUTSHOW      = "Значок у миникарты";
CENSUS_OPTIONS_AUTOCENSUS   = "Автостарт";
CENSUS_OPTIONS_AUTOSTART    = "Автостарт";
CENSUS_OPTIONS_VERBOSE      = "Текстовый режим";
CENSUS_OPTIONS_SOUND_ON_COMPLETE = "Звук при завершении";
CENSUS_OPTIONS_LOG_BARS		= "Логарифмический \nуровень";

CENSUSPlus_VERBOSE_TOOLTIP  = "Уберите, чтобы не засорять свой чат!";
CENSUSPlus_AUTOCENSUS_TOOLTIP = "Запускать Census+ автоматически";

CENSUSPlus_BUTTON_CHARACTERS = "Показать персонажей";
CENSUSPlus_Characters		= "Персонажи";

CENSUS_BUTTON_TOOLTIP		= "Открыть CensusPlus";

for CensusPlus.lua, line 496

Code: Select all

local function GetNameLetters()
	if ( GetLocale() == "ruRU" ) then
		return { "а", "в", "д", "е", "и", "к", "л", "м", "о", "р", "с", "т", "у", "х", "я"};
	else 
		return { "a", "b", "c", "d", "e", "f", "g", "i", "o", "p", "r", "s", "t", "u", "y" };
	end
end
local function GetNameLetters1()
	if ( GetLocale() == "ruRU" ) then
		return { "б", "ж", "з", "п", "г", "й", "н", "ф", "ц", "ч", "щ", "ы", "ш", "э", "ю"};
	else 
		return {"a", "e", "r", "i", "n", "o", "l", "s", "t", "h", "d", "u", "m", "k", "c" };
	end
end

local function GetNameLetters2()
	if ( GetLocale() == "ruRU" ) then
		return {"а", "е", "р", "и", "н", "о", "л", "с", "т", "х", "д", "у"};
	else 
		return {"a", "e", "r", "i", "n", "o", "l", "s", "t", "h", "d", "u"};
	end
end
CensusPlus.lua, line 1483

Code: Select all

function CensusPlus_CreateWhoText(job)
	local whoText = "";
	local race = job.m_Race;
	if (race ~= nil) then
		if ( GetLocale() == "ruRU" ) then
			whoText = whoText.." р-\""..race.."\"";
		else
			whoText = whoText.." r-\""..race.."\"";
		end
	end

	local class = job.m_Class;
	if (class ~= nil) then
		if ( GetLocale() == "ruRU" ) then
			whoText = whoText.." к-\""..class.."\"";
		else
			whoText = whoText.." c-\""..class.."\"";
		end
	end

	local minLevel = tostring( job.m_MinLevel );
	if (minLevel == nil) then
		minLevel = 1;
	end
	local maxLevel = job.m_MaxLevel;
	if (maxLevel == nil) then
		maxLevel = MAX_CHARACTER_LEVEL;
	end
	whoText = whoText.." ".. minLevel .."-".. maxLevel;

	local zoneLetter = job.m_zoneLetter;
	if ( zoneLetter ~= nil) then
		if ( GetLocale() == "ruRU" ) then
			whoText = whoText.." з-"..zoneLetter;
		else
			whoText = whoText.." z-"..zoneLetter;
		end
	end

	local letter = job.m_Letter;
	if( letter ~= nil ) then
		if ( GetLocale() == "ruRU" ) then
			whoText = whoText.." и-"..letter;
		else
			whoText = whoText.." n-"..letter;
		end
	end
CensusPlus.lua, line 1405,

Code: Select all

			if( wholib ) then
				if ( GetLocale() == "ruRU" ) then
				CensusPlus_Msg( "Используется библиотека WhoLib" );
				else
				CensusPlus_Msg( "Using WhoLib" );
				end
Using the UTF-8 encoding is necessarily! :!:

Re: Russian translation

Posted: Sat Aug 03, 2013 10:23 am
by bringoutyourdead
Skipper95 wrote:Hi! I made a Russian localization for Census+.
Using the UTF-8 encoding is necessarily! :!:
Very nice work... but unfortunately it is the UTF-8 that is the problem.

The database here at Warcraftrealms.com when under Rollie's control wasn't set up for UTF-8. What would need to be done is to unload most if not all of the database to temporary storage, restructure the schema of the database to allow UTF-8 encoding, reloading the database and then testing to insure no unforeseen bugs slipped in during the modification.

Considering the size of the database and the complexity of how it interacts with and controls the web site this isn't a trivial process.

Posted: Sat Aug 03, 2013 12:43 pm
by Skipper95
And what does it mean? Maybe there is another way to make supporting of ru-servers? :(