diff --git a/code/__HELPERS/time.dm b/code/__HELPERS/time.dm
index 3eb421604a94..fa8df2cf7156 100644
--- a/code/__HELPERS/time.dm
+++ b/code/__HELPERS/time.dm
@@ -108,7 +108,7 @@
/proc/seconds_to_time(seconds as num)
var/numSeconds = seconds % 60
var/numMinutes = (seconds - numSeconds) / 60
- return "[numMinutes] [numMinutes > 1 ? "minutes" : "minute"] and [numSeconds] seconds"
+ return "[numMinutes] [(numMinutes % 10) != 1 ? "минут(ы)" : "минута"] и [numSeconds] секунд"
/// Take a value in seconds and makes it display like a clock. Hours are stripped. (mm:ss)
/proc/seconds_to_clock(seconds as num)
diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm
index addb758b70fe..2141f10cebb7 100644
--- a/code/datums/holocall.dm
+++ b/code/datums/holocall.dm
@@ -34,10 +34,10 @@
dialed_holopads += H
var/area/area = get_area(H)
LAZYADD(H.holo_calls, src)
- H.atom_say("[area] pad beeps: Incoming call from [caller]!")
+ H.atom_say("Оповещение с голопада [area]: Входящий звонок от [caller]!")
if(!dialed_holopads.len)
- calling_holopad.atom_say("Connection failure.")
+ calling_holopad.atom_say("Соединение не установлено.")
qdel(src)
return
@@ -87,9 +87,9 @@
/datum/holocall/proc/Disconnect(obj/machinery/hologram/holopad/H)
if(H == connected_holopad)
var/area/A = get_area(connected_holopad)
- calling_holopad.atom_say("[A] holopad disconnected.")
+ calling_holopad.atom_say("Связь с голопадом [A] прервана.")
else if(H == calling_holopad && connected_holopad)
- connected_holopad.atom_say("[user] disconnected.")
+ connected_holopad.atom_say("[user] отключился.")
user.unset_machine(H)
if(istype(hangup))
@@ -101,7 +101,7 @@
/datum/holocall/proc/ConnectionFailure(obj/machinery/hologram/holopad/H, graceful = FALSE)
if(H == connected_holopad || H == calling_holopad)
if(!graceful && H != calling_holopad)
- calling_holopad.atom_say("Connection failure.")
+ calling_holopad.atom_say("Соединение прервано.")
qdel(src)
return
@@ -109,7 +109,7 @@
dialed_holopads -= H
if(!dialed_holopads.len)
if(graceful)
- calling_holopad.atom_say("Call rejected.")
+ calling_holopad.atom_say("Вызов завершен.")
qdel(src)
//Answers a call made to a holopad `H` which cannot be the calling holopad. Pads not in the call are ignored
@@ -171,7 +171,7 @@
if(!connected_holopad)
. = world.time < (call_start_time + HOLOPAD_MAX_DIAL_TIME)
if(!.)
- calling_holopad.atom_say("No answer received.")
+ calling_holopad.atom_say("Ответ не получен.")
calling_holopad.temp = ""
if(!.)
qdel(src)
diff --git a/code/game/gamemodes/miniantags/abduction/machinery/console.dm b/code/game/gamemodes/miniantags/abduction/machinery/console.dm
index e5f4a64c7156..699b8a033e20 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/console.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/console.dm
@@ -228,11 +228,11 @@
/obj/machinery/abductor/console/proc/Dispense(item,cost=1)
if(experiment && experiment.credits >= cost)
experiment.credits -=cost
- atom_say("Incoming supply!")
+ atom_say("Поступление средств!")
if(pad)
flick("alien-pad", pad)
new item(pad.loc)
else
new item(src.loc)
else
- atom_say("Insufficient data!")
+ atom_say("Недостаточно средств!")
diff --git a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm
index 0b83da81f333..351f6c031645 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm
@@ -111,16 +111,16 @@
if(H in history)
return "Specimen already in database."
if(H.stat == DEAD)
- atom_say("Specimen deceased - please provide fresh sample.")
+ atom_say("Образец утрачен - пожалуйста, предоставьте свежий образец.")
return "Specimen deceased."
var/obj/item/organ/internal/heart/gland/GlandTest = locate() in H.internal_organs
if(!GlandTest)
- atom_say("Experimental dissection not detected!")
+ atom_say("Экспериментальное вскрытие не обнаружено!")
return "No glands detected!"
if(H.mind != null && H.ckey != null)
history += H
abductee_minds += H.mind
- atom_say("Processing specimen...")
+ atom_say("Образец обрабатывается...")
sleep(5)
switch(text2num(type))
if(1)
@@ -155,7 +155,7 @@
playsound(src.loc, 'sound/machines/buzz-sigh.ogg', 50, TRUE)
return "Experiment failed! No replacement organ detected."
else
- atom_say("Brain activity nonexistent - disposing sample...")
+ atom_say("Мозговая активность отсутствует - утилизация образца...")
eject_abductee()
send_back(H)
return "Specimen braindead - disposed."
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index e14110c44de4..8621fd35639e 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -131,7 +131,7 @@
if(world.timeofday > (R.last_addiction_dose + ADDICTION_SPEEDUP_TIME)) // 2.5 minutes
addiction_removal_chance = 10
if(prob(addiction_removal_chance))
- atom_say("Patient's addiction was cured.")
+ atom_say("Пациент излечен от зависимости.")
playsound(get_turf(src), 'sound/machines/ping.ogg', 50, 0)
to_chat(occupant, "You no longer feel reliant on [R.name]!")
occupant.reagents.addiction_list.Remove(R)
diff --git a/code/game/machinery/clonepod.dm b/code/game/machinery/clonepod.dm
index 9a0b0b34589d..a8b3b562a91b 100644
--- a/code/game/machinery/clonepod.dm
+++ b/code/game/machinery/clonepod.dm
@@ -319,7 +319,7 @@ GLOBAL_LIST_INIT(cloner_biomass_items, list(\
else if((occupant) && (occupant.loc == src))
if((occupant.stat == DEAD) || (occupant.suiciding)) //Autoeject corpses and suiciding dudes.
- announce_radio_message("The cloning of [occupant] has been aborted due to unrecoverable tissue failure.")
+ announce_radio_message("Клонирование [occupant] было прервано из-за неустранимого разрушения тканей.")
go_out()
connected_message("Clone Rejected: Deceased.")
@@ -355,7 +355,7 @@ GLOBAL_LIST_INIT(cloner_biomass_items, list(\
else if((occupant.cloneloss <= (100 - heal_level)))
connected_message("Cloning Process Complete.")
- announce_radio_message("The cloning cycle of [occupant] is complete.")
+ announce_radio_message("Цикл клонирования [occupant] завершен.")
go_out()
else if((!occupant) || (occupant.loc != src))
@@ -377,7 +377,7 @@ GLOBAL_LIST_INIT(cloner_biomass_items, list(\
return
else
connected_message("Authorized Ejection")
- announce_radio_message("An authorized ejection of [(occupant) ? occupant.real_name : "the malfunctioning pod"] has occurred")
+ announce_radio_message("Внимание, произошло экстренное извлечение [(occupant) ? occupant.real_name : "неисправной капсулы"].")
to_chat(user, "You force an emergency ejection.")
go_out()
diff --git a/code/game/machinery/computer/Operating.dm b/code/game/machinery/computer/Operating.dm
index 89704896dc41..c2771aa529c1 100644
--- a/code/game/machinery/computer/Operating.dm
+++ b/code/game/machinery/computer/Operating.dm
@@ -199,20 +199,20 @@
var/isNewPatient = (table.patient != currentPatient) //Is this a new Patient?
if(table.patient.stat == DEAD || HAS_TRAIT(table.patient, TRAIT_FAKEDEATH))
- patientStatus = "Dead"
+ patientStatus = "Отсутствует пульс"
else if(table.patient.stat == CONSCIOUS)
- patientStatus = "Awake"
+ patientStatus = "В сознании"
else if(table.patient.stat == UNCONSCIOUS)
- patientStatus = "Asleep"
+ patientStatus = "Без сознания"
if(isNewPatient)
- atom_say("New patient detected, loading stats")
+ atom_say("Обнаружен пациент, загрузка данных.")
var/blood_type_msg
if(ishuman(table.patient))
blood_type_msg = table.patient.dna.blood_type
else
- blood_type_msg = "\[ERROR: UNKNOWN\]"
- atom_say("[table.patient], [blood_type_msg] blood, [patientStatus]")
+ blood_type_msg = "\[ОШИБКА: НЕИЗВЕСТНО\]"
+ atom_say("Пациент [table.patient], группа крови [blood_type_msg], статус пациента: [patientStatus].")
SStgui.update_uis(src)
patientStatusHolder = table.patient.stat
currentPatient = table.patient
@@ -226,5 +226,5 @@
if(healthAnnounce && table.patient.health <= healthAlarm)
atom_say("[round(table.patient.health)]")
if(table.patient.stat != patientStatusHolder)
- atom_say("Patient is now [patientStatus]")
+ atom_say("Статус пациента: [patientStatus].")
patientStatusHolder = table.patient.stat
diff --git a/code/game/machinery/computer/brigcells.dm b/code/game/machinery/computer/brigcells.dm
index 07a84e492f0d..aea74d1daebf 100644
--- a/code/game/machinery/computer/brigcells.dm
+++ b/code/game/machinery/computer/brigcells.dm
@@ -61,7 +61,7 @@
var/obj/machinery/door_timer/T = locate(ref)
if(T)
T.timer_end()
- T.Radio.autosay("Timer stopped manually from a cell management console.", T.name, "Security", list(z))
+ T.Radio.autosay("Таймер остановлен вручную с консоли управления камерами.", T.name, "Security", list(z))
return TRUE
return FALSE
diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm
index 2fd321890ff5..7f7bb85e55c7 100644
--- a/code/game/machinery/computer/card.dm
+++ b/code/game/machinery/computer/card.dm
@@ -623,7 +623,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
if(R.fields["id"] == E.fields["id"])
if(status_valid_for_demotion(R.fields["criminal"]))
set_criminal_status(usr, R, SEC_RECORD_STATUS_DEMOTE, reason, scan.assignment)
- Radio.autosay("[scan.registered_name] ([scan.assignment]) has set [tempname] ([temprank]) to demote for: [reason]", name, "Command", list(z))
+ Radio.autosay("[scan.registered_name] ([scan.assignment]) назначил [tempname] ([temprank]) на понижение за: [reason]", name, "Command", list(z))
message_admins("[key_name_admin(usr)] ([scan.assignment]) has set [tempname] ([temprank]) to demote for: \"[reason]\"")
log_game("[key_name(usr)] ([scan.assignment]) has set \"[tempname]\" ([temprank]) to demote for: \"[reason]\".")
SSjobs.notify_by_name(tempname, "[scan.registered_name] ([scan.assignment]) has ordered your demotion. Report to their office, or the HOP. Reason given: \"[reason]\"")
diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm
index 28719847da1e..53913a1edd38 100644
--- a/code/game/machinery/doors/brigdoors.dm
+++ b/code/game/machinery/doors/brigdoors.dm
@@ -80,13 +80,13 @@
var/datum/data/record/R = find_security_record("name", occupant)
var/timetext = seconds_to_time(timetoset / 10)
- var/announcetext = "Detainee [occupant] ([prisoner_drank]) has been incarcerated for [timetext] for the crime of: '[crimes]'. \
- Arresting Officer: [usr.name].[R ? "" : " Detainee record not found, manual record update required."]"
+ var/announcetext = "Задержанный [occupant] ([prisoner_drank]) был помещен в камеру заключения на [timetext], за преступление: '[crimes]'. \
+ Ответственный офицер: [usr.name].[R ? "" : " Запись о задержанном не найдена, требуется обновление записи вручную."]"
Radio.autosay(announcetext, name, "Security")
// Notify the actual criminal being brigged. This is a QOL thing to ensure they always know the charges against them.
// Announcing it on radio isn't enough, as they're unlikely to have sec radio.
- notify_prisoner("You have been incarcerated for [timetext] for the crime of: '[crimes]'.")
+ notify_prisoner("Вы были заключены в камеру заключения на [timetext], за преступление: '[crimes]'.")
if(prisoner_trank != "unknown" && prisoner_trank != "Assistant")
SSjobs.notify_dept_head(prisoner_trank, announcetext)
@@ -166,7 +166,7 @@
return
if(timing)
if(timeleft() <= 0)
- Radio.autosay("Timer has expired. Releasing prisoner.", name, "Security", list(z))
+ Radio.autosay("Время заключения истекло. Освобождение заключенного.", name, "Security", list(z))
occupant = CELL_NONE
timer_end() // open doors, reset timer, clear status screen
timing = FALSE
@@ -376,9 +376,9 @@
to_chat(usr, "Cancelled reset: reason field is required.")
return FALSE
releasetime = world.timeofday + timetoset
- var/resettext = isobserver(usr) ? "for: [reset_reason]." : "by [usr.name] for: [reset_reason]."
- Radio.autosay("Prisoner [occupant] had their timer reset [resettext]", name, "Security", list(z))
- notify_prisoner("Your brig timer has been reset for: '[reset_reason]'.")
+ var/resettext = isobserver(usr) ? "по причине: '[reset_reason]'" : "офицером [usr.name], по причине: '[reset_reason]'"
+ Radio.autosay("Таймер заключенного [occupant] был сброшен [resettext].", name, "Security", list(z))
+ notify_prisoner("Ваш таймер был сброшен по причине: '[reset_reason]'.")
var/datum/data/record/R = find_security_record("name", occupant)
if(istype(R))
R.fields["comments"] += "Autogenerated by [name] on [GLOB.current_date_string] [station_time_timestamp()]
Timer reset [resettext]"
@@ -387,8 +387,8 @@
if("stop")
if(timing)
timer_end()
- var/stoptext = isobserver(usr) ? "from cell control." : "by [usr.name]."
- Radio.autosay("Timer stopped manually [stoptext]", name, "Security", list(z))
+ var/stoptext = isobserver(usr) ? "консолью управления камерами." : "офицером [usr.name]."
+ Radio.autosay("Таймер остановлен вручную [stoptext]", name, "Security", list(z))
else
. = FALSE
if("flash")
diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm
index bce1e147caeb..317539b5fe45 100644
--- a/code/game/machinery/doppler_array.dm
+++ b/code/game/machinery/doppler_array.dm
@@ -74,12 +74,12 @@ GLOBAL_LIST_EMPTY(doppler_arrays)
/obj/machinery/doppler_array/proc/print_explosive_logs(mob/user)
if(!logged_explosions.len)
- atom_say("No logs currently stored in internal database.")
+ atom_say("В данный момент отчеты во внутренней базе данных отсутствуют.")
return
if(active_timers)
to_chat(user, "[src] is already printing something, please wait.")
return
- atom_say("Printing explosive log. Standby...")
+ atom_say("Распечатка отчета. Ожидайте...")
addtimer(CALLBACK(src, PROC_REF(print)), 50)
/obj/machinery/doppler_array/proc/print()
diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm
index e433c7f17d41..8ce39d12dea6 100644
--- a/code/game/machinery/hologram.dm
+++ b/code/game/machinery/hologram.dm
@@ -292,7 +292,7 @@ GLOBAL_LIST_EMPTY(holopads)
var/datum/holocall/HC = I
//Sanity check and skip if no longer valid call
if(!HC.Check())
- atom_say("Call was terminated at remote terminal.")
+ atom_say("Вызов был прерван удаленно.")
continue
if(HC.connected_holopad != src)
diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm
index dcc80752be8d..8b598464aa7a 100644
--- a/code/game/machinery/requests_console.dm
+++ b/code/game/machinery/requests_console.dm
@@ -243,9 +243,9 @@ GLOBAL_LIST_EMPTY(allRequestConsoles)
else if(recipient in SUPPLY_ROLES)
radiochannel = "Supply"
message_log.Add(list(list("Message sent to [recipient] at [station_time_timestamp()]", "[message]")))
- Radio.autosay("Alert; a new requests console message received for [recipient] from [department]", null, "[radiochannel]")
+ Radio.autosay("Оповещение: получено новое сообщение с консоли запросов для [recipient] от [department]", null, "[radiochannel]")
else
- atom_say("No server detected!")
+ atom_say("Сервер не обнаружен!")
//Handle screen switching
if("setScreen")
@@ -271,11 +271,11 @@ GLOBAL_LIST_EMPTY(allRequestConsoles)
if("printLabel")
var/error_message
if(!ship_tag_index)
- error_message = "Please select a destination."
+ error_message = "Пожалуйста, выберите пункт назначения."
else if(!msgVerified)
- error_message = "Please verify shipper ID."
+ error_message = "Пожалуйста, проверьте ID отправителя."
else if(world.time < print_cooldown)
- error_message = "Please allow the printer time to prepare the next shipping label."
+ error_message = "Пожалуйста, дайте принтеру время на подготовку следующей транспортировочной маркировки."
if(error_message)
atom_say("[error_message]")
return
diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm
index c63ce74635af..0b9a72b6ad10 100644
--- a/code/game/machinery/teleporter.dm
+++ b/code/game/machinery/teleporter.dm
@@ -111,10 +111,10 @@
return
if(!check_hub_connection())
- atom_say("Error: Unable to detect hub.")
+ atom_say("Ошибка: Хаб не обнаружен.")
return
if(calibrating)
- atom_say("Error: Calibration in progress. Stand by.")
+ atom_say("Ошибка: Выполняется калибровка. Ожидайте.")
return
. = TRUE
@@ -132,7 +132,7 @@
resetPowerstation()
var/turf/tmpTarget = locate(text2num(params["x"]), text2num(params["y"]), text2num(params["z"]))
if(!isturf(tmpTarget))
- atom_say("No valid targets available.")
+ atom_say("Отсутствуют доступные пункты назначения.")
return
target = tmpTarget
if(regime == REGIME_TELEPORT)
@@ -141,13 +141,13 @@
gate_helper()
if("calibrate")
if(!target)
- atom_say("Error: No target set to calibrate to.")
+ atom_say("Ошибка: Отсутствует пункт назначения для калибровки.")
return
if(power_station.teleporter_hub.calibrated || power_station.teleporter_hub.accurate >= 3)
- atom_say("Hub is already calibrated.")
+ atom_say("Хаб уже откалиброван.")
return
- atom_say("Processing hub calibration to target...")
+ atom_say("Калибровка хаба до пункта назначения...")
calibrating = TRUE
addtimer(CALLBACK(src, PROC_REF(calibrateCallback)), 50 * (3 - power_station.teleporter_hub.accurate)) //Better parts mean faster calibration
@@ -167,9 +167,9 @@
calibrating = FALSE
if(check_hub_connection())
power_station.teleporter_hub.calibrated = TRUE
- atom_say("Calibration complete.")
+ atom_say("Калибровка завершена.")
else
- atom_say("Error: Unable to detect hub.")
+ atom_say("Ошибка: Хаб не обнаружен.")
/obj/machinery/computer/teleporter/proc/check_hub_connection()
if(!power_station)
diff --git a/code/game/objects/items/collar.dm b/code/game/objects/items/collar.dm
index 1a1a40a6cb35..8fc0e3da3b0b 100644
--- a/code/game/objects/items/collar.dm
+++ b/code/game/objects/items/collar.dm
@@ -70,8 +70,8 @@
pet_death_announcer.follow_target = src
if(istype(pet_death_area, /area/syndicate_mothership) || istype(pet_death_area, /area/shuttle/syndicate_elite))
//give the syndicats a bit of stealth
- pet_death_announcer.autosay("[M] has been vandalized in Space!", "[M]'s Death Alarm")
+ pet_death_announcer.autosay("[M] подвергся акту вандализма в космосе!", "Датчик Смерти [M]")
else
- pet_death_announcer.autosay("[M] has been vandalized in [pet_death_area.name]!", "[M]'s Death Alarm")
+ pet_death_announcer.autosay("[M] подвергся акту вандализма в [pet_death_area.name]!", "Датчик Смерти [M]")
qdel(pet_death_announcer)
STOP_PROCESSING(SSobj, src)
diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm
index 31e74e4896ac..b7b8e7e87d26 100644
--- a/code/game/objects/items/devices/taperecorder.dm
+++ b/code/game/objects/items/devices/taperecorder.dm
@@ -143,7 +143,7 @@
if(mytape.used_capacity < mytape.max_capacity)
recording = TRUE
- atom_say("Recording started.")
+ atom_say("Начало записи.")
update_sound()
update_icon(UPDATE_ICON_STATE)
mytape.timestamp += mytape.used_capacity
@@ -159,7 +159,7 @@
sleep(10)
stop()
else
- atom_say("[mytape] is full!")
+ atom_say("[mytape] заполнена!")
playsound(src, 'sound/items/taperecorder/taperecorder_stop.ogg', 50, FALSE)
@@ -168,12 +168,12 @@
mytape.timestamp += mytape.used_capacity
mytape.storedinfo += "\[[time2text(mytape.used_capacity * 10,"mm:ss")]\] Recording stopped."
playsound(src, 'sound/items/taperecorder/taperecorder_stop.ogg', 50, FALSE)
- atom_say("Recording stopped.")
+ atom_say("Запись остановлена.")
recording = FALSE
else if(playing)
playsound(src, 'sound/items/taperecorder/taperecorder_stop.ogg', 50, FALSE)
if(!PlaybackOverride)
- atom_say("Playback stopped.")
+ atom_say("Воспроизведение остановлено.")
playing = FALSE
update_icon(UPDATE_ICON_STATE)
update_sound()
@@ -188,7 +188,7 @@
stop()
return
if(!length(mytape.storedinfo))
- atom_say("There is no stored data.")
+ atom_say("Нет сохраненных данных.")
playsound(src, 'sound/items/taperecorder/taperecorder_play.ogg', 50, FALSE)
playsound(src, 'sound/items/taperecorder/taperecorder_stop.ogg', 50, FALSE)
return
@@ -196,7 +196,7 @@
playing = TRUE
update_icon(UPDATE_ICON_STATE)
update_sound()
- atom_say("Playback started.")
+ atom_say("Воспроизведение.")
playsound(src, 'sound/items/taperecorder/taperecorder_play.ogg', 50, FALSE)
var/used = mytape.used_capacity //to stop runtimes when you eject the tape
var/max = mytape.max_capacity
@@ -207,7 +207,7 @@
if(playing == 0)
break
if(length(mytape.storedinfo) < i)
- atom_say("End of recording.")
+ atom_say("Конец записи.")
break
atom_say("[mytape.storedinfo[i]]")
if(length(mytape.storedinfo) < i + 1 || playsleepseconds > 1.4 SECONDS)
@@ -227,7 +227,7 @@
if(recording || playing)
return
- atom_say("Transcript printed.")
+ atom_say("Транскрипт распечатан.")
playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1)
var/obj/item/paper/P = new /obj/item/paper(get_turf(src))
var/t1 = "Transcript:
"
diff --git a/code/game/objects/items/scratch_card.dm b/code/game/objects/items/scratch_card.dm
index 2a6f372fe7d0..a50bedd656a3 100644
--- a/code/game/objects/items/scratch_card.dm
+++ b/code/game/objects/items/scratch_card.dm
@@ -32,7 +32,7 @@
/obj/item/scratch/attack_obj(obj/O, mob/living/user, params)
if(winner && istype(O, /obj/machinery/economy/atm))
playsound(user, 'sound/machines/ping.ogg', 50, TRUE)
- O.atom_say("Congratulations for winning the lottery!")
+ O.atom_say("Поздравляем с выигрышем в лотерею!")
var/obj/item/reward = new /obj/item/stack/spacecash/c1000
qdel(src)
user.put_in_hands(reward)
diff --git a/code/game/objects/items/weapons/bio_chips/bio_chip_death_alarm.dm b/code/game/objects/items/weapons/bio_chips/bio_chip_death_alarm.dm
index fadfd8f4a5be..d5768d34823c 100644
--- a/code/game/objects/items/weapons/bio_chips/bio_chip_death_alarm.dm
+++ b/code/game/objects/items/weapons/bio_chips/bio_chip_death_alarm.dm
@@ -23,17 +23,17 @@
switch(cause)
if("gib")
- a.autosay("[mobname] has died-zzzzt in-in-in...", "[mobname]'s Death Alarm")
+ a.autosay("[mobname] погиб-гиб-б-б в-в-в...", "Датчик Смерти [mobname]")
qdel(src)
if("emp")
var/name = prob(50) ? t.name : pick(SSmapping.teleportlocs)
- a.autosay("[mobname] has died in [name]!", "[mobname]'s Death Alarm")
+ a.autosay("[mobname] погиб в [name]!", "Датчик Смерти [mobname]")
else
if(is_type_in_typecache(t, stealth_areas))
//give the syndies a bit of stealth
- a.autosay("[mobname] has died in Space!", "[mobname]'s Death Alarm")
+ a.autosay("[mobname] погиб в космосе!", "Датчик Смерти [mobname]")
else
- a.autosay("[mobname] has died in [t.name]!", "[mobname]'s Death Alarm")
+ a.autosay("[mobname] погиб в [t.name]!", "Датчик Смерти [mobname]")
qdel(src)
qdel(a)
diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm
index cea375da82b3..24b6a7e0a273 100644
--- a/code/game/objects/items/weapons/defib.dm
+++ b/code/game/objects/items/weapons/defib.dm
@@ -258,7 +258,7 @@
/obj/item/defibrillator/compact/advanced/emp_act(severity)
if(world.time > next_emp_message)
- atom_say("Warning: Electromagnetic pulse detected. Integrated shielding prevented all potential hardware damage.")
+ atom_say("Внимание: обнаружен электромагнитный импульс. Встроенное экранирование предотвращает все возможные повреждения оборудования.")
playsound(src, 'sound/machines/defib_saftyon.ogg', 50)
next_emp_message = world.time + 5 SECONDS
diff --git a/code/modules/admin/verbs/freeze.dm b/code/modules/admin/verbs/freeze.dm
index 76cbe02ae0ff..0a0bd45e5cea 100644
--- a/code/modules/admin/verbs/freeze.dm
+++ b/code/modules/admin/verbs/freeze.dm
@@ -96,12 +96,12 @@ GLOBAL_LIST_EMPTY(frozen_atom_list) // A list of admin-frozen atoms.
/obj/machinery/atmospherics/supermatter_crystal/admin_Freeze(client/admin)
var/obj/effect/overlay/adminoverlay/freeze_overlay = new
if(processes)
- radio.autosay("Alert: Unknown intervention has frozen causality around the crystal. It is not progressing in local timespace.", name, "Engineering", list(z))
+ radio.autosay("Внимание: Неизвестное вмешательство заморозило процесс разрушения вокруг кристалла. Оно не развивается в местном временном пространстве.", name, "Engineering", list(z))
GLOB.frozen_atom_list += src
processes = FALSE
add_overlay(freeze_overlay)
else
- radio.autosay("Alert: Unknown intervention has ceased around the crystal. It has returned to the regular flow of time.", name, "Engineering", list(z))
+ radio.autosay("Внимание: Неизвестное воздействие на кристалл прекращено. Время вокруг кристалла вернулось в привычное течение.", name, "Engineering", list(z))
GLOB.frozen_atom_list -= src
processes = TRUE
cut_overlay(freeze_overlay)
diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm
index cede829255ca..88a4afe4729e 100644
--- a/code/modules/clothing/under/accessories/accessory.dm
+++ b/code/modules/clothing/under/accessories/accessory.dm
@@ -225,7 +225,7 @@
return
if(!is_station_level(user.z))
return
- GLOB.global_announcer.autosay("[H] has been rewarded [src] by [user]!", "Medal Announcer", channel = channel, follow_target_override = src)
+ GLOB.global_announcer.autosay("[user] награждает [H] [src]!", "Оповещение О Награждении", channel = channel, follow_target_override = src)
channel = null
// GOLD (awarded by centcom)
diff --git a/code/modules/economy/economy_machinery/atm.dm b/code/modules/economy/economy_machinery/atm.dm
index 99d8dc2f687b..88aa3f57aa13 100644
--- a/code/modules/economy/economy_machinery/atm.dm
+++ b/code/modules/economy/economy_machinery/atm.dm
@@ -230,7 +230,7 @@
RegisterSignal(authenticated_account, COMSIG_PARENT_QDELETING, PROC_REF(clear_account))
if(HAS_TRAIT(src, TRAIT_CMAGGED))
var/shoutname = uppertext(user_account.account_name)
- atom_say("HELLO '[shoutname]'! YOU'VE SUCCESSFULLY LOGGED IN WITH ACCOUNT NUMBER '[user_account.account_number]' AND PIN NUMBER '[user_account.account_pin]'! HAVE A PARADISE DAY!")
+ atom_say("ЗДРАВСТВУЙТЕ, '[shoutname]'! ВЫ УСПЕШНО АВТОРИЗОВАНЫ С НОМЕРОМ АККАУНТА '[user_account.account_number]' И ПИН-КОДОМ '[user_account.account_pin]'! ЖЕЛАЕМ ВАМ ДНЯ КАК В РАЮ!")
playsound(loc, 'sound/machines/honkbot_evil_laugh.ogg', 25, TRUE, ignore_walls = FALSE)
return TRUE
diff --git a/code/modules/library/library_computer.dm b/code/modules/library/library_computer.dm
index 3f891c6373a9..33cb6e0be03a 100644
--- a/code/modules/library/library_computer.dm
+++ b/code/modules/library/library_computer.dm
@@ -286,17 +286,17 @@
var/datum/cachedbook/selectedbook = GLOB.library_catalog.get_book_by_id(params["bookid"])
if(!selectedbook)
playsound(src, 'sound/machines/synth_no.ogg', 15, TRUE)
- atom_say("Deletion Failed!")
+ atom_say("Удаление не удалось!")
return
if(selectedbook.ckey != params["user_ckey"])
message_admins("[params["user_ckey"]] attempted to delete a book that wasn't theirs, this shouldn't happen, please investigate.")
return
if(GLOB.library_catalog.remove_book_by_id(params["bookid"])) //this doesn't need to be logged
playsound(loc, 'sound/machines/ping.ogg', 25, 0)
- atom_say("Deletion Successful!")
+ atom_say("Успешно удалено!")
return
playsound(src, 'sound/machines/synth_no.ogg', 15, TRUE)
- atom_say("Deletion Failed!")
+ atom_say("Удаление не удалось!")
//rating acts
@@ -306,16 +306,16 @@
if("rate_book")
if(GLOB.library_catalog.rate_book(params["user_ckey"], params["bookid"], user_data.selected_rating))
playsound(loc, 'sound/machines/ping.ogg', 25, 0)
- atom_say("Rating Successful!")
+ atom_say("Оценка принята!")
populate_booklist()
//Report Acts
if("submit_report")
if(GLOB.library_catalog.flag_book_by_id(params["user_ckey"], params["bookid"], selected_report))
playsound(loc, 'sound/machines/ping.ogg', 50, 0)
- atom_say("Report Submitted!")
+ atom_say("Жалоба отправлена!")
return
playsound(src, 'sound/machines/synth_no.ogg', 15, TRUE)
- atom_say("Report Submission Failed!")
+ atom_say("Отправка жалобы не удалась!")
if("set_report")
selected_report = text2num(params["report_type"])
//Book Uploader
@@ -332,10 +332,10 @@
if("uploadbook")
if(GLOB.library_catalog.upload_book(params["user_ckey"], user_data.selected_book))
playsound(src, 'sound/machines/ping.ogg', 50, 0)
- atom_say("Book Uploaded!")
+ atom_say("Книга загружена!")
return
playsound(src, 'sound/machines/synth_no.ogg', 15, TRUE)
- atom_say("Book Upload Failed!")
+ atom_say("Загрузка книги не удалась!")
num_pages = getmaxpages()
if("reportlost")
inventoryRemove(text2num(params["libraryid"]))
diff --git a/code/modules/mob/living/silicon/ai/latejoin.dm b/code/modules/mob/living/silicon/ai/latejoin.dm
index 2895f2775d00..1cb6dfd45e1e 100644
--- a/code/modules/mob/living/silicon/ai/latejoin.dm
+++ b/code/modules/mob/living/silicon/ai/latejoin.dm
@@ -14,7 +14,7 @@ GLOBAL_LIST_EMPTY(empty_playable_ai_cores)
/mob/living/silicon/ai/proc/cryo_AI()
var/dead_aicore = new /obj/structure/AIcore/deactivated(loc)
GLOB.empty_playable_ai_cores += dead_aicore
- GLOB.global_announcer.autosay("[src] был перемещён в хранилище ИИ.", "Наблюдатель за ИИ", follow_target_override = dead_aicore)
+ GLOB.global_announcer.autosay("[src] был перемещён в хранилище ИИ.", "Система Надзора за ИИ", follow_target_override = dead_aicore)
//Handle job slot/tater cleanup.
var/job = mind.assigned_role
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index c08a19f56dac..df45ebfc51e0 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -430,7 +430,7 @@
if((character.mind.assigned_role != "Cyborg") && (character.mind.assigned_role != character.mind.special_role))
if(character.mind.role_alt_title)
rank = character.mind.role_alt_title
- GLOB.global_announcer.autosay("[character.real_name],[rank ? " [rank]," : " visitor," ] [join_message ? join_message : "has arrived on the station"].", "Arrivals Announcement Computer", follow_target_override = character)
+ GLOB.global_announcer.autosay("[character.real_name],[rank ? " [rank]," : ", посетитель," ] [join_message ? join_message : "прибыл на станцию"].", "Оповещение О Прибытии", follow_target_override = character)
/mob/new_player/proc/AnnounceCyborg(mob/living/character, rank, join_message)
if(SSticker.current_state == GAME_STATE_PLAYING)
@@ -441,13 +441,13 @@
var/mob/living/silicon/ai/announcer = pick(ailist)
if(character.mind)
if(character.mind.assigned_role != character.mind.special_role)
- var/arrivalmessage = "A new[rank ? " [rank]" : " visitor" ] [join_message ? join_message : "has arrived on the station"]."
+ var/arrivalmessage = "Новый[rank ? " [rank]" : ", посетитель," ] [join_message ? join_message : "прибыл на станцию"]."
announcer.say(";[arrivalmessage]", ignore_languages = TRUE)
else
if(character.mind)
if(character.mind.assigned_role != character.mind.special_role)
// can't use their name here, since cyborg namepicking is done post-spawn, so we'll just say "A new Cyborg has arrived"/"A new Android has arrived"/etc.
- GLOB.global_announcer.autosay("A new[rank ? " [rank]" : " visitor" ] [join_message ? join_message : "has arrived on the station"].", "Arrivals Announcement Computer", follow_target_override = character)
+ GLOB.global_announcer.autosay("Новый[rank ? " [rank]" : ", посетитель," ] [join_message ? join_message : "прибыл на станцию"].", "Оповещение О Прибытии", follow_target_override = character)
/mob/new_player/proc/LateChoices()
var/mills = ROUND_TIME // 1/10 of a second, not real milliseconds but whatever
diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm
index 94a69d8e5067..99846c48f2e6 100644
--- a/code/modules/paperwork/photocopier.dm
+++ b/code/modules/paperwork/photocopier.dm
@@ -236,7 +236,7 @@
else if(check_mob())
to_chat(copymob, "You feel a slight pressure on your ass.")
- atom_say("Attention: Unable to remove large object!")
+ atom_say("Внимание: Невозможно удалить крупный объект!")
/obj/machinery/photocopier/proc/remove_folder()
if(copying)
@@ -351,7 +351,7 @@
LAZYADD(saved_documents, O)
copying = FALSE
playsound(loc, 'sound/machines/ping.ogg', 50, FALSE)
- atom_say("Document successfully scanned!")
+ atom_say("Документ удачно отсканирован!")
/obj/machinery/photocopier/proc/delete_file(uid)
var/document = locateUID(uid)
@@ -545,7 +545,7 @@
visible_message("[copyitem] is shoved out of the way by [copymob]!")
copyitem = null
playsound(loc, 'sound/machines/ping.ogg', 50, FALSE)
- atom_say("Attention: Posterior Placed on Printing Plaque!")
+ atom_say("Внимание: Обнаружена задница на печатном полотне!")
SStgui.update_uis(src)
return TRUE
diff --git a/code/modules/paperwork/ticketmachine.dm b/code/modules/paperwork/ticketmachine.dm
index 5b231a817017..c17250b4fade 100644
--- a/code/modules/paperwork/ticketmachine.dm
+++ b/code/modules/paperwork/ticketmachine.dm
@@ -58,7 +58,7 @@
if(current_number < ticket_number)
current_number ++ //Increment the one we're serving.
playsound(src, 'sound/misc/announce_dig.ogg', 50, FALSE)
- atom_say("Now serving ticket #[current_number]!")
+ atom_say("Очередь тикета номер [current_number]!")
if(!(emagged) && tickets[current_number])
var/obj/item/ticket_machine_ticket/ticket = tickets[current_number]
ticket.audible_message("\the [tickets[current_number]] vibrates!")
diff --git a/code/modules/projectiles/guns/energy/special_eguns.dm b/code/modules/projectiles/guns/energy/special_eguns.dm
index c1960c428287..e0a124fdc1d4 100644
--- a/code/modules/projectiles/guns/energy/special_eguns.dm
+++ b/code/modules/projectiles/guns/energy/special_eguns.dm
@@ -823,7 +823,7 @@
/obj/item/gun/energy/detective/proc/start_pointing(target_UID)
tracking_target_UID = target_UID
- Announcer.autosay("Alert: Detective's revolver discharged in tracking mode. Tracking: [locateUID(tracking_target_UID)] at [get_area_name(src)].", src, "Security")
+ Announcer.autosay("Внимание: размещена метка слежения. Отслеживание: [locateUID(tracking_target_UID)] в [get_area_name(src)].", src, "Security")
var/obj/item/pinpointer/crew/C = locateUID(linked_pinpointer_UID)
if(C)
C.start_tracking()
diff --git a/code/modules/security_levels/keycard_authentication.dm b/code/modules/security_levels/keycard_authentication.dm
index f8d53a6200c3..a01fca0e01c8 100644
--- a/code/modules/security_levels/keycard_authentication.dm
+++ b/code/modules/security_levels/keycard_authentication.dm
@@ -186,10 +186,10 @@
revoke_station_all_access()
if("Emergency Response Team")
if(is_ert_blocked())
- atom_say("All Emergency Response Teams are dispatched and can not be called at this time.")
+ atom_say("ОБР недоступен и не может быть вызван в данный момент.")
return
- atom_say("ERT request transmitted!")
- GLOB.command_announcer.autosay("ERT request transmitted. Reason: [ert_reason]", name, follow_target_override = src)
+ atom_say("Запрос ОБР отправлен!")
+ GLOB.command_announcer.autosay("Отправлен запрос ОБР. Причина запроса: [ert_reason].", name, follow_target_override = src)
print_centcom_report(ert_reason, station_time_timestamp() + " ERT Request")
SSblackbox.record_feedback("nested tally", "keycard_auths", 1, list("ert", "called"))
diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm
index 0b299f9415e0..de185454b5cb 100644
--- a/code/modules/shuttle/emergency.dm
+++ b/code/modules/shuttle/emergency.dm
@@ -109,7 +109,7 @@
if(hijack_announce)
announce_hijack_stage()
hijack_last_stage_increase = world.time
- atom_say("Navigational protocol error! Rebooting systems.")
+ atom_say("Ошибка навигационных протоколов! Перезагрузка систем.")
if(shuttle.mode == SHUTTLE_ESCAPE)
if(shuttle.hijack_status == HIJACKED)
shuttle.setTimer(hijack_completion_flight_time_set)
@@ -140,11 +140,11 @@
to_chat(user, "The emergency shuttle is already loaded with a corrupt navigational payload. What more do you want from it?")
return
if(hijack_last_stage_increase >= world.time - hijack_stage_cooldown)
- atom_say("ACCESS DENIED: Console is temporarily on security lockdown. Please try again.")
+ atom_say("ДОСТУП ЗАПРЕЩЕН: Консоль временно заблокирована. Пожалуйста, попробуйте еще раз.")
return
hijack_hacking = TRUE
to_chat(user, "You [SSshuttle.emergency.hijack_status == NOT_BEGUN ? "begin" : "continue"] to override [src]'s navigational protocols.")
- atom_say("Software override initiated.")
+ atom_say("Инициировано программное переопределение.")
playsound(src, 'sound/machines/terminal_on.ogg', 100, FALSE)
var/turf/console_hijack_turf = get_turf(src)
message_admins("[src] is being overridden for hijack by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(console_hijack_turf)]")
diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm
index 6ba2b611fafd..1e8f90f90afb 100644
--- a/code/modules/shuttle/shuttle.dm
+++ b/code/modules/shuttle/shuttle.dm
@@ -850,7 +850,7 @@
return
switch(SSshuttle.moveShuttle(shuttleId, destination, TRUE, usr))
if(0)
- atom_say("Shuttle departing! Please stand away from the doors.")
+ atom_say("Шаттл отправляется! Пожалуйста, отойдите от шлюзов.")
usr.create_log(MISC_LOG, "used [src] to call the [shuttleId] shuttle")
if(!moved)
moved = TRUE
@@ -861,7 +861,7 @@
if(2)
to_chat(usr, "Unable to comply.")
if(3)
- atom_say("Shuttle has already received a pending movement request. Please wait until the movement request is processed.")
+ atom_say("Шаттл уже получил запрос на перемещение. Пожалуйста, подождите, пока запрос на перемещение не будет обработан.")
/obj/machinery/computer/shuttle/emag_act(mob/user)
diff --git a/code/modules/supply/supply_console.dm b/code/modules/supply/supply_console.dm
index 8ea77828d518..44ac6075b5e7 100644
--- a/code/modules/supply/supply_console.dm
+++ b/code/modules/supply/supply_console.dm
@@ -361,7 +361,7 @@
if(pay_with_account(account, order.object.get_cost(), "[pack.name] Crate Purchase", "Cargo Requests Console", user, account_database.vendor_account))
SSeconomy.process_supply_order(order, TRUE) //send 'er back through
return TRUE
- atom_say("ERROR: Account tied to order cannot pay, auto-denying order")
+ atom_say("ОШИБКА: Счет, связанный с заказом, не может быть использован для оплаты. Заказ автоматически отклонен.")
SSeconomy.request_list -= order //just remove order at this poin
else
return TRUE
@@ -382,7 +382,7 @@
investigate_log("| [key_name(user)] has authorized an order for [pack.name]. Remaining Cargo Balance: [cargo_account.credit_balance].", "cargo")
SSblackbox.record_feedback("tally", "cargo_shuttle_order", 1, pack.name)
else
- atom_say("ERROR: Account tied to order cannot pay, auto-denying order")
+ atom_say("ОШИБКА: Счет, связанный с заказом, не может быть использован для оплаты. Заказ автоматически отклонен.")
SSeconomy.request_list -= order
break