From afeadcb56d969fe2d2b8e2cffece46d988332a3d Mon Sep 17 00:00:00 2001
From: larentoun <31931237+larentoun@users.noreply.github.com>
Date: Fri, 12 Jul 2024 00:20:36 +0300
Subject: [PATCH] [SEMI-MODULAR] RU Job titles (#343)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## About The Pull Request
Перевод названий профессий
## Тесты
* Карта при спавне
* ПДА при спавне
* В крю манифесте
* В мессенджере
* В редакторе карточек
* Прок работает
* Работает в префах
* Работает в лейтжоине
* Работает в синди-карте
Скриншоты
![Screenshot_3](https://github.com/ss220club/Bandastation/assets/31931237/25515abc-faa7-441c-8ce5-8468d22a32da)
![Screenshot_4](https://github.com/ss220club/Bandastation/assets/31931237/e745ad23-c09a-414b-a260-d93009e62a5d)
![Screenshot_5](https://github.com/ss220club/Bandastation/assets/31931237/7d371ddb-cd1f-4393-9038-49aa0664291a)
Необходимо в ветке translate внедрять прок job_title_ru(), например у
тех же целей антага.
## Changelog
:cl:
add: Перевод профессий
/:cl:
---
code/__DEFINES/bandastation/ru_jobs.dm | 121 ++++++++++++++++++
modular_bandastation/modular_bandastation.dme | 1 +
modular_bandastation/ru_jobs/README.md | 10 ++
modular_bandastation/ru_jobs/_ru_jobs.dm | 4 +
modular_bandastation/ru_jobs/_ru_jobs.dme | 5 +
.../ru_jobs/code/ru_id_cards.dm | 119 +++++++++++++++++
modular_bandastation/ru_jobs/code/ru_jobs.dm | 111 ++++++++++++++++
modular_bandastation/ru_jobs/code/ru_pda.dm | 10 ++
tgstation.dme | 1 +
tgui/packages/tgui/bandastation/ru_jobs.tsx | 53 ++++++++
.../packages/tgui/interfaces/JobSelection.tsx | 13 +-
.../tgui/interfaces/NtosCrewManifest.jsx | 11 +-
.../interfaces/PreferencesMenu/JobsPage.tsx | 5 +-
13 files changed, 459 insertions(+), 5 deletions(-)
create mode 100644 code/__DEFINES/bandastation/ru_jobs.dm
create mode 100644 modular_bandastation/ru_jobs/README.md
create mode 100644 modular_bandastation/ru_jobs/_ru_jobs.dm
create mode 100644 modular_bandastation/ru_jobs/_ru_jobs.dme
create mode 100644 modular_bandastation/ru_jobs/code/ru_id_cards.dm
create mode 100644 modular_bandastation/ru_jobs/code/ru_jobs.dm
create mode 100644 modular_bandastation/ru_jobs/code/ru_pda.dm
create mode 100644 tgui/packages/tgui/bandastation/ru_jobs.tsx
diff --git a/code/__DEFINES/bandastation/ru_jobs.dm b/code/__DEFINES/bandastation/ru_jobs.dm
new file mode 100644
index 0000000000000..1b78a2283032d
--- /dev/null
+++ b/code/__DEFINES/bandastation/ru_jobs.dm
@@ -0,0 +1,121 @@
+// Keep this in sync with JOBS_RU from tgui\packages\tgui\bandastation\ru_jobs.tsx
+//No department
+#define JOB_ASSISTANT_RU "Гражданский"
+#define JOB_PRISONER_RU "Заключенный"
+//Command
+#define JOB_CAPTAIN_RU "Капитан"
+#define JOB_HEAD_OF_PERSONNEL_RU "Глава персонала"
+#define JOB_HEAD_OF_SECURITY_RU "Глава службы безопасности"
+#define JOB_RESEARCH_DIRECTOR_RU "Директор исследований"
+#define JOB_CHIEF_ENGINEER_RU "Главный инженер"
+#define JOB_CHIEF_MEDICAL_OFFICER_RU "Главный врач"
+#define JOB_BRIDGE_ASSISTANT_RU "Bridge Assistant"
+#define JOB_VETERAN_ADVISOR_RU "Veteran Security Advisor"
+//Silicon
+#define JOB_AI_RU "ИИ"
+#define JOB_CYBORG_RU "Киборг"
+#define JOB_PERSONAL_AI_RU "Персональный ИИ"
+#define JOB_HUMAN_AI_RU "Большой брат"
+//Security
+#define JOB_WARDEN_RU "Смотритель"
+#define JOB_DETECTIVE_RU "Детектив"
+#define JOB_SECURITY_OFFICER_RU "Офицер"
+#define JOB_SECURITY_OFFICER_MEDICAL_RU "Офицер (Медицина)"
+#define JOB_SECURITY_OFFICER_ENGINEERING_RU "Офицер (Инженерия)"
+#define JOB_SECURITY_OFFICER_SCIENCE_RU "Офицер (Исследование)"
+#define JOB_SECURITY_OFFICER_SUPPLY_RU "Офицер (Снабжение)"
+//Engineering
+#define JOB_STATION_ENGINEER_RU "Станционный инженер"
+#define JOB_ATMOSPHERIC_TECHNICIAN_RU "Атмосферный техник"
+//Medical
+#define JOB_CORONER_RU "Коронер"
+#define JOB_MEDICAL_DOCTOR_RU "Врач"
+#define JOB_PARAMEDIC_RU "Парамедик"
+#define JOB_CHEMIST_RU "Химик"
+//Science
+#define JOB_SCIENTIST_RU "Ученый"
+#define JOB_ROBOTICIST_RU "Робототехник"
+#define JOB_GENETICIST_RU "Генетик"
+//Supply
+#define JOB_QUARTERMASTER_RU "Квартирмейстер"
+#define JOB_CARGO_TECHNICIAN_RU "Грузчик"
+#define JOB_CARGO_GORILLA_RU "Cargo Gorilla"
+#define JOB_SHAFT_MINER_RU "Шахтер"
+#define JOB_BITRUNNER_RU "Битраннер"
+//Service
+#define JOB_BARTENDER_RU "Бармен"
+#define JOB_BOTANIST_RU "Ботаник"
+#define JOB_COOK_RU "Повар"
+#define JOB_CHEF_RU "Шеф"
+#define JOB_JANITOR_RU "Уборщик"
+#define JOB_CLOWN_RU "Клоун"
+#define JOB_MIME_RU "Мим"
+#define JOB_CURATOR_RU "Куратор"
+#define JOB_LAWYER_RU "Адвокат"
+#define JOB_CHAPLAIN_RU "Священник"
+#define JOB_PSYCHOLOGIST_RU "Психолог"
+
+GLOBAL_LIST_INIT(job_titles_ru, list(
+ //No department
+ JOB_ASSISTANT = JOB_ASSISTANT_RU,
+ JOB_PRISONER = JOB_PRISONER_RU,
+ //Command
+ JOB_CAPTAIN = JOB_CAPTAIN_RU,
+ JOB_HEAD_OF_PERSONNEL = JOB_HEAD_OF_PERSONNEL_RU,
+ JOB_HEAD_OF_SECURITY = JOB_HEAD_OF_SECURITY_RU,
+ JOB_RESEARCH_DIRECTOR = JOB_RESEARCH_DIRECTOR_RU,
+ JOB_CHIEF_ENGINEER = JOB_CHIEF_ENGINEER_RU,
+ JOB_CHIEF_MEDICAL_OFFICER = JOB_CHIEF_MEDICAL_OFFICER_RU,
+ JOB_BRIDGE_ASSISTANT = JOB_BRIDGE_ASSISTANT_RU,
+ JOB_VETERAN_ADVISOR = JOB_VETERAN_ADVISOR_RU,
+ //Silicon
+ JOB_AI = JOB_AI_RU,
+ JOB_CYBORG = JOB_CYBORG_RU,
+ JOB_PERSONAL_AI = JOB_PERSONAL_AI_RU,
+ JOB_HUMAN_AI = JOB_HUMAN_AI_RU,
+ //Security
+ JOB_WARDEN = JOB_WARDEN_RU,
+ JOB_DETECTIVE = JOB_DETECTIVE_RU,
+ JOB_SECURITY_OFFICER = JOB_SECURITY_OFFICER_RU,
+ JOB_SECURITY_OFFICER_MEDICAL = JOB_SECURITY_OFFICER_MEDICAL_RU,
+ JOB_SECURITY_OFFICER_ENGINEERING = JOB_SECURITY_OFFICER_ENGINEERING_RU,
+ JOB_SECURITY_OFFICER_SCIENCE = JOB_SECURITY_OFFICER_SCIENCE_RU,
+ JOB_SECURITY_OFFICER_SUPPLY = JOB_SECURITY_OFFICER_SUPPLY_RU,
+ //Engineering
+ JOB_STATION_ENGINEER = JOB_STATION_ENGINEER_RU,
+ JOB_ATMOSPHERIC_TECHNICIAN = JOB_ATMOSPHERIC_TECHNICIAN_RU,
+ //Medical
+ JOB_CORONER = JOB_CORONER_RU,
+ JOB_MEDICAL_DOCTOR = JOB_MEDICAL_DOCTOR_RU,
+ JOB_PARAMEDIC = JOB_PARAMEDIC_RU,
+ JOB_CHEMIST = JOB_CHEMIST_RU,
+ //Science
+ JOB_SCIENTIST = JOB_SCIENTIST_RU,
+ JOB_ROBOTICIST = JOB_ROBOTICIST_RU,
+ JOB_GENETICIST = JOB_GENETICIST_RU,
+ //Supply
+ JOB_QUARTERMASTER = JOB_QUARTERMASTER_RU,
+ JOB_CARGO_TECHNICIAN = JOB_CARGO_TECHNICIAN_RU,
+ JOB_CARGO_GORILLA = JOB_CARGO_GORILLA_RU,
+ JOB_SHAFT_MINER = JOB_SHAFT_MINER_RU,
+ JOB_BITRUNNER = JOB_BITRUNNER_RU,
+ //Service
+ JOB_BARTENDER = JOB_BARTENDER_RU,
+ JOB_BOTANIST = JOB_BOTANIST_RU,
+ JOB_COOK = JOB_COOK_RU,
+ JOB_CHEF = JOB_CHEF_RU,
+ JOB_JANITOR = JOB_JANITOR_RU,
+ JOB_CLOWN = JOB_CLOWN_RU,
+ JOB_MIME = JOB_MIME_RU,
+ JOB_CURATOR = JOB_CURATOR_RU,
+ JOB_LAWYER = JOB_LAWYER_RU,
+ JOB_CHAPLAIN = JOB_CHAPLAIN_RU,
+ JOB_PSYCHOLOGIST = JOB_PSYCHOLOGIST_RU,
+))
+
+// Use it ONLY for display!!
+/proc/job_title_ru(title)
+ var/job_ru_title = GLOB.job_titles_ru[title]
+ if(job_ru_title)
+ return job_ru_title
+ return title
diff --git a/modular_bandastation/modular_bandastation.dme b/modular_bandastation/modular_bandastation.dme
index ae12e71105846..15cbaef82a810 100644
--- a/modular_bandastation/modular_bandastation.dme
+++ b/modular_bandastation/modular_bandastation.dme
@@ -20,6 +20,7 @@
#include "gunhud/_gunhud.dme"
#include "keybinding/_keybinding.dme"
#include "pixel_shift/_pixel_shift.dme"
+#include "ru_jobs/_ru_jobs.dme"
#include "translations/_translations.dme"
#include "tts/_tts.dme"
#include "whitelist220/_whitelist220.dme"
diff --git a/modular_bandastation/ru_jobs/README.md b/modular_bandastation/ru_jobs/README.md
new file mode 100644
index 0000000000000..54a55275e6ed0
--- /dev/null
+++ b/modular_bandastation/ru_jobs/README.md
@@ -0,0 +1,10 @@
+PR: https://github.com/ss220club/Bandastation/pull/343
+
+Modified:
+- tgui/packages/tgui/interfaces/JobSelection.tsx
+- tgui/packages/tgui/interfaces/NtosCrewManifest.jsx
+- tgui/packages/tgui/interfaces/PreferencesMenu/JobsPage.tsx
+
+Out-of-module:
+- code/__DEFINES/bandastation/ru_jobs.dm
+- tgui/packages/tgui/bandastation/ru_jobs.tsx
diff --git a/modular_bandastation/ru_jobs/_ru_jobs.dm b/modular_bandastation/ru_jobs/_ru_jobs.dm
new file mode 100644
index 0000000000000..b8a60fafe62ba
--- /dev/null
+++ b/modular_bandastation/ru_jobs/_ru_jobs.dm
@@ -0,0 +1,4 @@
+/datum/modpack/ru_jobs
+ name = "RU Jobs"
+ desc = "Русские названия профессий"
+ author = "larentoun"
diff --git a/modular_bandastation/ru_jobs/_ru_jobs.dme b/modular_bandastation/ru_jobs/_ru_jobs.dme
new file mode 100644
index 0000000000000..8377d94602bb2
--- /dev/null
+++ b/modular_bandastation/ru_jobs/_ru_jobs.dme
@@ -0,0 +1,5 @@
+#include "_ru_jobs.dm"
+
+#include "code/ru_id_cards.dm"
+#include "code/ru_jobs.dm"
+#include "code/ru_pda.dm"
diff --git a/modular_bandastation/ru_jobs/code/ru_id_cards.dm b/modular_bandastation/ru_jobs/code/ru_id_cards.dm
new file mode 100644
index 0000000000000..9136648b851ae
--- /dev/null
+++ b/modular_bandastation/ru_jobs/code/ru_id_cards.dm
@@ -0,0 +1,119 @@
+/datum/id_trim/job/assistant
+ assignment = JOB_ASSISTANT_RU
+
+/datum/id_trim/job/atmospheric_technician
+ assignment = JOB_ATMOSPHERIC_TECHNICIAN_RU
+
+/datum/id_trim/job/bartender
+ assignment = JOB_BARTENDER_RU
+
+/datum/id_trim/job/bitrunner
+ assignment = JOB_BITRUNNER
+
+/datum/id_trim/job/botanist
+ assignment = JOB_BOTANIST_RU
+
+/datum/id_trim/job/captain
+ assignment = JOB_CAPTAIN_RU
+
+/datum/id_trim/job/cargo_technician
+ assignment = JOB_CARGO_TECHNICIAN_RU
+
+/datum/id_trim/job/chaplain
+ assignment = JOB_CHAPLAIN_RU
+
+/datum/id_trim/job/chemist
+ assignment = JOB_CHEMIST_RU
+
+/datum/id_trim/job/chief_engineer
+ assignment = JOB_CHIEF_ENGINEER_RU
+
+/datum/id_trim/job/chief_medical_officer
+ assignment = JOB_CHIEF_MEDICAL_OFFICER_RU
+
+/datum/id_trim/job/clown
+ assignment = JOB_CLOWN_RU
+
+/datum/id_trim/job/cook
+ assignment = JOB_COOK_RU
+
+/datum/id_trim/job/cook/chef
+ assignment = JOB_CHEF_RU
+
+/datum/id_trim/job/coroner
+ assignment = JOB_CORONER_RU
+
+/datum/id_trim/job/curator
+ assignment = JOB_CURATOR_RU
+
+/datum/id_trim/job/detective
+ assignment = JOB_DETECTIVE_RU
+
+/datum/id_trim/job/geneticist
+ assignment = JOB_GENETICIST_RU
+
+/datum/id_trim/job/head_of_personnel
+ assignment = JOB_HEAD_OF_PERSONNEL_RU
+
+/datum/id_trim/job/head_of_security
+ assignment = JOB_HEAD_OF_SECURITY_RU
+
+/datum/id_trim/job/janitor
+ assignment = JOB_JANITOR_RU
+
+/datum/id_trim/job/lawyer
+ assignment = JOB_LAWYER_RU
+
+/datum/id_trim/job/medical_doctor
+ assignment = JOB_MEDICAL_DOCTOR_RU
+
+/datum/id_trim/job/mime
+ assignment = JOB_MIME_RU
+
+/datum/id_trim/job/paramedic
+ assignment = JOB_PARAMEDIC_RU
+
+/datum/id_trim/job/prisoner
+ assignment = JOB_PRISONER_RU
+
+/datum/id_trim/job/psychologist
+ assignment = JOB_PSYCHOLOGIST_RU
+
+/datum/id_trim/job/quartermaster
+ assignment = JOB_QUARTERMASTER_RU
+
+/datum/id_trim/job/research_director
+ assignment = JOB_RESEARCH_DIRECTOR_RU
+
+/datum/id_trim/job/roboticist
+ assignment = JOB_ROBOTICIST_RU
+
+/datum/id_trim/job/scientist
+ assignment = JOB_SCIENTIST_RU
+
+/datum/id_trim/job/security_officer
+ assignment = JOB_SECURITY_OFFICER_RU
+
+/datum/id_trim/job/security_officer/supply
+ assignment = JOB_SECURITY_OFFICER_SUPPLY_RU
+
+/datum/id_trim/job/security_officer/engineering
+ assignment = JOB_SECURITY_OFFICER_ENGINEERING_RU
+
+/datum/id_trim/job/security_officer/medical
+ assignment = JOB_SECURITY_OFFICER_MEDICAL_RU
+
+/datum/id_trim/job/security_officer/science
+ assignment = JOB_SECURITY_OFFICER_SCIENCE_RU
+
+/datum/id_trim/job/shaft_miner
+ assignment = JOB_SHAFT_MINER_RU
+
+/datum/id_trim/job/station_engineer
+ assignment = JOB_STATION_ENGINEER_RU
+
+/datum/id_trim/job/warden
+ assignment = JOB_WARDEN_RU
+
+/datum/id_trim/job/human_ai
+ assignment = JOB_HUMAN_AI_RU
diff --git a/modular_bandastation/ru_jobs/code/ru_jobs.dm b/modular_bandastation/ru_jobs/code/ru_jobs.dm
new file mode 100644
index 0000000000000..c5a5e2f325259
--- /dev/null
+++ b/modular_bandastation/ru_jobs/code/ru_jobs.dm
@@ -0,0 +1,111 @@
+/datum/job/ai
+ alternate_titles = list(JOB_AI_RU,)
+
+/datum/job/atmospheric_technician
+ alternate_titles = list(JOB_ATMOSPHERIC_TECHNICIAN_RU,)
+
+/datum/job/bartender
+ alternate_titles = list(JOB_BARTENDER_RU,)
+
+/datum/job/botanist
+ alternate_titles = list(JOB_BOTANIST_RU,)
+
+/datum/job/captain
+ alternate_titles = list(JOB_CAPTAIN_RU,)
+
+/datum/job/cargo_technician
+ alternate_titles = list(JOB_CARGO_TECHNICIAN_RU,)
+
+/datum/job/chemist
+ alternate_titles = list(JOB_CHEMIST_RU,)
+
+/datum/job/chief_engineer
+ alternate_titles = list(JOB_CHIEF_ENGINEER_RU,)
+
+/datum/job/chief_medical_officer
+ alternate_titles = list(JOB_CHIEF_MEDICAL_OFFICER_RU,)
+
+/datum/job/clown
+ alternate_titles = list(JOB_CLOWN_RU,)
+
+/datum/job/cook
+ alternate_titles = list(
+ JOB_CHEF,
+ JOB_COOK_RU,
+ )
+
+/datum/job/coroner
+ alternate_titles = list(JOB_CORONER_RU,)
+
+/datum/job/curator
+ alternate_titles = list(JOB_CURATOR_RU,)
+
+/datum/job/cyborg
+ alternate_titles = list(JOB_CYBORG_RU,)
+
+/datum/job/detective
+ alternate_titles = list(JOB_DETECTIVE_RU,)
+
+/datum/job/geneticist
+ alternate_titles = list(JOB_GENETICIST_RU,)
+
+/datum/job/head_of_personnel
+ alternate_titles = list(JOB_HEAD_OF_PERSONNEL_RU,)
+
+/datum/job/head_of_security
+ alternate_titles = list(JOB_HEAD_OF_SECURITY_RU,)
+
+/datum/job/janitor
+ alternate_titles = list(JOB_JANITOR_RU,)
+
+/datum/job/lawyer
+ alternate_titles = list(JOB_LAWYER_RU,)
+
+/datum/job/doctor
+ alternate_titles = list(JOB_MEDICAL_DOCTOR_RU,)
+
+/datum/job/mime
+ alternate_titles = list(JOB_MIME_RU,)
+
+/datum/job/paramedic
+ alternate_titles = list(JOB_PARAMEDIC_RU,)
+
+/datum/job/prisoner
+ alternate_titles = list(JOB_PRISONER_RU,)
+
+/datum/job/psychologist
+ alternate_titles = list(JOB_PSYCHOLOGIST_RU,)
+
+/datum/job/quartermaster
+ alternate_titles = list(JOB_QUARTERMASTER_RU,)
+
+/datum/job/research_director
+ alternate_titles = list(JOB_RESEARCH_DIRECTOR_RU,)
+
+/datum/job/roboticist
+ alternate_titles = list(JOB_ROBOTICIST_RU,)
+
+/datum/job/scientist
+ alternate_titles = list(JOB_SCIENTIST_RU,)
+
+/datum/job/security_officer
+ alternate_titles = list(
+ JOB_SECURITY_OFFICER_MEDICAL,
+ JOB_SECURITY_OFFICER_ENGINEERING,
+ JOB_SECURITY_OFFICER_SUPPLY,
+ JOB_SECURITY_OFFICER_SCIENCE,
+ JOB_SECURITY_OFFICER_RU,
+ JOB_SECURITY_OFFICER_MEDICAL_RU,
+ JOB_SECURITY_OFFICER_ENGINEERING_RU,
+ JOB_SECURITY_OFFICER_SUPPLY_RU,
+ JOB_SECURITY_OFFICER_SCIENCE_RU,
+ )
+
+/datum/job/shaft_miner
+ alternate_titles = list(JOB_SHAFT_MINER_RU,)
+
+/datum/job/station_engineer
+ alternate_titles = list(JOB_STATION_ENGINEER_RU,)
+
+/datum/job/warden
+ alternate_titles = list(JOB_WARDEN_RU,)
diff --git a/modular_bandastation/ru_jobs/code/ru_pda.dm b/modular_bandastation/ru_jobs/code/ru_pda.dm
new file mode 100644
index 0000000000000..07bb67d8b8761
--- /dev/null
+++ b/modular_bandastation/ru_jobs/code/ru_pda.dm
@@ -0,0 +1,10 @@
+// Update PDA name
+/datum/outfit/job/post_equip(mob/living/carbon/human/equipped, visualsOnly)
+ . = ..()
+ var/obj/item/modular_computer/pda/pda = equipped.get_item_by_slot(pda_slot)
+ if(!istype(pda))
+ return
+ var/obj/item/card/id/card = equipped.wear_id
+ if(!istype(card))
+ return
+ pda.imprint_id(equipped.real_name, card.get_trim_assignment())
diff --git a/tgstation.dme b/tgstation.dme
index b8e3e7f3249db..574adb488ea74 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -285,6 +285,7 @@
#include "code\__DEFINES\atmospherics\atmos_mapping_helpers.dm"
#include "code\__DEFINES\atmospherics\atmos_mob_interaction.dm"
#include "code\__DEFINES\atmospherics\atmos_piping.dm"
+#include "code\__DEFINES\bandastation\ru_jobs.dm"
#include "code\__DEFINES\construction\actions.dm"
#include "code\__DEFINES\construction\material.dm"
#include "code\__DEFINES\construction\rcd.dm"
diff --git a/tgui/packages/tgui/bandastation/ru_jobs.tsx b/tgui/packages/tgui/bandastation/ru_jobs.tsx
new file mode 100644
index 0000000000000..d8efbc9ed288f
--- /dev/null
+++ b/tgui/packages/tgui/bandastation/ru_jobs.tsx
@@ -0,0 +1,53 @@
+export const JOBS_RU = {
+ Assistant: 'Гражданский',
+ Prisoner: 'Заключенный',
+ Captain: 'Капитан',
+ 'Head of Personnel': 'Глава персонала',
+ 'Head of Security': 'Глава службы безопасности',
+ 'Research Director': 'Директор исследований',
+ 'Chief Engineer': 'Главный инженер',
+ 'Chief Medical Officer': 'Главный врач',
+ AI: 'ИИ',
+ Cyborg: 'Киборг',
+ 'Personal AI': 'Персональный ИИ',
+ 'Human AI': 'Большой брат',
+ Warden: 'Смотритель',
+ Detective: 'Детектив',
+ 'Security Officer': 'Офицер',
+ 'Station Engineer': 'Станционный инженер',
+ 'Atmospheric Technician': 'Атмосферный техник',
+ Coroner: 'Коронер',
+ 'Medical Doctor': 'Врач',
+ Paramedic: 'Парамедик',
+ Chemist: 'Химик',
+ Scientist: 'Ученый',
+ Roboticist: 'Робототехник',
+ Geneticist: 'Генетик',
+ Quartermaster: 'Квартирмейстер',
+ 'Cargo Technician': 'Грузчик',
+ 'Shaft Miner': 'Шахтер',
+ Bitrunner: 'Битраннер',
+ Bartender: 'Бармен',
+ Botanist: 'Ботаник',
+ Cook: 'Повар',
+ Chef: 'Шеф',
+ Janitor: 'Уборщик',
+ Clown: 'Клоун',
+ Mime: 'Мим',
+ Curator: 'Куратор',
+ Lawyer: 'Адвокат',
+ Chaplain: 'Священник',
+ Psychologist: 'Психолог',
+};
+
+export const DEPARTMENTS_RU = {
+ Command: 'Командование',
+ Security: 'Безопасность',
+ Service: 'Обслуживание',
+ Cargo: 'Снабжение',
+ Science: 'Исследование',
+ Medical: 'Медицина',
+ Silicon: 'Синтетики',
+ Engineering: 'Инженерия',
+ 'No Department': 'Без отдела',
+};
diff --git a/tgui/packages/tgui/interfaces/JobSelection.tsx b/tgui/packages/tgui/interfaces/JobSelection.tsx
index 44f7c8194f70a..70f7c239ffe87 100644
--- a/tgui/packages/tgui/interfaces/JobSelection.tsx
+++ b/tgui/packages/tgui/interfaces/JobSelection.tsx
@@ -3,6 +3,7 @@ import { Color } from 'common/color';
import { BooleanLike } from 'common/react';
import { useBackend } from '../backend';
+import { DEPARTMENTS_RU, JOBS_RU } from '../bandastation/ru_jobs'; // BANDASTATION EDIT
import {
Box,
Button,
@@ -84,7 +85,13 @@ export const JobEntry = (data: {
>
<>
{jobIcon && }
- {job.command ? {jobName} : jobName}
+ {job.command ? (
+ {JOBS_RU[jobName] ? JOBS_RU[jobName] : jobName}
+ ) : JOBS_RU[jobName] ? (
+ JOBS_RU[jobName]
+ ) : (
+ jobName
+ )}
{
- {departmentName}
+ {DEPARTMENTS_RU[departmentName]
+ ? DEPARTMENTS_RU[departmentName]
+ : departmentName}
{
}
>
{map(manifest, (entries, department) => (
-
+
{entries.map((entry) => (
diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/JobsPage.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/JobsPage.tsx
index 4fbc080c5a347..b0c8190de6888 100644
--- a/tgui/packages/tgui/interfaces/PreferencesMenu/JobsPage.tsx
+++ b/tgui/packages/tgui/interfaces/PreferencesMenu/JobsPage.tsx
@@ -3,6 +3,7 @@ import { classes } from 'common/react';
import { PropsWithChildren, ReactNode } from 'react';
import { useBackend } from '../../backend';
+import { JOBS_RU } from '../../bandastation/ru_jobs'; // BANDASTATION EDIT
import { Box, Button, Dropdown, Stack, Tooltip } from '../../components';
import {
createSetPreference,
@@ -237,7 +238,7 @@ const JobRow = (props: { className?: string; job: Job; name: string }) => {
paddingLeft: '0.3em',
}}
>
- {name}
+ {JOBS_RU[name] ? JOBS_RU[name] : name}
@@ -317,7 +318,7 @@ const JoblessRoleDropdown = (props) => {
const options = [
{
- displayText: `Join as ${data.overflow_role} if unavailable`,
+ displayText: `Присоединиться за ${JOBS_RU[data.overflow_role] ? JOBS_RU[data.overflow_role] : data.overflow_role} если не удалось войти`,
value: JoblessRole.BeOverflow,
},
{