Localization of steal targets (#30153)

* Localization of steal targets

* Correction of localization of theft objects

* The second correction of the localization of theft targets

* Update steal-target-groups.ftl

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>

* Revision of the localization method

* Choosing a simple option for localization

* Fix TechnologyDisk name

* Corrections based on feedback received

* correction of declension

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
This commit is contained in:
chavonadelal
2024-09-16 15:50:14 +03:00
committed by GitHub
parent af53d55329
commit ccc5f61584
5 changed files with 128 additions and 63 deletions

View File

@@ -72,14 +72,15 @@ public sealed class StealConditionSystem : EntitySystem
private void OnAfterAssign(Entity<StealConditionComponent> condition, ref ObjectiveAfterAssignEvent args)
{
var group = _proto.Index(condition.Comp.StealGroup);
string localizedName = Loc.GetString(group.Name);
var title =condition.Comp.OwnerText == null
? Loc.GetString(condition.Comp.ObjectiveNoOwnerText, ("itemName", group.Name))
: Loc.GetString(condition.Comp.ObjectiveText, ("owner", Loc.GetString(condition.Comp.OwnerText)), ("itemName", group.Name));
? Loc.GetString(condition.Comp.ObjectiveNoOwnerText, ("itemName", localizedName))
: Loc.GetString(condition.Comp.ObjectiveText, ("owner", Loc.GetString(condition.Comp.OwnerText)), ("itemName", localizedName));
var description = condition.Comp.CollectionSize > 1
? Loc.GetString(condition.Comp.DescriptionMultiplyText, ("itemName", group.Name), ("count", condition.Comp.CollectionSize))
: Loc.GetString(condition.Comp.DescriptionText, ("itemName", group.Name));
? Loc.GetString(condition.Comp.DescriptionMultiplyText, ("itemName", localizedName), ("count", condition.Comp.CollectionSize))
: Loc.GetString(condition.Comp.DescriptionText, ("itemName", localizedName));
_metaData.SetEntityName(condition.Owner, title, args.Meta);
_metaData.SetEntityDescription(condition.Owner, description, args.Meta);

View File

@@ -10,6 +10,6 @@ namespace Content.Shared.Objectives;
public sealed partial class StealTargetGroupPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = default!;
[DataField] public string Name { get; private set; } = string.Empty;
[DataField] public LocId Name { get; private set; } = string.Empty;
[DataField] public SpriteSpecifier Sprite { get; private set; } = SpriteSpecifier.Invalid;
}

View File

@@ -0,0 +1,66 @@
# Traitor single items
steal-target-groups-hypospray = hypospray
steal-target-groups-handheld-crew-monitor = handheld crew monitor
steal-target-groups-clothing-outer-hardsuit-rd = experimental research hardsuit
steal-target-groups-hand-teleporter = hand teleporter
steal-target-groups-clothing-shoes-boots-mag-adv = advanced magboots
steal-target-groups-box-folder-qm-clipboard = requisition digi-board
steal-target-groups-food-meat-corgi = prime-cut corgi meat
steal-target-groups-captain-id-card = captain ID card
steal-target-groups-jetpack-captain-filled = captain's jetpack
steal-target-groups-weapon-antique-laser = antique laser pistol
steal-target-groups-nuke-disk = nuclear authentication disk
steal-target-groups-weapon-energy-shot-gun = energy shotgun
# Thief Collection
steal-target-groups-figurines = figurine
steal-target-groups-heads-cloaks = head's cloak
steal-target-groups-heads-bedsheets = head's bedsheet
steal-target-groups-stamps = stamp
steal-target-groups-door-remotes = door remote
steal-target-groups-encryption-keys = encryption key
steal-target-groups-technology-disks = technology disk
steal-target-groups-id-cards = ID Card
steal-target-groups-lamps = LAMP
# Thief single item
steal-target-groups-forensic-scanner = forensic scanner
steal-target-groups-flippo-engraved-lighter = detective's Flippo engraved lighter
steal-target-groups-ammo-tech-fab-circuitboard = ammo techfab circuit board
steal-target-groups-clothing-head-hat-warden = warden's cap
steal-target-groups-clothing-outer-hardsuit-void-paramed = paramedic void suit
steal-target-groups-medical-tech-fab-circuitboard = medical techfab machine board
steal-target-groups-clothing-headset-alt-medical = chief medical officer's over-ear headset
steal-target-groups-research-and-development-server-machine-circuitboard = R&D server machine board
steal-target-groups-fire-axe = fireaxe
steal-target-groups-ame-part-flatpack = AME flatpack
steal-target-groups-salvage-expeditions-computer-circuitboard = salvage expeditions computer board
steal-target-groups-cargo-shuttle-console-circuitboard = cargo shuttle console board
steal-target-groups-clothing-eyes-hud-beer = beer goggles
steal-target-groups-bible = bible
steal-target-groups-clothing-neck-goldmedal = gold medal of crewmanship
steal-target-groups-clothing-neck-clownmedal = clown medal
# Thief structures
steal-target-groups-teg = teg generator part
steal-target-groups-freezer-heater = freezer or heater
steal-target-groups-altar-nanotrasen = nanotrasen altar (any)
steal-target-groups-nuclear-bomb = nuclear fission explosive
steal-target-groups-fax-machine-captain = captain long range fax machine
steal-target-groups-chem-dispenser = chemical dispenser
steal-target-groups-xeno-artifact = alien artifact
steal-target-groups-booze-dispenser = booze dispenser
steal-target-groups-plant-rd = "RD's potted plant"
steal-target-groups-toilet-golden-dirty-water = golden toilet
# Thief Animal
steal-target-groups-animal-named-cat = CMO's Cat
steal-target-groups-animal-ian = Ian
steal-target-groups-animal-mc-griff = McGriff
steal-target-groups-animal-walter = Walter
steal-target-groups-animal-morty = Morty
steal-target-groups-animal-renault = Renault
steal-target-groups-animal-shiva = Shiva
steal-target-groups-animal-tropico = Tropico

View File

@@ -8,4 +8,4 @@ objective-condition-steal-Ian = head of personnel's corgi
objective-condition-thief-description = The {$itemName} would be a great addition to my collection!
objective-condition-thief-animal-description = The {$itemName} would be a great addition to my collection! Most importantly, alive.
objective-condition-thief-multiply-description = I need to get {$count} {MAKEPLURAL($itemName)} and take them with me.
objective-condition-thief-multiply-description = I need to get {$count} {MAKEPLURAL($itemName)} (any) and take them with me.

View File

@@ -2,84 +2,84 @@
- type: stealTargetGroup
id: Hypospray
name: hypospray
name: steal-target-groups-hypospray
sprite:
sprite: Objects/Specific/Medical/hypospray.rsi
state: hypo
- type: stealTargetGroup
id: HandheldCrewMonitor
name: handheld crew monitor
name: steal-target-groups-handheld-crew-monitor
sprite:
sprite: Objects/Specific/Medical/handheldcrewmonitor.rsi
state: scanner
- type: stealTargetGroup
id: ClothingOuterHardsuitRd
name: experimental research hardsuit
name: steal-target-groups-clothing-outer-hardsuit-rd
sprite:
sprite: Clothing/OuterClothing/Hardsuits/rd.rsi
state: icon
- type: stealTargetGroup
id: HandTeleporter
name: hand teleporter
name: steal-target-groups-hand-teleporter
sprite:
sprite: Objects/Devices/hand_teleporter.rsi
state: icon
- type: stealTargetGroup
id: ClothingShoesBootsMagAdv
name: advanced magboots
name: steal-target-groups-clothing-shoes-boots-mag-adv
sprite:
sprite: Clothing/Shoes/Boots/magboots-advanced.rsi
state: icon
- type: stealTargetGroup
id: BoxFolderQmClipboard
name: requisition digi-board
name: steal-target-groups-box-folder-qm-clipboard
sprite:
sprite: Objects/Misc/qm_clipboard.rsi
state: qm_clipboard
- type: stealTargetGroup
id: FoodMeatCorgi
name: prime-cut corgi meat
name: steal-target-groups-food-meat-corgi
sprite:
sprite: Objects/Consumable/Food/meat.rsi
state: corgi
#
- type: stealTargetGroup
id: CaptainIDCard
name: captain ID card
name: steal-target-groups-captain-id-card
sprite:
sprite: Objects/Misc/id_cards.rsi
state: ert_commander #no one will know the difference.
- type: stealTargetGroup
id: JetpackCaptainFilled
name: captain's jetpack
name: steal-target-groups-jetpack-captain-filled
sprite:
sprite: Objects/Tanks/Jetpacks/captain.rsi
state: icon
- type: stealTargetGroup
id: WeaponAntiqueLaser
name: antique laser pistol
name: steal-target-groups-weapon-antique-laser
sprite:
sprite: Objects/Weapons/Guns/Battery/antiquelasergun.rsi
state: base
- type: stealTargetGroup
id: NukeDisk
name: nuclear authentication disk
name: steal-target-groups-nuke-disk
sprite:
sprite: Objects/Misc/nukedisk.rsi
state: icon
- type: stealTargetGroup
id: WeaponEnergyShotgun
name: energy shotgun
name: steal-target-groups-weapon-energy-shot-gun
sprite:
sprite: Objects/Weapons/Guns/Battery/energy_shotgun.rsi
state: base
@@ -88,63 +88,63 @@
- type: stealTargetGroup
id: Figurines
name: figurines (any)
name: steal-target-groups-figurines
sprite:
sprite: Objects/Fun/figurines.rsi
state: figurine_spawner
- type: stealTargetGroup
id: HeadCloak
name: head's cloaks (any)
name: steal-target-groups-heads-cloaks
sprite:
sprite: Clothing/Neck/Cloaks/cap.rsi
state: icon
- type: stealTargetGroup
id: HeadBedsheet
name: head's bedsheets (any)
name: steal-target-groups-heads-bedsheets
sprite:
sprite: Objects/Misc/bedsheets.rsi
state: sheetNT
- type: stealTargetGroup
id: Stamp
name: stamps (any)
name: steal-target-groups-stamps
sprite:
sprite: Objects/Misc/stamps.rsi
state: stamp-cap
- type: stealTargetGroup
id: DoorRemote
name: door remotes (any)
name: steal-target-groups-door-remotes
sprite:
sprite: Objects/Devices/door_remote.rsi
state: door_remotebase
- type: stealTargetGroup
id: EncryptionKey
name: encryption keys (any)
name: steal-target-groups-encryption-keys
sprite:
sprite: Objects/Devices/encryption_keys.rsi
state: crypt_gray
- type: stealTargetGroup
id: TechnologyDisk
name: technology disks
name: steal-target-groups-technology-disks
sprite:
sprite: Objects/Misc/module.rsi
state: datadisk_base
- type: stealTargetGroup
id: IDCard
name: ID Cards (any)
name: steal-target-groups-id-cards
sprite:
sprite: Objects/Misc/id_cards.rsi
state: default
- type: stealTargetGroup
id: LAMP
name: LAMPS
name: steal-target-groups-lamps
sprite:
sprite: Objects/Tools/lantern.rsi
state: lantern
@@ -153,112 +153,112 @@
- type: stealTargetGroup
id: ForensicScanner
name: forensic scanner
name: steal-target-groups-forensic-scanner
sprite:
sprite: Objects/Devices/forensic_scanner.rsi
state: forensicnew
- type: stealTargetGroup
id: FlippoEngravedLighter
name: detective's Flippo engraved lighter
name: steal-target-groups-flippo-engraved-lighter
sprite:
sprite: Objects/Tools/lighters.rsi
state: zippo_engraved_icon_base
- type: stealTargetGroup
id: AmmoTechFabCircuitboard
name: ammo techfab circuit board
name: steal-target-groups-ammo-tech-fab-circuitboard
sprite:
sprite: Objects/Misc/module.rsi
state: security
- type: stealTargetGroup
id: ClothingHeadHatWarden
name: warden's cap
name: steal-target-groups-clothing-head-hat-warden
sprite:
sprite: Clothing/Head/Hats/warden.rsi
state: icon
- type: stealTargetGroup
id: ClothingOuterHardsuitVoidParamed
name: paramedic void suit
name: steal-target-groups-clothing-outer-hardsuit-void-paramed
sprite:
sprite: Clothing/OuterClothing/Hardsuits/paramed.rsi
state: icon
- type: stealTargetGroup
id: MedicalTechFabCircuitboard
name: medical techfab machine board
name: steal-target-groups-medical-tech-fab-circuitboard
sprite:
sprite: Objects/Misc/module.rsi
state: medical
- type: stealTargetGroup
id: ClothingHeadsetAltMedical
name: chief medical officer's over-ear headset
name: steal-target-groups-clothing-headset-alt-medical
sprite:
sprite: Clothing/Ears/Headsets/medical.rsi
state: icon_alt
- type: stealTargetGroup
id: ResearchAndDevelopmentServerMachineCircuitboard
name: R&D server machine board
name: steal-target-groups-research-and-development-server-machine-circuitboard
sprite:
sprite: Objects/Misc/module.rsi
state: science
- type: stealTargetGroup
id: FireAxe
name: fireaxe
name: steal-target-groups-fire-axe
sprite:
sprite: Objects/Weapons/Melee/fireaxe.rsi
state: icon
- type: stealTargetGroup
id: AmePartFlatpack
name: AME part
name: steal-target-groups-ame-part-flatpack
sprite:
sprite: Objects/Devices/flatpack.rsi
state: ame-part
- type: stealTargetGroup
id: SalvageExpeditionsComputerCircuitboard
name: salvage expeditions computer board
name: steal-target-groups-salvage-expeditions-computer-circuitboard
sprite:
sprite: Objects/Misc/module.rsi
state: cpu_supply
- type: stealTargetGroup
id: CargoShuttleConsoleCircuitboard
name: cargo shuttle console board
name: steal-target-groups-cargo-shuttle-console-circuitboard
sprite:
sprite: Objects/Misc/module.rsi
state: cpuboard
- type: stealTargetGroup
id: ClothingEyesHudBeer
name: beer goggles
name: steal-target-groups-clothing-eyes-hud-beer
sprite:
sprite: Clothing/Eyes/Hud/beergoggles.rsi
state: icon
- type: stealTargetGroup
id: Bible
name: bible
name: steal-target-groups-bible
sprite:
sprite: Objects/Specific/Chapel/bible.rsi
state: icon
- type: stealTargetGroup
id: ClothingNeckGoldmedal
name: gold medal of crewmanship
name: steal-target-groups-clothing-neck-goldmedal
sprite:
sprite: Clothing/Neck/Medals/gold.rsi
state: icon
- type: stealTargetGroup
id: ClothingNeckClownmedal
name: clown medal
name: steal-target-groups-clothing-neck-clownmedal
sprite:
sprite: Clothing/Neck/Medals/clownmedal.rsi
state: icon
@@ -267,70 +267,70 @@
- type: stealTargetGroup
id: NuclearBomb
name: nuclear fission explosive
name: steal-target-groups-nuclear-bomb
sprite:
sprite: Objects/Devices/nuke.rsi
state: nuclearbomb_base
- type: stealTargetGroup
id: FaxMachineCaptain
name: captain long range fax machine
name: steal-target-groups-fax-machine-captain
sprite:
sprite: Structures/Machines/fax_machine.rsi
state: icon
- type: stealTargetGroup
id: ChemDispenser
name: chemical dispenser
name: steal-target-groups-chem-dispenser
sprite:
sprite: Structures/dispensers.rsi
state: industrial-working
- type: stealTargetGroup
id: XenoArtifact
name: big alien artifact
name: steal-target-groups-xeno-artifact
sprite:
sprite: Objects/Specific/Xenoarchaeology/xeno_artifacts.rsi
state: ano28
- type: stealTargetGroup
id: FreezerHeater
name: freezer or heater
name: steal-target-groups-freezer-heater
sprite:
sprite: Structures/Piping/Atmospherics/thermomachine.rsi
state: heaterOff
- type: stealTargetGroup
id: Teg
name: teg generator part
name: steal-target-groups-teg
sprite:
sprite: Structures/Power/Generation/teg.rsi
state: teg
- type: stealTargetGroup
id: BoozeDispenser
name: booze dispenser
name: steal-target-groups-booze-dispenser
sprite:
sprite: Structures/smalldispensers.rsi
state: booze
- type: stealTargetGroup
id: AltarNanotrasen
name: nanotrasen altar (any)
name: steal-target-groups-altar-nanotrasen
sprite:
sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi
state: nanotrasen
- type: stealTargetGroup
id: PlantRD
name: RD's potted plant
name: steal-target-groups-plant-rd
sprite:
sprite: Structures/Furniture/potted_plants.rsi
state: plant-25
- type: stealTargetGroup
id: ToiletGoldenDirtyWater
name: golden toilet
name: steal-target-groups-toilet-golden-dirty-water
sprite:
sprite: Structures/Furniture/golden_toilet.rsi
state: condisposal
@@ -339,58 +339,56 @@
- type: stealTargetGroup
id: AnimalIan
name: Ian
name: steal-target-groups-animal-ian
sprite:
sprite: Mobs/Pets/corgi.rsi
state: ian
- type: stealTargetGroup
id: AnimalNamedCat
name: CMO's Cat
name: steal-target-groups-animal-named-cat
sprite:
sprite: Mobs/Pets/bingus.rsi
state: bingus
- type: stealTargetGroup
id: AnimalMcGriff
name: McGriff
name: steal-target-groups-animal-mc-griff
sprite:
sprite: Mobs/Pets/mcgriff.rsi
state: mcgriff
- type: stealTargetGroup
id: AnimalWalter
name: Walter
name: steal-target-groups-animal-walter
sprite:
sprite: Mobs/Pets/walter.rsi
state: walter
- type: stealTargetGroup
id: AnimalMorty
name: Morty
name: steal-target-groups-animal-morty
sprite:
sprite: Mobs/Animals/possum.rsi
state: possum
- type: stealTargetGroup
id: AnimalRenault
name: Renault
name: steal-target-groups-animal-renault
sprite:
sprite: Mobs/Animals/fox.rsi
state: fox
- type: stealTargetGroup
id: AnimalShiva
name: Shiva
name: steal-target-groups-animal-shiva
sprite:
sprite: Mobs/Pets/shiva.rsi
state: shiva
- type: stealTargetGroup
id: AnimalTropico
name: Tropico
name: steal-target-groups-animal-tropico
sprite:
sprite: Mobs/Animals/crab.rsi
state: crab