diff --git a/code/datums/components/pet_commands/pet_commands_basic.dm b/code/datums/components/pet_commands/pet_commands_basic.dm index df2373c71c243..21d771bd3e318 100644 --- a/code/datums/components/pet_commands/pet_commands_basic.dm +++ b/code/datums/components/pet_commands/pet_commands_basic.dm @@ -8,7 +8,7 @@ command_name = "Stay" command_desc = "Command your pet to stay idle in this location." radial_icon_state = "halt" - speech_commands = list("sit", "stay", "stop") + speech_commands = list("sit", "stay", "stop", "сидеть", "лежать", "место", "фу", "стоп", "стой", "стоять") command_feedback = "sits" /datum/pet_command/idle/execute_action(datum/ai_controller/controller) @@ -25,7 +25,7 @@ command_name = "Loose" command_desc = "Allow your pet to resume its natural behaviours." radial_icon_state = "free" - speech_commands = list("free", "loose") + speech_commands = list("free", "loose", "гулять", "вон", "свобод", "брысь") command_feedback = "relaxes" /datum/pet_command/free/execute_action(datum/ai_controller/controller) @@ -43,7 +43,7 @@ command_name = "Follow" command_desc = "Command your pet to accompany you." radial_icon_state = "follow" - speech_commands = list("heel", "follow") + speech_commands = list("heel", "follow", "за мной", "след", "охран", "к ноге", "ко мне") callout_type = /datum/callout_option/move ///the behavior we use to follow var/follow_behavior = /datum/ai_behavior/pet_follow_friend @@ -67,7 +67,7 @@ command_name = "Play Dead" command_desc = "Play a macabre trick." radial_icon_state = "play_dead" - speech_commands = list("play dead") // Don't get too creative here, people talk about dying pretty often + speech_commands = list("play dead", "притворись мертвым", "умри") // Don't get too creative here, people talk about dying pretty often /datum/pet_command/play_dead/execute_action(datum/ai_controller/controller) controller.queue_behavior(/datum/ai_behavior/play_dead) @@ -180,7 +180,7 @@ command_desc = "Command your pet to attempt to breed with a partner." requires_pointing = TRUE radial_icon_state = "breed" - speech_commands = list("breed", "consummate") + speech_commands = list("breed", "consummate", "размножайся") ///the behavior we use to make babies var/datum/ai_behavior/reproduce_behavior = /datum/ai_behavior/make_babies @@ -217,7 +217,7 @@ radial_icon = 'icons/mob/actions/actions_spells.dmi' radial_icon_state = "projectile" requires_pointing = TRUE - speech_commands = list("shoot", "blast", "cast") + speech_commands = list("shoot", "blast", "cast", "стреля", "выстрел", "пиу", "паф", "каст") command_feedback = "growl" pointed_reaction = "and growls" /// Blackboard key where a reference to some kind of mob ability is stored diff --git a/code/datums/elements/slapcrafting.dm b/code/datums/elements/slapcrafting.dm index 2f5dee3c7f414..df95087b165c8 100644 --- a/code/datums/elements/slapcrafting.dm +++ b/code/datums/elements/slapcrafting.dm @@ -134,7 +134,7 @@ for(var/datum/crafting_recipe/recipe as anything in slapcraft_recipes) var/atom/result = initial(recipe.result) - examine_list += "See Recipe For [initial(result.name)]" + examine_list += "Узнать рецепт для [declent_ru_initial(result::name, GENITIVE, result::name)]" /datum/element/slapcrafting/proc/topic_handler(atom/source, user, href_list) SIGNAL_HANDLER @@ -179,7 +179,7 @@ // If we did find ingredients then add them onto the list. if(length(string_ingredient_list)) - to_chat(user, span_boldnotice("Extra Ingredients:")) + to_chat(user, span_boldnotice("Дополнительные ингредиенты:")) to_chat(user, boxed_message(span_notice(string_ingredient_list))) var/list/tool_list = "" @@ -193,7 +193,7 @@ tool_list += "[string]\n" if(length(tool_list)) - to_chat(user, span_boldnotice("Required Tools:")) + to_chat(user, span_boldnotice("Необходимые инструменты:")) to_chat(user, boxed_message(span_notice(tool_list))) qdel(cur_recipe) diff --git a/code/datums/elements/weapon_description.dm b/code/datums/elements/weapon_description.dm index f69af9139279c..88d1379c9e8e8 100644 --- a/code/datums/elements/weapon_description.dm +++ b/code/datums/elements/weapon_description.dm @@ -39,7 +39,7 @@ SIGNAL_HANDLER if(item.force >= 5 || item.throwforce >= 5 || item.override_notes || item.offensive_notes || attached_proc) /// Only show this tag for items that could feasibly be weapons, shields, or those that have special notes - examine_texts += span_notice("See combat information.") + examine_texts += span_notice("Боевые характеристики.") /** * diff --git a/code/datums/mood.dm b/code/datums/mood.dm index c23422a8a639a..0645675553219 100644 --- a/code/datums/mood.dm +++ b/code/datums/mood.dm @@ -388,7 +388,7 @@ if(MOOD_HAPPY2 to INFINITY) msg += span_boldnicegreen(event.description + "\n") else - msg += "[span_grey("I don't have much of a reaction to anything right now.")]\n" + msg += "[span_grey("Сейчас у меня нет особой реакции на что-либо.")]\n" to_chat(user, boxed_message(msg)) /// Updates the mob's moodies, if the area provides a mood bonus diff --git a/code/modules/admin/antag_panel.dm b/code/modules/admin/antag_panel.dm index 33d12f9be22bc..8532f5880ecf9 100644 --- a/code/modules/admin/antag_panel.dm +++ b/code/modules/admin/antag_panel.dm @@ -99,7 +99,7 @@ GLOBAL_VAR(antag_prototypes) var/out = "[name][(current && (current.real_name != name))?" (as [current.real_name])":""]
" out += "Mind currently owned by key: [key] [active?"(synced)":"(not synced)"]
" - out += "Assigned role: [assigned_role.title]. Edit
" + out += "Assigned role: [job_title_ru(assigned_role.title)]. Edit
" out += "Faction and special role: [special_role]
" out += "Show Teams

" diff --git a/code/modules/admin/verbs/secrets.dm b/code/modules/admin/verbs/secrets.dm index f2e813d09b4ff..fc7ba89a0acd3 100644 --- a/code/modules/admin/verbs/secrets.dm +++ b/code/modules/admin/verbs/secrets.dm @@ -347,7 +347,7 @@ ADMIN_VERB(secrets, R_NONE, "Secrets", "Abuse harder than you ever have before w if(SSeconomy.full_ancap) priority_announce("Принцип неагрессивности действует в полную силу. Любое проявление агрессии запрещено.", null, SSstation.announcer.get_rand_report_sound()) else - priority_announce("The NAP has been revoked.", null, SSstation.announcer.get_rand_report_sound()) + priority_announce("Принцип неагрессивности отменен.", null, SSstation.announcer.get_rand_report_sound()) if("send_shuttle_back") if (!is_funmin) return @@ -355,7 +355,7 @@ ADMIN_VERB(secrets, R_NONE, "Secrets", "Abuse harder than you ever have before w to_chat(usr, span_warning("Emergency shuttle not currently in transit!"), confidential = TRUE) return var/make_announcement = tgui_alert(usr, "Make a CentCom announcement?", "Emergency shuttle return", list("Yes", "Custom Text", "No")) || "No" - var/announcement_text = "Emergency shuttle trajectory overriden, rerouting course back to [station_name()]." + var/announcement_text = "Траектория эвакуационного шаттла изменена, перенаправление курса обратно на [station_name()]." if (make_announcement == "Custom Text") announcement_text = tgui_input_text(usr, "Custom CentCom announcement", "Emergency shuttle return", multiline = TRUE) || announcement_text var/new_timer = tgui_input_number(usr, "How long should the shuttle remain in transit?", "When are we droppin' boys?", 180, 600) @@ -366,9 +366,9 @@ ADMIN_VERB(secrets, R_NONE, "Secrets", "Abuse harder than you ever have before w if (make_announcement != "No") priority_announce( text = announcement_text, - title = "Shuttle Trajectory Override", + title = "Принудительное изменение траектории шаттла", sound = 'sound/announcer/announcement/announce_dig.ogg', - sender_override = "Emergency Shuttle Uplink Alert", + sender_override = "Система оповещения эвакуационного шаттла", color_override = "grey", ) SSshuttle.emergency.timer = INFINITY diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 6ae49a80ef50b..8f5b4dbf5a912 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -351,7 +351,7 @@ . += how_cool_are_your_threads.Join() if(get_armor().has_any_armor() || (flags_cover & (HEADCOVERSMOUTH|PEPPERPROOF)) || (clothing_flags & STOPSPRESSUREDAMAGE) || (visor_flags & STOPSPRESSUREDAMAGE)) - . += span_notice("It has a tag listing its protection classes.") + . += span_notice("Имеется бирка, указывающая классы защиты.") /obj/item/clothing/examine_tags(mob/user) . = ..() diff --git a/code/modules/food_and_drinks/machinery/processor.dm b/code/modules/food_and_drinks/machinery/processor.dm index 9ebbc59ee780f..41e029a7a4f52 100644 --- a/code/modules/food_and_drinks/machinery/processor.dm +++ b/code/modules/food_and_drinks/machinery/processor.dm @@ -143,9 +143,9 @@ if(!LAZYLEN(processor_contents)) to_chat(user, span_warning("Внутри [declent_ru(GENITIVE)] пусто!")) return TRUE - user.visible_message(span_notice("[user] turns on [src]."), \ - span_notice("You turn on [src]."), \ - span_hear("You hear a food processor.")) + user.visible_message(span_notice("[capitalize(user.declent_ru(NOMINATIVE))] включает [declent_ru(ACCUSATIVE)]."), \ + span_notice("Вы включаете [declent_ru(ACCUSATIVE)]."), \ + span_hear("Вы слышите кухонный комбайн.")) processing() diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index ecd4cd9953b98..9bbd910d144ba 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -425,9 +425,9 @@ visible_message(span_notice("[capitalize(declent_ru(NOMINATIVE))] осматривает себя."), \ span_notice("Вы проверяете себя на наличие осколков.")) if(I.is_embed_harmless()) - to_chat(src, "\t There is \a [I] stuck to your [LB.name]!") + to_chat(src, "\t [capitalize(I.declent_ru(NOMINATIVE))] застревает у вас на [LB.declent_ru(PREPOSITIONAL)]!") else - to_chat(src, "\t There is \a [I] embedded in your [LB.name]!") + to_chat(src, "\t [capitalize(I.declent_ru(NOMINATIVE))] впивается у вас в [LB.declent_ru(PREPOSITIONAL)]!") return embeds @@ -663,7 +663,7 @@ return FALSE if (run_armor_check(attack_flag = BIO, silent = TRUE) >= 100) - to_chat(src, span_warning("Your armor shields you from [scramble_source]!")) + to_chat(src, span_warning("Ваша броня поглощает воздействие от [scramble_source]!")) return FALSE if (!length(GLOB.bioscrambler_valid_organs) || !length(GLOB.bioscrambler_valid_parts)) diff --git a/code/modules/mob/living/carbon/examine.dm b/code/modules/mob/living/carbon/examine.dm index 2b8ea6d6a6e9d..d4d6c8d449f9f 100644 --- a/code/modules/mob/living/carbon/examine.dm +++ b/code/modules/mob/living/carbon/examine.dm @@ -455,8 +455,8 @@ if(wear_id && !(wear_id.item_flags & EXAMINE_SKIP)) var/obj/item/card/id/id = wear_id.GetID() if(id && get_dist(user, src) <= ID_EXAMINE_DISTANCE) - var/id_href = "[wear_id.examine_title(user)]" - . += "[t_He] [t_is] wearing [id_href]." + var/id_href = "[wear_id.examine_title(user, declent = ACCUSATIVE)]" + . += "[t_He] носит [id_href]." else . += "[t_He] носит [wear_id.examine_title(user, declent = ACCUSATIVE)]." @@ -494,8 +494,8 @@ if(perpname && (HAS_TRAIT(user, TRAIT_SECURITY_HUD) || HAS_TRAIT(user, TRAIT_MEDICAL_HUD)) && (user.stat == CONSCIOUS || isobserver(user)) && user != src) var/datum/record/crew/target_record = find_record(perpname) if(target_record) - . += "Rank: [target_record.rank]" - . += "\[Front photo\]\[Side photo\]" + . += "Должность: [target_record.rank]" + . += "\[Фото спереди\]\[Фото сбоку\]" if(HAS_TRAIT(user, TRAIT_MEDICAL_HUD) && HAS_TRAIT(user, TRAIT_SECURITY_HUD)) title = separator_hr("Медицинский и безопасности анализы") . += get_medhud_examine_info(user, target_record) @@ -529,10 +529,10 @@ . += "\[[target_record.physical_status]\]" . += "\[[target_record.mental_status]\]" else - . += "\[Record Missing\]" - . += "\[Record Missing\]" - . += "\[Medical evaluation\]" - . += "\[See quirks\]" + . += "\[Запись отсутствует\]" + . += "\[Запись отсутствует\]" + . += "\[Медицинское обследование\]" + . += "\[Показать черты\]" /// Collects information displayed about src when examined by a user with a security HUD. /mob/living/carbon/proc/get_sechud_examine_info(mob/living/user, datum/record/crew/target_record) @@ -546,15 +546,15 @@ if(target_record.security_note) security_note = target_record.security_note if(ishuman(user)) - . += "Criminal status: \[[wanted_status]\]" + . += "Криминальный статус: \[[wanted_status]\]" else - . += "Criminal status: [wanted_status]" - . += "Important Notes: [security_note]" - . += "Security record: \[View\]" + . += "Криминальный статус: [wanted_status]" + . += "Важные заметки: [security_note]" + . += "Записи охраны: \[Показать\]" if(ishuman(user)) - . += "\[Add citation\]\ - \[Add crime\]\ - \[Add note\]" + . += "\[Добавить штраф\]\ + \[Добавить преступление\]\ + \[Добавить примечание\]" /mob/living/carbon/human/examine_more(mob/user) . = ..() diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 3037a44d5aa2c..44080f95f0052 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -315,9 +315,9 @@ sec_record_message += span_notice("\n-- РЕДАКТИРОВАНО --") continue - sec_record_message += "\nCrime: [crime.name]" - sec_record_message += "\nDetails: [crime.details]" - sec_record_message += "\nAdded by [crime.author] at [crime.time]" + sec_record_message += "\nПреступление: [crime.name]" + sec_record_message += "\nОписание: [crime.details]" + sec_record_message += "\n[crime.author] добавляет в [crime.time]" to_chat(human_or_ghost_user, boxed_message(sec_record_message)) return if(ishuman(human_or_ghost_user)) diff --git a/code/modules/mob/living/navigation.dm b/code/modules/mob/living/navigation.dm index 245d594665c71..82c60315e9465 100644 --- a/code/modules/mob/living/navigation.dm +++ b/code/modules/mob/living/navigation.dm @@ -37,15 +37,15 @@ destination_list[destination_name] = destination if(can_go_down) - destination_list["Nearest Way Down"] = DOWN + destination_list["Близлежащий путь вниз"] = DOWN if(can_go_up) - destination_list["Nearest Way Up"] = UP + destination_list["Близлежащий путь вверх"] = UP if(!length(destination_list)) balloon_alert(src, "нет сигнала для навигации!") return - var/platform_code = tgui_input_list(src, "Select a location", "Navigate", sort_list(destination_list)) + var/platform_code = tgui_input_list(src, "Выберите локацию", "Навигация", sort_list(destination_list)) var/atom/navigate_target = destination_list[platform_code] if(isnull(navigate_target) || incapacitated) @@ -58,12 +58,12 @@ // lowering the cooldown to 5 seconds if we're navigating to a ladder or staircase instead of a proper destination // (so we can decide to move to another destination right off the bat, rather than needing to wait) COOLDOWN_START(src, navigate_cooldown, 5 SECONDS) - var/direction_name = isatom(navigate_target) ? "there" : (navigate_target == UP ? "up" : "down") + var/direction_name = isatom(navigate_target) ? "туда" : (navigate_target == UP ? "вверх" : "вниз") var/nav_dir = isatom(navigate_target) ? (get_dir_multiz(src, navigate_target) & (UP|DOWN)) : navigate_target var/atom/new_target = find_nearest_stair_or_ladder(nav_dir) if(!new_target) - balloon_alert(src, "can't find ladder or staircase going [direction_name]!") + balloon_alert(src, "не удалось найти ступеньки или лестницу ведущую [direction_name]!") return navigate_target = new_target @@ -104,7 +104,7 @@ RegisterSignal(src, COMSIG_LIVING_DEATH, PROC_REF(cut_navigation)) if(finding_zchange) RegisterSignal(src, COMSIG_MOVABLE_Z_CHANGED, PROC_REF(cut_navigation)) - balloon_alert(src, "navigation path created") + balloon_alert(src, "путь к месту назначания построен") /mob/living/proc/shine_navigation() for(var/i in 1 to length(client.navigation_images)) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 85d2dad5bfc65..fb3e98d510149 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -531,7 +531,7 @@ if(examine_time && (world.time - examine_time < EXAMINE_MORE_WINDOW)) var/list/result = examinify.examine_more(src) if(!length(result)) - result += span_notice("You examine [examinify] closer, but find nothing of interest...") + result += span_notice("Вы осматриваете [examinify.declent_ru(ACCUSATIVE)] подробнее, но не находите ничего интересного...") result_combined = boxed_message(jointext(result, "
")) else diff --git a/code/modules/surgery/bodyparts/_bodyparts.dm b/code/modules/surgery/bodyparts/_bodyparts.dm index 66bab973ed49e..35a2dd7783767 100644 --- a/code/modules/surgery/bodyparts/_bodyparts.dm +++ b/code/modules/surgery/bodyparts/_bodyparts.dm @@ -362,8 +362,8 @@ check_list += "\t [span_boldwarning("Ваша [declent_ru(NOMINATIVE)] страдает от: [LOWER_TEXT(wound.name)]!!!")]" for(var/obj/item/embedded_thing in embedded_objects) - var/stuck_word = embedded_thing.is_embed_harmless() ? "stuck" : "embedded" - check_list += "\t There is \a [embedded_thing] [stuck_word] in your [name]!" + var/stuck_word = embedded_thing.is_embed_harmless() ? "прилип" : "застрял" + check_list += "\t [capitalize(embedded_thing.declent_ru(NOMINATIVE))] [stuck_word] [stuck_word == "застрял" ? "в" : "к"] вашей [declent_ru(DATIVE)]!" /obj/item/bodypart/blob_act() receive_damage(max_damage, wound_bonus = CANT_WOUND)