Skip to content

Commit

Permalink
feat: announcements translation (#132)
Browse files Browse the repository at this point in the history
## About The Pull Request

Перевод части событий на станции

## Why It's Good For The Game

ТТС не будет страдать

## Changelog

:cl:
add: русский перевод для примерно трети станционных ивентов
/:cl:

---------

Co-authored-by: larentoun <[email protected]>
  • Loading branch information
Gaxeer and larentoun authored Apr 19, 2024
1 parent e9071c7 commit f9854ba
Show file tree
Hide file tree
Showing 73 changed files with 209 additions and 213 deletions.
24 changes: 12 additions & 12 deletions code/__HELPERS/priority_announce.dm
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,14 @@
var/header
switch(type)
if(ANNOUNCEMENT_TYPE_PRIORITY)
header = MAJOR_ANNOUNCEMENT_TITLE("Priority Announcement")
header = MAJOR_ANNOUNCEMENT_TITLE("Приоритетное оповещение")
if(length(title) > 0)
header += SUBHEADER_ANNOUNCEMENT_TITLE(title)
if(ANNOUNCEMENT_TYPE_CAPTAIN)
header = MAJOR_ANNOUNCEMENT_TITLE("Captain's Announcement")
GLOB.news_network.submit_article(text, "Captain's Announcement", "Station Announcements", null)
header = MAJOR_ANNOUNCEMENT_TITLE("Оповещение от капитана")
GLOB.news_network.submit_article(text, "Оповещение от капитана", "Станционные оповещения", null)
if(ANNOUNCEMENT_TYPE_SYNDICATE)
header = MAJOR_ANNOUNCEMENT_TITLE("Syndicate Captain's Announcement")
header = MAJOR_ANNOUNCEMENT_TITLE("Оповещение от капитана Синдиката")
else
header += generate_unique_announcement_header(title, sender_override)

Expand All @@ -87,18 +87,18 @@

if(isnull(sender_override) && players == GLOB.player_list)
if(length(title) > 0)
GLOB.news_network.submit_article(title + "<br><br>" + text, "[command_name()]", "Station Announcements", null)
GLOB.news_network.submit_article(title + "<br><br>" + text, "[command_name()]", "Станционные оповещения", null)
else
GLOB.news_network.submit_article(text, "[command_name()] Update", "Station Announcements", null)
GLOB.news_network.submit_article(text, "[command_name()] Update", "Станционные оповещения", null)

/proc/print_command_report(text = "", title = null, announce=TRUE)
if(!title)
title = "Classified [command_name()] Update"
title = "Засекреченное сообщение от [command_name()]"

if(announce)
priority_announce(
text = "A report has been downloaded and printed out at all communications consoles.",
title = "Incoming Classified Message",
text = "Отчет был загружен и распечатан на всех консолях связи.",
title = "Входящее засекреченное сообщение",
sound = SSstation.announcer.get_rand_report_sound(),
has_important_message = TRUE,
)
Expand All @@ -123,7 +123,7 @@
* should_play_sound - Whether the notice sound should be played or not.
* color_override - optional, use the passed color instead of the default notice color.
*/
/proc/minor_announce(message, title = "Attention:", alert = FALSE, html_encode = TRUE, list/players, sound_override, should_play_sound = TRUE, color_override)
/proc/minor_announce(message, title = "Внимание:", alert = FALSE, html_encode = TRUE, list/players, sound_override, should_play_sound = TRUE, color_override)
if(!message)
return

Expand Down Expand Up @@ -156,10 +156,10 @@
var/message

if(current_level_number > previous_level_number)
title = "Attention! Security level elevated to [current_level_name]:"
title = "Внимание! Код повышен до [current_level_name]:"
message = selected_level.elevating_to_announcement
else
title = "Attention! Security level lowered to [current_level_name]:"
title = "Внимание! Код снижен до [current_level_name]:"
message = selected_level.lowering_to_announcement

var/list/level_announcement_strings = list()
Expand Down
4 changes: 2 additions & 2 deletions code/controllers/subsystem/dynamic/dynamic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -362,11 +362,11 @@ SUBSYSTEM_DEF(dynamic)
#ifndef MAP_TEST
print_command_report(., "[command_name()] Status Summary", announce=FALSE)
if(greenshift)
priority_announce("Thanks to the tireless efforts of our security and intelligence divisions, there are currently no credible threats to [station_name()]. All station construction projects have been authorized. Have a secure shift!", "Security Report", SSstation.announcer.get_rand_report_sound(), color_override = "green")
priority_announce("Благодаря невероятным усилиям наших отделов безопасности и разведки, в настоящее время нет никаких реальных угроз для [station_name()]. Все проекты на смену уже утверждены. Удачной смены!", "Отчет о безопасности", SSstation.announcer.get_rand_report_sound(), color_override = "green")
else
if(SSsecurity_level.get_current_level_as_number() < SEC_LEVEL_BLUE)
SSsecurity_level.set_level(SEC_LEVEL_BLUE, announce = FALSE)
priority_announce("[SSsecurity_level.current_security_level.elevating_to_announcement]\n\nA summary has been copied and printed to all communications consoles.", "Security level elevated.", ANNOUNCER_INTERCEPT, color_override = SSsecurity_level.current_security_level.announcement_color)
priority_announce("[SSsecurity_level.current_security_level.elevating_to_announcement]\n\nОтчет был скопирован и распечатан на всех консолях связи.", "Код повышен.", ANNOUNCER_INTERCEPT, color_override = SSsecurity_level.current_security_level.announcement_color)
#endif

return .
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@
new_malf_ai.mind.special_role = antag_flag
new_malf_ai.mind.add_antag_datum(malf_antag_datum)
if(prob(MALF_ION_PROB))
priority_announce("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert", ANNOUNCER_IONSTORM)
priority_announce("Вблизи станции обнаружен ионный шторм. Пожалуйста, проверьте все оборудование, управляемое ИИ, на наличие ошибок.", "ВНИМАНИЕ: Обнаружена аномалия", ANNOUNCER_IONSTORM)
if(prob(REPLACE_LAW_WITH_ION_PROB))
new_malf_ai.replace_random_law(generate_ion_law(), list(LAW_INHERENT, LAW_SUPPLIED, LAW_ION), LAW_ION)
else
Expand Down
2 changes: 1 addition & 1 deletion code/controllers/subsystem/economy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ SUBSYSTEM_DEF(economy)
else
fluff_string = ", and company countermeasures are failing to protect <b>YOU</b> from being affected. We're all doomed!"
earning_report = "<b>Sector Economic Report</b><br><br> Sector vendor prices is currently at <b>[SSeconomy.inflation_value()*100]%</b>[fluff_string]<br><br> The station spending power is currently <b>[station_total] Credits</b>, and the crew's targeted allowance is at <b>[station_target] Credits</b>.<br><br>[SSstock_market.news_string] That's all from the <i>Nanotrasen Economist Division</i>."
GLOB.news_network.submit_article(earning_report, "Station Earnings Report", "Station Announcements", null, update_alert = FALSE)
GLOB.news_network.submit_article(earning_report, "Station Earnings Report", "Станционные оповещения", null, update_alert = FALSE)
return TRUE

/**
Expand Down
2 changes: 1 addition & 1 deletion code/controllers/subsystem/nightshift.dm
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ SUBSYSTEM_DEF(nightshift)
priority_announce(
text = message,
sound = 'sound/misc/notice2.ogg',
sender_override = "Automated Lighting System Announcement",
sender_override = "Система освещения.",
color_override = "grey",
)

Expand Down
32 changes: 16 additions & 16 deletions code/controllers/subsystem/shuttle.dm
Original file line number Diff line number Diff line change
Expand Up @@ -254,15 +254,15 @@ SUBSYSTEM_DEF(shuttle)
return //no players no autoevac

if(alive / total <= threshold)
var/msg = "Automatically dispatching emergency shuttle due to crew death."
var/msg = "Автоматическая отправка эвакуационного шаттла в связи с гибелью экипажа."
message_admins(msg)
log_shuttle("[msg] Alive: [alive], Roundstart: [total], Threshold: [threshold]")
emergency_no_recall = TRUE
priority_announce(
text = "Catastrophic casualties detected: crisis shuttle protocols activated - jamming recall signals across all frequencies.",
title = "Emergency Shuttle Dispatched",
text = "Обнаружены катастрофические потери: активированы протоколы кризисного шаттла - глушение сигналов отзыва на всех частотах.",
title = "Отправлен эвакуационный шаттл",
sound = ANNOUNCER_SHUTTLECALLED,
sender_override = "Emergency Shuttle Uplink Alert",
sender_override = "Система оповещения эвакуационного шаттла",
color_override = "orange",
)
if(emergency.timeLeft(1) > emergency_call_time * ALERT_COEFF_AUTOEVAC_CRITICAL)
Expand All @@ -273,10 +273,10 @@ SUBSYSTEM_DEF(shuttle)
CRASH("Emergency shuttle block was called, but missing a value for the lockout duration")
if(admin_emergency_no_recall)
priority_announce(
text = "Emergency shuttle uplink interference detected, shuttle call disabled while the system reinitializes. Estimated restore in [DisplayTimeText(lockout_timer, round_seconds_to = 60)].",
title = "Uplink Interference",
text = "Обнаружены помехи в системах связи эвакуационного шаттла, вызов шаттла невозможен на время реинициализации системы. Предполагаемое восстановление через [DisplayTimeText(lockout_timer, round_seconds_to = 60)].",
title = "Помехи в работе систем связи эвакуационного шаттла",
sound = 'sound/misc/announce_dig.ogg',
sender_override = "Emergency Shuttle Uplink Alert",
sender_override = "Система оповещения эвакуационного шаттла",
color_override = "grey",
)
addtimer(CALLBACK(src, PROC_REF(unblock_recall)), lockout_timer)
Expand All @@ -287,10 +287,10 @@ SUBSYSTEM_DEF(shuttle)
/datum/controller/subsystem/shuttle/proc/unblock_recall()
if(admin_emergency_no_recall)
priority_announce(
text= "Emergency shuttle uplink services are now back online.",
title = "Uplink Restored",
text= "Системы связи эвакуационного шаттла работают в штатном режиме.",
title = "Связь с аварийным шаттлом восстановлена",
sound = 'sound/misc/announce_dig.ogg',
sender_override = "Emergency Shuttle Uplink Alert",
sender_override = "Система оповещения эвакуационного шаттла",
color_override = "green",
)
return
Expand Down Expand Up @@ -521,20 +521,20 @@ SUBSYSTEM_DEF(shuttle)
emergency.timer = null
emergency.sound_played = FALSE
priority_announce(
text = "Departure has been postponed indefinitely pending conflict resolution.",
title = "Hostile Environment Detected",
text = "Отправка была отложена на неопределенный срок до разрешения конфликта.",
title = "Обнаружено враждебное окружение",
sound = 'sound/misc/notice1.ogg',
sender_override = "Emergency Shuttle Uplink Alert",
sender_override = "Система оповещения эвакуационного шаттла",
color_override = "grey",
)
if(!emergency_no_escape && (emergency.mode == SHUTTLE_STRANDED))
emergency.mode = SHUTTLE_DOCKED
emergency.setTimer(emergency_dock_time)
priority_announce(
text = "You have [DisplayTimeText(emergency_dock_time)] to board the emergency shuttle.",
title = "Hostile Environment Resolved",
text = "У вас есть [DisplayTimeText(emergency_dock_time)], чтобы добраться до эвакуационного шаттла.",
title = "Враждебное окружение устранено",
sound = 'sound/misc/announce_dig.ogg',
sender_override = "Emergency Shuttle Uplink Alert",
sender_override = "Система оповещения эвакуационного шаттла",
color_override = "green",
)

Expand Down
6 changes: 3 additions & 3 deletions code/datums/components/cult_ritual_item.dm
Original file line number Diff line number Diff line change
Expand Up @@ -369,16 +369,16 @@
return FALSE
var/area/summon_location = get_area(cultist)
priority_announce(
text = "Figments from an eldritch god are being summoned by [cultist.real_name] into [summon_location.get_original_area_name()] from an unknown dimension. Disrupt the ritual at all costs!",
text = "Зафиксирован призыв древнего божества культистом [cultist.real_name] в [summon_location.get_original_area_name()]. Прервите ритуал любой ценой!",
sound = 'sound/ambience/antag/bloodcult/bloodcult_scribe.ogg',
sender_override = "[command_name()] Higher Dimensional Affairs",
sender_override = "[command_name()]: Отдел паранормальных явлений",
has_important_message = TRUE,
)
for(var/shielded_turf in spiral_range_turfs(1, cultist, 1))
LAZYADD(shields, new /obj/structure/emergency_shield/cult/narsie(shielded_turf))

notify_ghosts(
"[cultist] has begun scribing a Nar'Sie rune!",
"[cultist] начал рисовать руну Нар'Си!",
source = cultist,
header = "Maranax Infirmux!",
notify_flags = NOTIFY_CATEGORY_NOFLASH,
Expand Down
24 changes: 12 additions & 12 deletions code/datums/station_traits/negative_traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -630,9 +630,9 @@
var/obj/machinery/nebula_shielding/emergency/rad_shield = /obj/machinery/nebula_shielding/emergency/radiation

priority_announce(
{"Is everything okay there? We're getting high radiation readings from inside the station. \
We're sending an emergency shielding unit for now, it will last [initial(rad_shield.detonate_in) / (1 MINUTES)] minutes. \n\n\
Set up the nebula shielding. You can order construction kits at cargo if yours have been lost.
{"У вас всё в порядке? Мы получаем высокие показатели радиации внутри станции. \
Мы отправляем аварийный блок защиты, он продержится [initial(rad_shield.detonate_in) / (1 MINUTES)] минут. \n\n\
Установите защиту от радиации. Вы можете заказать строительные наборы в отделе снабжения, если ваши были утеряны.
"}
)

Expand All @@ -652,20 +652,20 @@
var/obj/machinery/nebula_shielding/shielder = /obj/machinery/nebula_shielding/radiation
var/obj/machinery/gravity_generator/main/innate_shielding = /obj/machinery/gravity_generator/main
//How long do we have untill the first shielding unit needs to be up?
var/deadline = "[(initial(innate_shielding.radioactive_nebula_shielding) * intensity_increment_time) / (1 MINUTES)] minute\s"
var/deadline = "[(initial(innate_shielding.radioactive_nebula_shielding) * intensity_increment_time) / (1 MINUTES)] минут"
//For how long each shielding unit will protect for
var/shielder_time = "[(initial(shielder.shielding_strength) * intensity_increment_time) / (1 MINUTES)] minute\s"
var/shielder_time = "[(initial(shielder.shielding_strength) * intensity_increment_time) / (1 MINUTES)] минут"
//Max shielders, excluding the grav-gen to avoid confusion when that goes down
var/max_shielders = ((maximum_nebula_intensity / intensity_increment_time)) / initial(shielder.shielding_strength)

var/announcement = {"Your station has been constructed inside a radioactive nebula. \
Standard spacesuits will not protect against the nebula and using them is strongly discouraged. \n\n\
var/announcement = {"Ваша станция была построена внутри радиоактивной туманности. \
Стандартные скафандры не защитят от радиации, и использовать их настоятельно не рекомендуется. \n\n\

EXTREME IMPORTANCE: The station is falling deeper into the nebula, and the gravity generator's innate radiation shielding \
will not hold very long. Your engineering department has been supplied with all the necessary supplies to set up \
shields to protect against the nebula. Additional supply crates can be ordered at cargo. \n\n\
You have [deadline] before the nebula enters the station. \
Every shielding unit will provide an additional [shielder_time] of protection, fully protecting the station with [max_shielders] shielding units.
ИНФОРМАЦИЯ ПОВЫШЕННОЙ ВАЖНОСТИ: Станция все глубже погружается в туманность, а встроенная в гравитационный генератор защита от радиации \
долго не продержится. Ваш инженерный отдел получил все необходимые материалы для создания \
защиты от туманности. Дополнительное снаряжение может заказано в отделе снабжения. \n\n\
У вас [deadline] до проявления особенностей туманности на станции. \
Каждый защитный блок обеспечивает дополнительные [shielder_time] защиты, установите [max_shielders] блоков защиты, чтобы полностью решить проблему радиации.
"}

priority_announce(announcement, sound = 'sound/misc/notice1.ogg')
Expand Down
2 changes: 1 addition & 1 deletion code/datums/station_traits/neutral_traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@

/datum/station_trait/birthday/proc/announce_birthday()
report_message = "We here at Nanotrasen would all like to wish [birthday_person ? birthday_person_name : "Employee Name"] a very happy birthday."
priority_announce("Happy birthday to [birthday_person ? birthday_person_name : "Employee Name"]! Nanotrasen wishes you a very happy [birthday_person ? thtotext(birthday_person.age + 1) : "255th"] birthday.")
priority_announce("Поздравляем с днём рождения [birthday_person ? birthday_person_name : "Employee Name"]! Nanotrasen желает счастливого [birthday_person ? "[birthday_person.age + 1]-го" : "255-го"] Дня Рождения.")
if(birthday_person)
playsound(birthday_person, 'sound/items/party_horn.ogg', 50)
birthday_person.add_mood_event("birthday", /datum/mood_event/birthday)
Expand Down
8 changes: 4 additions & 4 deletions code/datums/weather/weather_types/radiation_storm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@
desc = "A cloud of intense radiation passes through the area dealing rad damage to those who are unprotected."

telegraph_duration = 400
telegraph_message = "<span class='danger'>The air begins to grow warm.</span>"
telegraph_message = "<span class='danger'>Воздух начинает нагреваться.</span>"

weather_message = "<span class='userdanger'><i>You feel waves of heat wash over you! Find shelter!</i></span>"
weather_message = "<span class='userdanger'><i>Вы чувствуете, как вас окутывают волны тепла! Найдите убежище!</i></span>"
weather_overlay = "ash_storm"
weather_duration_lower = 600
weather_duration_upper = 1500
weather_color = "green"
weather_sound = 'sound/misc/bloblarm.ogg'

end_duration = 100
end_message = "<span class='notice'>The air seems to be cooling off again.</span>"
end_message = "<span class='notice'>Кажется, воздух снова остывает.</span>"

area_type = /area
protected_areas = list(/area/station/maintenance, /area/station/ai_monitored/turret_protected/ai_upload, /area/station/ai_monitored/turret_protected/ai_upload_foyer,
Expand Down Expand Up @@ -60,7 +60,7 @@
/datum/weather/rad_storm/end()
if(..())
return
priority_announce("The radiation threat has passed. Please return to your workplaces.", "Anomaly Alert")
priority_announce("Радиационная угроза миновала. Пожалуйста, вернитесь на свои рабочие места.", "ВНИМАНИЕ: Обнаружена аномалия")
status_alarm(FALSE)

/datum/weather/rad_storm/proc/do_mutate(mob/living/carbon/human/mutant)
Expand Down
Loading

0 comments on commit f9854ba

Please sign in to comment.