Первая РусЕфикация бота
Модератор: 4epT
Re: Первая РусЕфикация бота
Пусть это будет так:
The instance windows has been removed, possibly due to party/guild leave.
Окно Усыпальницы было закрыто, возможно из-за выхода из пати или гильдии.
The instance windows has been removed, possibly due to party/guild leave.
Окно Усыпальницы было закрыто, возможно из-за выхода из пати или гильдии.
# Гурнин: Неплохо! Пришло время научить вас умению 'Скидка', но мы займемся этим позже.
русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1
openkore.collectskin.com - всегда свежая svn-версия OpenKore!
Видео-гайд по установке и настройке OpenKore
русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1
openkore.collectskin.com - всегда свежая svn-версия OpenKore!
Видео-гайд по установке и настройке OpenKore
Re: Первая РусЕфикация бота
А где это сообщение вообще всплывает?manticora писал(а):Пусть это будет так:
The instance windows has been removed, possibly due to party/guild leave.
Окно Усыпальницы было закрыто, возможно из-за выхода из пати или гильдии.
Re: Первая РусЕфикация бота
Вот такое чудовище предлагается локализовать, куча хитросплетённых мелких фразок, которые, ко всему прочему, встречаются и в других контекстах тоже:4epT писал(а):Нету перевода фраз:
Player Димулька (5) uses Blessing по Player Unknown #2000765 (17) (лвл: 10)
видимо не вставлены T
Код: Выделить всё
sub skillUse_string {
my ($source, $target, $skillName, $damage, $level, $delay) = @_;
assert(UNIVERSAL::isa($source, 'Actor')) if DEBUG;
assert(UNIVERSAL::isa($target, 'Actor')) if DEBUG;
return sprintf("%s %s %s%s %s %s%s%sn",
$source->nameString(),
$source->verb(T('use'), T('uses')),
$skillName,
($level != 65535) ? ' ' . TF("(Lv: %s)", $level) : '',
T('on'),
$target->nameString($source),
($damage != -30000) ? ' ' . TF("(Dmg: %s)", $damage || T('Miss')) : '',
($delay) ? ' ' . TF("(delay: %s)", $delay) : '');
}
За безобразие вида "Player Mokona (0)" отвечает вот этот кусок кода из файла Actor.pm:Player Mokona (0) использует Increase Agility на вас (лвл: 10)
Player Mokona (0) кастует умение Increase Agility на Player manti (1) (задержка: 586мс)
Код: Выделить всё
sub nameString {
my ($self, $otherActor) = @_;
return $self->selfString if $self->{ID} eq $otherActor->{ID};
my $nameString = "$self->{actorType} " . $self->name;
$nameString .= " ($self->{binID})" if defined $self->{binID};
return $nameString;
}
----
Подскажите, пожалуйста, перевод для двух строк:
Они взяты из кода:"A manner point has been successfully aligned.n"
"You got a good point.n"
Код: Выделить всё
sub manner_message {
my ($self, $args) = @_;
if ($args->{flag} == 0) {
message T("A manner point has been successfully aligned.n"), "info";
#
} elsif ($args->{flag} == 3) {
message T("Chat Block has been applied by GM due to your ill-mannerous action.n"), "info";
#Ваш чат был заблокирован игровым мастером.n - это ру-оф перевод из msgstringtable.txt
} elsif ($args->{flag} == 4) {
message T("Automated Chat Block has been applied due to Anti-Spam System.n"), "info";
#Ваш чат был автоматически заблокирован системой анти-спама.n - это ру-оф перевод из msgstringtable.txt
} elsif ($args->{flag} == 5) {
message T("You got a good point.n"), "info";
#
} else {
warning TF("flag: %s gave unknown results in: %sn", $args->{flag}, $self->{packet_list}{$args->{switch}}->[0]);
}
}
Почитать про усыпальницу можно на http://irowiki.org/wiki/Instance. Оно всплывает в коде serverType0.pm:AndreyLun писал(а):А где это сообщение вообще всплывает?manticora писал(а):Пусть это будет так:
The instance windows has been removed, possibly due to party/guild leave.
Окно Усыпальницы было закрыто, возможно из-за выхода из пати или гильдии.
Код: Выделить всё
# 02CE
#1 = The Memorial Dungeon expired; it has been destroyed
#2 = The Memorial Dungeon's entry time limit expired; it has been destroyed
#3 = The Memorial Dungeon has been removed.
#4 = Just remove the window, maybe party/guild leave
# TODO: test if correct message displays, no type == 0 ?
sub instance_window_leave {
my ($self, $args) = @_;
if($args->{type} == 1) {
message T("The Memorial Dungeon expired it has been destroyed.n"), "info";
} elsif($args->{type} == 2) {
message T("The Memorial Dungeon's entry time limit expired it has been destroyed.n"), "info";
} elsif($args->{type} == 3) {
message T("The Memorial Dungeon has been removed.n"), "info";
} elsif ($args->{type} == 4) {
message T("The instance windows has been removed, possibly due to party/guild leave.n"), "info";
} else {
warning TF("flag: %s gave unknown results in: %sn", $args->{flag}, $self->{packet_list}{$args->{switch}}->[0]);
}
}
Расправился с фразами типа:
проблема заключалась в том, что под второй %s подразумевалось "are" или "is", которое подставлялось в зависимости от действующего лица. И вот эти два слова по отдельности фиг переведешь. Пришлось разбить все эти сообщения на пары вида:%s %s in %s state.n
%s %s out of %s state.n
%s %s ailment: %s.n
%s %s out of ailment: %s.n
%s %s look: %s.n
%s %s out of look: %s.n
и уже только тогда можно их было перевести.%s are in %s state.n
%s is in %s state.n
Добавлено спустя 12 минут 40 секунд:
В локализации изменился перевод некоторых фраз, используются оригинальные фразы из ру-оф клиента.
Подправлены заголовки всяких списков типа "------ Варианты ответа -------", между минусами и словами расставлены пробелы, общая длина заголовка совпадает теперь с "ногами". Иногда это было не так, ибо из-за перевода заголовки поплыли.
Добавлено спустя 11 минут 7 секунд:
Новая локализация опубликована в ревизии 7247.
# Гурнин: Неплохо! Пришло время научить вас умению 'Скидка', но мы займемся этим позже.
русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1
openkore.collectskin.com - всегда свежая svn-версия OpenKore!
Видео-гайд по установке и настройке OpenKore
русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1
openkore.collectskin.com - всегда свежая svn-версия OpenKore!
Видео-гайд по установке и настройке OpenKore
-
- Разработчик
- Сообщения: 819
- Зарегистрирован: Пн окт 27, 2008 9:49 pm
Re: Первая РусЕфикация бота
Непонятно, зачем инлайнить Actor->verb, да и я писал же:manticora писал(а): Расправился с фразами типа:проблема заключалась в том, что под второй %s подразумевалось "are" или "is", которое подставлялось в зависимости от действующего лица. И вот эти два слова по отдельности фиг переведешь. Пришлось разбить все эти сообщения на пары вида:%s %s in %s state.n
%s %s out of %s state.n
%s %s ailment: %s.n
%s %s out of ailment: %s.n
%s %s look: %s.n
%s %s out of look: %s.nи уже только тогда можно их было перевести.%s are in %s state.n
%s is in %s state.n
а перевод для каждой пары фраз в итоге одинаковый вышел всё равно.%s %s in %s state.\n
- сообщение, что объект "%s" получил состояние "%3$s"
Re: Первая РусЕфикация бота
Ты не понял, посмотри исходники в этом же самом месте, но в предыдущей ревизии. И скажи, как это можно было бы перевести?
Добавлено спустя 4 минуты 15 секунд:
Вот как это было в предыдущей ревизии для фразы "%s %s in %s state.":
Добавлено спустя 4 минуты 43 секунды:
Причем вторая подстановка в "%s %s in %s state." - это переменная $are, которая была определена как
Я, если честно, затрудняюсь перевести такую заточенную под английский язык мешанину. Ситуация осложняется тем, что там дальше есть ещё места, где используются 'are', 'is' - если как-то подогнать перевод этих слов в одном месте, то в другом месте оно выйдет боком.
Добавлено спустя 13 минут 16 секунд:
Хм, а что значит:
Добавлено спустя 4 минуты 15 секунд:
Вот как это было в предыдущей ревизии для фразы "%s %s in %s state.":
Код: Выделить всё
sub setStatus {
my ($actor, $opt1, $opt2, $option) = @_;
assert(defined $actor) if DEBUG;
assert(UNIVERSAL::isa($actor, 'Actor')) if DEBUG;
my $verbosity = $actor->{ID} eq $accountID ? 1 : 2;
my $are = $actor->verb('are', 'is');
my $have = $actor->verb('have', 'has');
my $changed = 0;
foreach (keys %skillsState) {
if ($opt1 == $_) {
if (!$actor->{statuses}{$skillsState{$_}}) {
$actor->{statuses}{$skillsState{$_}} = 1;
message TF("%s %s in %s state.n", $actor->nameString(), $are, $skillsState{$_}), "parseMsg_statuslook", $verbosity;
$changed = 1;
}
} elsif ($actor->{statuses}{$skillsState{$_}}) {
delete $actor->{statuses}{$skillsState{$_}};
message TF("%s %s out of %s state.n", $actor->nameString(), $are, $skillsState{$_}), "parseMsg_statuslook", $verbosity;
$changed = 1;
}
}
...
Причем вторая подстановка в "%s %s in %s state." - это переменная $are, которая была определена как
Код: Выделить всё
my $are = $actor->verb('are', 'is');
Добавлено спустя 13 минут 16 секунд:
Хм, а что значит:
я не знаю, что такое "%3$s".%s %s in %s state.\n
- сообщение, что объект "%s" получил состояние "%3$s"
# Гурнин: Неплохо! Пришло время научить вас умению 'Скидка', но мы займемся этим позже.
русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1
openkore.collectskin.com - всегда свежая svn-версия OpenKore!
Видео-гайд по установке и настройке OpenKore
русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1
openkore.collectskin.com - всегда свежая svn-версия OpenKore!
Видео-гайд по установке и настройке OpenKore
- 4epT
- macro-маньячина
- Сообщения: 2795
- Зарегистрирован: Чт дек 21, 2006 1:23 pm
- Сервер RO:: 4game
- Discord: ya4ept#8494
- Контактная информация:
Re: Первая РусЕфикация бота
не уверен что смысл правильный#: ../Network/Receive/ServerType0.pm:3261
msgid "Can't loot item...wait...n"
msgstr "Невозможно слутить предмет...ждем...n"
Добавлено спустя 5 минут 9 секунд:
может:#: ../Network/XKore.pm:275
msgid "You can login with the Ragnarok Online client now.\n"
msgstr "Уже сейчас вы можете войти в игру, с клиента Ragnarok Online.\n"
Войдите в игру через клиент Ragnarok Online.
Re: Первая РусЕфикация бота
Может быть так: "Не могу поднять предмет... жду..."#: ../Network/Receive/ServerType0.pm:3261
msgid "Can't loot item...wait...n"
msgstr "Невозможно слутить предмет...ждем...n"
Я согласен, так лучше звучит.Войдите в игру через клиент Ragnarok Online.
# Гурнин: Неплохо! Пришло время научить вас умению 'Скидка', но мы займемся этим позже.
русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1
openkore.collectskin.com - всегда свежая svn-версия OpenKore!
Видео-гайд по установке и настройке OpenKore
русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1
openkore.collectskin.com - всегда свежая svn-версия OpenKore!
Видео-гайд по установке и настройке OpenKore
-
- Разработчик
- Сообщения: 819
- Зарегистрирован: Пн окт 27, 2008 9:49 pm
Re: Первая РусЕфикация бота
Notepad не может правильно открыть эти файлы в том формате, в котором они изначально.Yin and Yan писал(а):###### Localization settings ######locale ru###### Localization compatibility #######
-
- Разработчик
- Сообщения: 819
- Зарегистрирован: Пн окт 27, 2008 9:49 pm
Re: Первая РусЕфикация бота
Если это ещё более-менее имеет смысл, то вот это:msgid "%s have look: %s.\n"
msgstr "%s выглядите как: %s.\n"
msgid "%s are out of look: %s.\n"
msgstr "%s перестали выглядеть как: %s.\n"
— совсем не в тему.msgid "%s have ailment: %s.\n"
msgstr "%s заболели: %s.\n"
msgid "%s are out of ailment: %s.\n"
msgstr "%s выздоровели от: %s.\n"
Re: Первая РусЕфикация бота
И как бы ты это перевел?
# Гурнин: Неплохо! Пришло время научить вас умению 'Скидка', но мы займемся этим позже.
русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1
openkore.collectskin.com - всегда свежая svn-версия OpenKore!
Видео-гайд по установке и настройке OpenKore
русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1
openkore.collectskin.com - всегда свежая svn-версия OpenKore!
Видео-гайд по установке и настройке OpenKore
-
- Разработчик
- Сообщения: 819
- Зарегистрирован: Пн окт 27, 2008 9:49 pm
Re: Первая РусЕфикация бота
Я бы объединил это всё в одно сообщение, которое "You are now / again / no longer". По-русски будет "Вы получили статус..."
Re: Первая РусЕфикация бота
Я видел, что ты сделал. Классно. Ты вместо T('are') и T('is'), которые на русский фиг переведёшь, учитывая что оно там постоянно повторяется в разных констах, сделал T('are casting') и T('is casting').
Простое и изящное решение, и это наконец-то можно перевести по человечески и выглядит в коде оно красиво. Спасибо.
Также спасибо за исправления в собственно переводе. Я уже настолько туда насмотрелся, что не вижу даже очевидных казалось бы опечаток и неточностей.
Простое и изящное решение, и это наконец-то можно перевести по человечески и выглядит в коде оно красиво. Спасибо.
Также спасибо за исправления в собственно переводе. Я уже настолько туда насмотрелся, что не вижу даже очевидных казалось бы опечаток и неточностей.
# Гурнин: Неплохо! Пришло время научить вас умению 'Скидка', но мы займемся этим позже.
русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1
openkore.collectskin.com - всегда свежая svn-версия OpenKore!
Видео-гайд по установке и настройке OpenKore
русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1
openkore.collectskin.com - всегда свежая svn-версия OpenKore!
Видео-гайд по установке и настройке OpenKore
- ProTuningBot
- Энтузиаст
- Сообщения: 108
- Зарегистрирован: Пн авг 18, 2008 2:03 pm
Re: Первая РусЕфикация бота
При вендинге командой al пишется одна из строчек "Максимум заработано". По-моему правильнее было бы исправить на "Максимум еще заработать" или "Максимум заработать" или что-то вроде того, так как это ОК пишет максимум, который вы можете заработать от оставшихся товаров у вас в телеге.
(\n" "Maximum earned:)
(s\n" "Максимум заработано:)
Перевод то правильный.. Но вот по смысловой нагрузке правильнее было бы так, как я написал выше. Имхо.
(\n" "Maximum earned:)
(s\n" "Максимум заработано:)
Перевод то правильный.. Но вот по смысловой нагрузке правильнее было бы так, как я написал выше. Имхо.
-
- Разработчик
- Сообщения: 819
- Зарегистрирован: Пн окт 27, 2008 9:49 pm
Re: Первая РусЕфикация бота
"Максимальная выручка"?