From df681f98aafa77b18d311723a1a851d0270bad5e Mon Sep 17 00:00:00 2001
From: Rinkashikachi <15rinkashikachi15@gmail.com>
Date: Mon, 8 Aug 2022 11:40:20 +0300
Subject: [PATCH] Technology localization (#10252)
---
.../Prototypes/TechnologyPrototype.cs | 16 +++-
.../catalog/research/technologies.ftl | 59 ++++++++++++++
.../Catalog/Research/technologies.yml | 80 +++++++++----------
3 files changed, 113 insertions(+), 42 deletions(-)
create mode 100644 Resources/Locale/en-US/prototypes/catalog/research/technologies.ftl
diff --git a/Content.Shared/Research/Prototypes/TechnologyPrototype.cs b/Content.Shared/Research/Prototypes/TechnologyPrototype.cs
index dcf78c372f..583835125c 100644
--- a/Content.Shared/Research/Prototypes/TechnologyPrototype.cs
+++ b/Content.Shared/Research/Prototypes/TechnologyPrototype.cs
@@ -20,7 +20,13 @@ namespace Content.Shared.Research.Prototypes
///
[ViewVariables]
[DataField("name")]
- public string Name { get; } = string.Empty;
+ public string Name
+ {
+ get => (_name is not null) ? _name : ID;
+ private set => _name = Loc.GetString(value);
+ }
+
+ private string? _name;
///
/// An icon that represent this technology.
@@ -33,7 +39,13 @@ namespace Content.Shared.Research.Prototypes
///
[ViewVariables]
[DataField("description")]
- public string Description { get; } = string.Empty;
+ public string Description
+ {
+ get => (_description is not null) ? _description : "";
+ private set => _description = Loc.GetString(value);
+ }
+
+ private string? _description;
///
/// The required research points to unlock this technology.
diff --git a/Resources/Locale/en-US/prototypes/catalog/research/technologies.ftl b/Resources/Locale/en-US/prototypes/catalog/research/technologies.ftl
new file mode 100644
index 0000000000..ffc687dc1a
--- /dev/null
+++ b/Resources/Locale/en-US/prototypes/catalog/research/technologies.ftl
@@ -0,0 +1,59 @@
+technologies-basic-research-technology = Basic research technology
+technologies-basic-research-technology-description = Nanotrasen basic research technologies.
+
+technologies-cleaning-technology = Cleaning technology
+technologies-cleaning-technology-description = Start to a shiny clean station.
+
+technologies-biological-technology = Biological technology
+technologies-biological-technology-description = Investigations into the natural world.
+
+technologies-advanced-botany = Advanced botany
+technologies-advanced-botany-description = A better understanding of botany.
+
+technologies-advanced-surgery = Advanced surgery
+technologies-advanced-surgery-description = Research new surgical procedures.
+
+technologies-chemistry-technology = Chemistry technology
+technologies-chemistry-technology-description = A crash course in chemistry.
+
+technologies-medical-machinery = Medical machinery
+technologies-medical-machinery-description = Machines any self-respecting medbay would need.
+
+technologies-advanced-life-support = Advanced life support systems
+technologies-advanced-life-support-description = The cutting edge of life and death.
+
+technologies-industrial-engineering = Industrial engineering
+technologies-industrial-engineering-description = A refresher course on modern engineering technology.
+
+technologies-material-sheet-printing = Material sheet printing
+technologies-material-sheet-printing-description = Print those sheets!
+
+technologies-advanced-atmospherics-technology = Advanced atmospherics technology
+technologies-advanced-atmospherics-technology-description = As if it can get more advanced.
+
+technologies-avionics-systems = Avionics systems
+technologies-avionics-systems-description = The latest in fly-by-LV-wire technology
+
+technologies-electromagnetic-theory = Electromagnetic theory
+technologies-electromagnetic-theory-description = Try not to fry yourself.
+
+technologies-compact-power-technology = Compact power technology
+technologies-compact-power-technology-description = Power, but smaller.
+
+technologies-applied-musicology = Applied musicology
+technologies-applied-musicology-description = Bringing you the latest in audio-audio technology.
+
+technologies-basic-powercell-printing = Basic powercell printing
+technologies-basic-powercell-printing-description = Print standard powercells.
+
+technologies-advanced-powercell-printing = Advanced powercell printing
+technologies-advanced-powercell-printing-description = Print advanced powercells.
+
+technologies-super-powercell-printing = Super powercell printing
+technologies-super-powercell-printing-description = Print super powercells.
+
+technologies-basic-parts-technology = Basic parts technology
+technologies-basic-parts-technology-description = They aren't great, but at least they're something.
+
+technologies-robotics-technology = Robotics technology
+technologies-robotics-technology-description = Robot parts.
diff --git a/Resources/Prototypes/Catalog/Research/technologies.yml b/Resources/Prototypes/Catalog/Research/technologies.yml
index 0d1f94f1ac..5ac605b3dc 100644
--- a/Resources/Prototypes/Catalog/Research/technologies.yml
+++ b/Resources/Prototypes/Catalog/Research/technologies.yml
@@ -4,9 +4,9 @@
# Base Technology
- type: technology
- name: "basic research technology"
+ name: technologies-basic-research-technology
id: BasicResearch
- description: Nanotrasen basic research technologies.
+ description: technologies-basic-research-technology-description
icon:
sprite: Structures/Machines/server.rsi
state: server-on
@@ -15,9 +15,9 @@
# Cleaning Technology Tree
- type: technology
- name: "cleaning technology"
+ name: technologies-cleaning-technology
id: MopBucket
- description: Start to a shiny clean station
+ description: technologies-cleaning-technology-description
icon:
sprite: Objects/Specific/Janitorial/janitorial.rsi
state: mopbucket
@@ -33,9 +33,9 @@
# Biological Technology Tree
- type: technology
- name: "biological technology"
+ name: technologies-biological-technology
id: BiologicalTechnology
- description: Investigations into the natural world.
+ description: technologies-biological-technology-description
icon:
sprite: Structures/Furniture/potted_plants.rsi
state: applebush
@@ -53,9 +53,9 @@
- DiseaseSwab
- type: technology
- name: "advanced botany"
+ name: technologies-advanced-botany
id: AdvancedBotany
- description: A better understanding of botany.
+ description: technologies-advanced-botany-description
icon:
sprite: Objects/Specific/Hydroponics/potato.rsi
state: seed
@@ -68,9 +68,9 @@
- MicrowaveMachineCircuitboard
- type: technology
- name: "advanced surgery"
+ name: technologies-advanced-surgery
id: AdvancedSugery
- description: Research new surgical procedures.
+ description: technologies-advanced-surgery-description
icon:
sprite: Objects/Specific/Medical/Surgery/saw.rsi
state: saw
@@ -88,9 +88,9 @@
# Chemistry Technology Tree
- type: technology
- name: "chemistry technology"
+ name: technologies-chemistry-technology
id: ChemistryTechnology
- description: A crash course in chemistry.
+ description: technologies-chemistry-technology-description
icon:
sprite: Objects/Specific/Chemistry/beaker_large.rsi
state: beakerlarge
@@ -109,9 +109,9 @@
- ChemicalPayload
- type: technology
- name: "medical machinery"
+ name: technologies-medical-machinery
id: MedicalMachinery
- description: Machines any self-respecting medbay would need.
+ description: technologies-medical-machinery-description
icon:
sprite: Structures/dispensers.rsi
state: industrial-working
@@ -129,9 +129,9 @@
- CloningConsoleComputerCircuitboard
- type: technology
- name: "advanced life support systems"
+ name: technologies-advanced-life-support
id: AdvancedLifeSupport
- description: The cutting edge of life and death.
+ description: technologies-advanced-life-support-description
icon:
sprite: Structures/Machines/cloning.rsi
state: pod_0
@@ -209,9 +209,9 @@
# Industrial Engineering Technology Tree
- type: technology
- name: "industrial engineering"
+ name: technologies-industrial-engineering
id: IndustrialEngineering
- description: A refresher course on modern engineering technology.
+ description: technologies-industrial-engineering-description
icon:
sprite: Structures/Machines/protolathe.rsi
state: icon
@@ -241,9 +241,9 @@
- FireAlarmElectronics
- type: technology
- name: material sheet printing
+ name: technologies-material-sheet-printing
id: Sheets
- description: Print those sheets!
+ description: technologies-material-sheet-printing-description
icon: Objects/Materials/Sheets/researchicon.png
requiredPoints: 2500
requiredTechnologies:
@@ -255,9 +255,9 @@
- SheetGlass1
- type: technology
- name: advanced atmospherics technology
+ name: technologies-advanced-atmospherics-technology
id: AdvancedAtmosTechnology
- description: As if it can get more advanced.
+ description: technologies-advanced-atmospherics-technology-description
icon:
sprite: Structures/Piping/Atmospherics/thermomachine.rsi
state: freezer_off
@@ -271,9 +271,9 @@
# Avionics Circuitry Technology Tree
- type: technology
- name: "avionics systems"
+ name: technologies-avionics-systems
id: AvionicsSystems
- description: The latest in fly-by-LV-wire technology
+ description: technologies-avionics-systems-description
icon:
sprite: Structures/Machines/computers.rsi
state: avionics-systems
@@ -288,9 +288,9 @@
# Electromagnetic Theory Technology Tree
- type: technology
- name: "electromagnetic theory"
+ name: technologies-electromagnetic-theory
id: ElectromagneticTheory
- description: Try not to fry yourself.
+ description: technologies-electromagnetic-theory-description
icon:
sprite: Structures/Power/apc.rsi
state: apc0
@@ -319,9 +319,9 @@
- SignalTrigger
- type: technology
- name: "compact power technology"
+ name: technologies-compact-power-technology
id: CompactPowerTechnology
- description: Power, but smaller.
+ description: technologies-compact-power-technology-description
icon:
sprite: Structures/Power/apc.rsi
state: apc0
@@ -336,9 +336,9 @@
- GeneratorUraniumMachineCircuitboard
- type: technology
- name: "applied musicology"
+ name: technologies-applied-musicology
id: AppliedMusicology
- description: Bringing you the latest in audio-audio technology.
+ description: technologies-applied-musicology-description
icon:
sprite: Objects/Fun/Instruments/guitar.rsi
state: icon
@@ -350,9 +350,9 @@
- DawInstrumentMachineCircuitboard
- type: technology
- name: "basic powercell printing"
+ name: technologies-basic-powercell-printing
id: PowerCellBasic
- description: Print standard powercells.
+ description: technologies-basic-powercell-printing-description
icon:
sprite: Objects/Power/power_cells.rsi
state: small
@@ -363,9 +363,9 @@
- PowerCellSmall
- type: technology
- name: "advanced powercell printing"
+ name: technologies-advanced-powercell-printing
id: PowerCellAdvanced
- description: Print advanced powercells.
+ description: technologies-advanced-powercell-printing-description
icon:
sprite: Objects/Power/power_cells.rsi
state: medium
@@ -376,9 +376,9 @@
- PowerCellMedium
- type: technology
- name: "super powercell printing"
+ name: technologies-super-powercell-printing
id: PowerCellSuper
- description: Print super powercells.
+ description: technologies-super-powercell-printing-description
icon:
sprite: Objects/Power/power_cells.rsi
state: high
@@ -390,9 +390,9 @@
# Basic Parts Technology Tree
- type: technology
- name: "basic parts technology"
+ name: technologies-basic-parts-technology
id: BasicPartsTechnology
- description: They aren't great, but at least they're something.
+ description: technologies-basic-parts-technology-description
icon:
sprite: Objects/Misc/stock_parts.rsi
state: micro_mani
@@ -407,9 +407,9 @@
- ScanningModuleStockPart
- type: technology
- name: "robotics technology"
+ name: technologies-robotics-technology
id: RoboticsTechnology
- description: Robot parts.
+ description: technologies-robotics-technology-description
icon:
sprite: Mobs/Silicon/Bots/honkbot.rsi
state: honkbot