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