@elite-dangerous-almanac/core 0.2.8 → 0.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PROVENANCE/astro/SOURCES.md +13 -12
- package/PROVENANCE/commodities/SOURCES.md +50 -6
- package/PROVENANCE/equipment/SOURCES.md +98 -20
- package/PROVENANCE/i18n/SOURCES.md +186 -80
- package/PROVENANCE/ships/SOURCES.md +344 -200
- package/README.md +10 -2
- package/THIRD_PARTY_NOTICES.md +11 -3
- package/dist/astro/body-rings.d.ts +2 -2
- package/dist/astro/codex-region-lookup.d.ts +1 -1
- package/dist/astro/codex-region-lookup.js +1 -1
- package/dist/astro/hand-authored-regions.d.ts +1 -1
- package/dist/astro/index.d.ts +1 -1
- package/dist/astro/index.js +1 -1
- package/dist/astro/naming-region-origins.d.ts +1 -1
- package/dist/astro/naming-region-origins.js +1 -1
- package/dist/astro/nebulae-all.d.ts +4 -6
- package/dist/astro/nebulae-all.js +1 -1
- package/dist/astro/nebulae-all.js.map +1 -1
- package/dist/astro/nebulae-planetary.d.ts +4 -5
- package/dist/astro/nebulae-planetary.js +1 -1
- package/dist/astro/nebulae-procgen.d.ts +3 -3
- package/dist/astro/nebulae-real.d.ts +3 -3
- package/dist/astro/nebulae.d.ts +8 -8
- package/dist/astro/permit-locked-regions.d.ts +2 -2
- package/dist/astro/permit-locked-systems.d.ts +1 -1
- package/dist/astro/permit-locks.d.ts +2 -2
- package/dist/astro/procedural-system.d.ts +3 -3
- package/dist/astro/procedural-system.js +1 -1
- package/dist/astro/system-address.d.ts +1 -1
- package/dist/astro/system-address.js +1 -1
- package/dist/astro/system-name.js +1 -1
- package/dist/{chunk-XSLPWM5N.js → chunk-2J6NNI3Y.js} +1 -1
- package/dist/{chunk-DWRNXUAX.js → chunk-2KIZN3BY.js} +1 -1
- package/dist/{chunk-J7BM5NGK.js → chunk-2TY42PTF.js} +1 -1
- package/dist/{chunk-773VO2GK.js → chunk-4T3TTYUT.js} +1 -1
- package/dist/{chunk-773VO2GK.js.map → chunk-4T3TTYUT.js.map} +1 -1
- package/dist/{chunk-W5ULI75F.js → chunk-7C7NJWCF.js} +1 -1
- package/dist/{chunk-W5ULI75F.js.map → chunk-7C7NJWCF.js.map} +1 -1
- package/dist/{chunk-IMNOEFUE.js → chunk-7Y5EK2VO.js} +1 -1
- package/dist/{chunk-IMNOEFUE.js.map → chunk-7Y5EK2VO.js.map} +1 -1
- package/dist/{chunk-2OBUSQA7.js → chunk-AAU7OM47.js} +1 -1
- package/dist/{chunk-2OBUSQA7.js.map → chunk-AAU7OM47.js.map} +1 -1
- package/dist/{chunk-GIGRBFIJ.js → chunk-AC3U7LRK.js} +1 -1
- package/dist/{chunk-GIGRBFIJ.js.map → chunk-AC3U7LRK.js.map} +1 -1
- package/dist/{chunk-BJU27V6C.js → chunk-AUBV6S7V.js} +1 -1
- package/dist/{chunk-BJU27V6C.js.map → chunk-AUBV6S7V.js.map} +1 -1
- package/dist/{chunk-DI5RXSJR.js → chunk-BVLBS2QY.js} +1 -1
- package/dist/{chunk-DI5RXSJR.js.map → chunk-BVLBS2QY.js.map} +1 -1
- package/dist/{chunk-IN36YSS4.js → chunk-C3YZ5KTA.js} +1 -1
- package/dist/{chunk-IN36YSS4.js.map → chunk-C3YZ5KTA.js.map} +1 -1
- package/dist/{chunk-6UNAD74Z.js → chunk-C4FUV6GF.js} +1 -1
- package/dist/{chunk-6UNAD74Z.js.map → chunk-C4FUV6GF.js.map} +1 -1
- package/dist/chunk-CEF7SMB2.js +1 -0
- package/dist/chunk-CEF7SMB2.js.map +1 -0
- package/dist/chunk-E2HDF6PJ.js +1 -0
- package/dist/chunk-E2HDF6PJ.js.map +1 -0
- package/dist/{chunk-OFZGNWBT.js → chunk-ETREYN5U.js} +1 -1
- package/dist/{chunk-OFZGNWBT.js.map → chunk-ETREYN5U.js.map} +1 -1
- package/dist/{chunk-KBCA4GEZ.js → chunk-FP2TQJZP.js} +1 -1
- package/dist/{chunk-YJAH6DFY.js → chunk-G7WARJ3X.js} +1 -1
- package/dist/chunk-G7WARJ3X.js.map +1 -0
- package/dist/{chunk-Z4OUB4SJ.js → chunk-GLTCCDN5.js} +1 -1
- package/dist/{chunk-Z4OUB4SJ.js.map → chunk-GLTCCDN5.js.map} +1 -1
- package/dist/chunk-GVNTKCVF.js +1 -0
- package/dist/chunk-GVNTKCVF.js.map +1 -0
- package/dist/{chunk-Q6YDPREF.js → chunk-GZLD7RTK.js} +1 -1
- package/dist/{chunk-Q6YDPREF.js.map → chunk-GZLD7RTK.js.map} +1 -1
- package/dist/{chunk-SC4MEHVY.js → chunk-HIJR7DOC.js} +1 -1
- package/dist/{chunk-SC4MEHVY.js.map → chunk-HIJR7DOC.js.map} +1 -1
- package/dist/{chunk-ETWMPMZP.js → chunk-K5JK3XQB.js} +1 -1
- package/dist/{chunk-GRIK3EDH.js → chunk-KY7KSPU6.js} +1 -1
- package/dist/{chunk-GRIK3EDH.js.map → chunk-KY7KSPU6.js.map} +1 -1
- package/dist/{chunk-EHFHRQEP.js → chunk-M4STXLXO.js} +1 -1
- package/dist/{chunk-EHFHRQEP.js.map → chunk-M4STXLXO.js.map} +1 -1
- package/dist/{chunk-5YEHJM6V.js → chunk-OSMBAFRW.js} +1 -1
- package/dist/{chunk-5YEHJM6V.js.map → chunk-OSMBAFRW.js.map} +1 -1
- package/dist/chunk-PIU24HRN.js +1 -0
- package/dist/chunk-PIU24HRN.js.map +1 -0
- package/dist/{chunk-ELT3FEA4.js → chunk-PKKBYBL4.js} +1 -1
- package/dist/{chunk-ELT3FEA4.js.map → chunk-PKKBYBL4.js.map} +1 -1
- package/dist/{chunk-6HMIF2RJ.js → chunk-Q647OXON.js} +1 -1
- package/dist/{chunk-6HMIF2RJ.js.map → chunk-Q647OXON.js.map} +1 -1
- package/dist/{chunk-BMQM4JBL.js → chunk-QPT2WJYN.js} +1 -1
- package/dist/{chunk-BMQM4JBL.js.map → chunk-QPT2WJYN.js.map} +1 -1
- package/dist/{chunk-3WGXGBW5.js → chunk-R2AEZYX7.js} +1 -1
- package/dist/{chunk-FJIWJYKO.js → chunk-RA4YJBU5.js} +1 -1
- package/dist/chunk-RA4YJBU5.js.map +1 -0
- package/dist/{chunk-MRLUWHGI.js → chunk-RJ3ZLQRB.js} +1 -1
- package/dist/{chunk-MRLUWHGI.js.map → chunk-RJ3ZLQRB.js.map} +1 -1
- package/dist/chunk-SFEQXUIA.js +1 -0
- package/dist/{chunk-WV7QCDL5.js → chunk-SIL356HB.js} +1 -1
- package/dist/{chunk-WV7QCDL5.js.map → chunk-SIL356HB.js.map} +1 -1
- package/dist/{chunk-OLKOWR7S.js → chunk-SS7HVNP5.js} +1 -1
- package/dist/{chunk-OLKOWR7S.js.map → chunk-SS7HVNP5.js.map} +1 -1
- package/dist/chunk-TRGHPX2O.js +1 -0
- package/dist/chunk-TRGHPX2O.js.map +1 -0
- package/dist/{chunk-GMTAFUAG.js → chunk-TYRH73MO.js} +1 -1
- package/dist/{chunk-GMTAFUAG.js.map → chunk-TYRH73MO.js.map} +1 -1
- package/dist/{chunk-7TVFV3VO.js → chunk-U3IRMXMR.js} +1 -1
- package/dist/{chunk-A7IVMYNF.js → chunk-U73MBQ45.js} +1 -1
- package/dist/{chunk-A7IVMYNF.js.map → chunk-U73MBQ45.js.map} +1 -1
- package/dist/{chunk-IZIIGK3W.js → chunk-UE22QU7A.js} +1 -1
- package/dist/{chunk-IZIIGK3W.js.map → chunk-UE22QU7A.js.map} +1 -1
- package/dist/{chunk-DBDCOHI4.js → chunk-UI5RROGI.js} +1 -1
- package/dist/{chunk-DBDCOHI4.js.map → chunk-UI5RROGI.js.map} +1 -1
- package/dist/chunk-URRPEUIK.js +1 -0
- package/dist/{chunk-QJECDMQQ.js.map → chunk-URRPEUIK.js.map} +1 -1
- package/dist/chunk-UTWZZOSA.js +1 -0
- package/dist/chunk-UTWZZOSA.js.map +1 -0
- package/dist/chunk-UVX7RCMP.js +1 -0
- package/dist/chunk-UVX7RCMP.js.map +1 -0
- package/dist/{chunk-7ATBEOVC.js → chunk-WG4DPXJI.js} +1 -1
- package/dist/{chunk-XFDMCPDW.js → chunk-WZIBBJHA.js} +1 -1
- package/dist/{chunk-XFDMCPDW.js.map → chunk-WZIBBJHA.js.map} +1 -1
- package/dist/{chunk-7EWZGDWY.js → chunk-X3MXPE7G.js} +1 -1
- package/dist/{chunk-7EWZGDWY.js.map → chunk-X3MXPE7G.js.map} +1 -1
- package/dist/{chunk-JCYOE3C4.js → chunk-XQJERZUS.js} +1 -1
- package/dist/{chunk-JCYOE3C4.js.map → chunk-XQJERZUS.js.map} +1 -1
- package/dist/{chunk-SD6GNFDX.js → chunk-YBE5M27G.js} +1 -1
- package/dist/{chunk-SD6GNFDX.js.map → chunk-YBE5M27G.js.map} +1 -1
- package/dist/chunk-ZBUTGTZ3.js +1 -0
- package/dist/chunk-ZBUTGTZ3.js.map +1 -0
- package/dist/commodities/commodities-all.d.ts +2 -2
- package/dist/commodities/commodities-all.js +1 -1
- package/dist/commodities/commodities-rare.d.ts +3 -4
- package/dist/commodities/commodities-rare.js +1 -1
- package/dist/commodities/commodities-standard.d.ts +7 -7
- package/dist/commodities/commodities-standard.js +1 -1
- package/dist/commodities/commodities.d.ts +12 -12
- package/dist/commodities/commodities.js +1 -1
- package/dist/commodities/index.js +1 -1
- package/dist/equipment/engineering.d.ts +11 -6
- package/dist/equipment/engineering.js +1 -1
- package/dist/equipment/index.d.ts +4 -4
- package/dist/equipment/index.js +1 -1
- package/dist/equipment/modification-journal.js +1 -1
- package/dist/equipment/modifications.d.ts +23 -14
- package/dist/equipment/modifications.js +1 -1
- package/dist/equipment/suits.d.ts +2 -145
- package/dist/equipment/suits.js +1 -1
- package/dist/equipment/tools.d.ts +102 -0
- package/dist/equipment/tools.js +1 -0
- package/dist/equipment/tools.js.map +1 -0
- package/dist/equipment/upgrade-costs.d.ts +2 -3
- package/dist/equipment/upgrade-costs.js +1 -1
- package/dist/equipment/weapons.d.ts +2 -135
- package/dist/equipment/weapons.js +1 -1
- package/dist/i18n/blueprints.d.ts +2 -3
- package/dist/i18n/blueprints.js +1 -1
- package/dist/i18n/commodities.d.ts +36 -0
- package/dist/i18n/commodities.js +1 -0
- package/dist/i18n/commodities.js.map +1 -0
- package/dist/i18n/experimental-effect-descriptions.d.ts +5 -6
- package/dist/i18n/experimental-effect-descriptions.js +1 -1
- package/dist/i18n/experimental-effects.d.ts +2 -3
- package/dist/i18n/experimental-effects.js +1 -1
- package/dist/i18n/index.d.ts +19 -9
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/materials.d.ts +2 -4
- package/dist/i18n/materials.js +1 -1
- package/dist/i18n/micro-resources.d.ts +2 -4
- package/dist/i18n/micro-resources.js +1 -1
- package/dist/i18n/module-families.d.ts +3 -5
- package/dist/i18n/module-families.js +1 -1
- package/dist/i18n/modules.d.ts +3 -6
- package/dist/i18n/modules.js +1 -1
- package/dist/i18n/personal-modifications.d.ts +4 -6
- package/dist/i18n/personal-modifications.js +1 -1
- package/dist/i18n/personal-tools.d.ts +33 -0
- package/dist/i18n/personal-tools.js +1 -0
- package/dist/i18n/personal-tools.js.map +1 -0
- package/dist/i18n/personal-weapons.d.ts +3 -4
- package/dist/i18n/personal-weapons.js +1 -1
- package/dist/i18n/pre-engineered.d.ts +1 -1
- package/dist/i18n/slots.d.ts +2 -2
- package/dist/i18n/suits.d.ts +36 -6
- package/dist/i18n/suits.js +1 -1
- package/dist/materials/index.d.ts +4 -3
- package/dist/materials/index.js +1 -1
- package/dist/materials/materials-all.d.ts +2 -2
- package/dist/materials/materials-all.js +1 -1
- package/dist/materials/materials-raw.d.ts +3 -4
- package/dist/materials/materials-raw.js +1 -1
- package/dist/materials/materials.d.ts +18 -15
- package/dist/materials/materials.js +1 -1
- package/dist/materials/micro-resources-all.d.ts +2 -2
- package/dist/materials/micro-resources-all.js +1 -1
- package/dist/materials/micro-resources-component.d.ts +2 -2
- package/dist/materials/micro-resources-consumable.d.ts +2 -2
- package/dist/materials/micro-resources-data.d.ts +2 -2
- package/dist/materials/micro-resources-item.d.ts +2 -2
- package/dist/materials/micro-resources.d.ts +17 -14
- package/dist/materials/micro-resources.js +1 -1
- package/dist/ships/ammunition.d.ts +4 -4
- package/dist/ships/blueprint-costs.d.ts +13 -13
- package/dist/ships/blueprint-costs.js +1 -1
- package/dist/ships/blueprint-journal.d.ts +3 -3
- package/dist/ships/blueprint-journal.js +1 -1
- package/dist/ships/blueprints.d.ts +3 -3
- package/dist/ships/build-metrics.d.ts +2 -1
- package/dist/ships/build-metrics.js +1 -1
- package/dist/ships/default-loadouts.d.ts +2 -3
- package/dist/ships/default-loadouts.js +1 -1
- package/dist/ships/engineering-options.d.ts +29 -32
- package/dist/ships/engineering-options.js +1 -1
- package/dist/ships/engineering.d.ts +1 -2
- package/dist/ships/engineering.js +1 -1
- package/dist/ships/experimental-effect-costs.d.ts +1 -1
- package/dist/ships/gunsights.d.ts +3 -3
- package/dist/ships/heat.d.ts +1 -1
- package/dist/ships/index.d.ts +4 -5
- package/dist/ships/index.js +1 -1
- package/dist/ships/loadout-validation.d.ts +1 -1
- package/dist/ships/module-families.d.ts +1 -1
- package/dist/ships/modules-all.d.ts +2 -3
- package/dist/ships/modules-all.js +1 -1
- package/dist/ships/modules-core.d.ts +3 -3
- package/dist/ships/modules-hardpoint.d.ts +4 -5
- package/dist/ships/modules-hardpoint.js +1 -1
- package/dist/ships/modules-internal.d.ts +5 -6
- package/dist/ships/modules-internal.js +1 -1
- package/dist/ships/modules-utility.d.ts +3 -4
- package/dist/ships/modules-utility.js +1 -1
- package/dist/ships/modules.d.ts +26 -24
- package/dist/ships/modules.js +1 -1
- package/dist/ships/pre-engineered-stats.d.ts +1 -1
- package/dist/ships/pre-engineered-stats.js +1 -1
- package/dist/ships/pre-engineered.d.ts +9 -10
- package/dist/ships/pre-engineered.js +1 -1
- package/dist/ships/shield-capacitor.js +1 -1
- package/dist/ships/ship-loadout.d.ts +7 -7
- package/dist/ships/ship-loadout.js +1 -1
- package/dist/ships/ships.d.ts +1 -2
- package/dist/ships/ships.js +1 -1
- package/dist/ships/slots.d.ts +5 -5
- package/dist/ships/weapons.js +1 -1
- package/dist/suits-B37rAORs.d.ts +414 -0
- package/dist/{system-address-cyJaeZIS.d.ts → system-address-DmzXRD48.d.ts} +6 -4
- package/package.json +13 -1
- package/dist/chunk-77TT4K53.js +0 -1
- package/dist/chunk-DAQ3PJ4R.js +0 -1
- package/dist/chunk-DAQ3PJ4R.js.map +0 -1
- package/dist/chunk-DHACRCLI.js +0 -1
- package/dist/chunk-DHACRCLI.js.map +0 -1
- package/dist/chunk-FJIWJYKO.js.map +0 -1
- package/dist/chunk-IUSMAX5T.js +0 -1
- package/dist/chunk-IUSMAX5T.js.map +0 -1
- package/dist/chunk-LWNBWRKL.js +0 -1
- package/dist/chunk-LWNBWRKL.js.map +0 -1
- package/dist/chunk-MT5AHPNP.js +0 -1
- package/dist/chunk-MT5AHPNP.js.map +0 -1
- package/dist/chunk-QJECDMQQ.js +0 -1
- package/dist/chunk-YJAH6DFY.js.map +0 -1
- /package/dist/{chunk-XSLPWM5N.js.map → chunk-2J6NNI3Y.js.map} +0 -0
- /package/dist/{chunk-DWRNXUAX.js.map → chunk-2KIZN3BY.js.map} +0 -0
- /package/dist/{chunk-J7BM5NGK.js.map → chunk-2TY42PTF.js.map} +0 -0
- /package/dist/{chunk-KBCA4GEZ.js.map → chunk-FP2TQJZP.js.map} +0 -0
- /package/dist/{chunk-ETWMPMZP.js.map → chunk-K5JK3XQB.js.map} +0 -0
- /package/dist/{chunk-3WGXGBW5.js.map → chunk-R2AEZYX7.js.map} +0 -0
- /package/dist/{chunk-77TT4K53.js.map → chunk-SFEQXUIA.js.map} +0 -0
- /package/dist/{chunk-7TVFV3VO.js.map → chunk-U3IRMXMR.js.map} +0 -0
- /package/dist/{chunk-7ATBEOVC.js.map → chunk-WG4DPXJI.js.map} +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
# Localized game-name catalogues
|
|
2
2
|
|
|
3
|
-
These catalogues keep the canonical English display names already published by the
|
|
4
|
-
|
|
5
|
-
sources. Where a catalogue holds display prose rather
|
|
6
|
-
publishes no English for it and all six values are the
|
|
3
|
+
These catalogues keep the canonical English display names already published by the
|
|
4
|
+
ships, equipment, materials and commodities data domains and add only localized values
|
|
5
|
+
carried explicitly by accepted sources. Where a catalogue holds display prose rather
|
|
6
|
+
than a name, the owning domain publishes no English for it and all six values are the
|
|
7
|
+
source's own.
|
|
7
8
|
They are deliberately sparse: absence means that no accepted source carried a value, and
|
|
8
9
|
the lookup API returns `null` for that locale rather than treating English as a
|
|
9
10
|
translation.
|
|
@@ -28,27 +29,34 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
28
29
|
- **Acquired:** 2026-08-30 UTC.
|
|
29
30
|
- **In-game localisation revision:** none published; the game ships no immutable
|
|
30
31
|
identifier for its localisation tables. The acquired table is the evidence.
|
|
31
|
-
- **Derivation:**
|
|
32
|
+
- **Derivation:** every current module symbol and English name comes from the four
|
|
32
33
|
`data/ships/modules-*.jsonc` catalogues, which stay authoritative for canonical
|
|
33
34
|
English. Each symbol joins case-insensitively to the in-game module localisation
|
|
34
35
|
identity, which carries a `name`, a `longname` and an `info` string per locale. The
|
|
35
|
-
join is exact and total: every one of
|
|
36
|
+
join is exact and total over the symbols the acquired table covers: every one of them
|
|
37
|
+
resolves. The **unreleased** Large Planetary Vehicle Hangars postdate that table
|
|
38
|
+
(§`data/ships/SOURCES.md`) and are joined to a later observation of the same
|
|
39
|
+
localisation identities instead, acquired 2026-09-02 UTC: it names
|
|
40
|
+
`Int_LargeBuggyBay_Size{2,4,6}_Class3` and their `_Free` twins in all six locales. It
|
|
41
|
+
does not name the Mk II line, whose three records carry English alone.
|
|
36
42
|
- **`longname` is the name taken.** It is the outfitting list's full name and equals
|
|
37
43
|
the canonical English on 1,041 of the symbols, where `name` — the abbreviated panel
|
|
38
44
|
form — equals it on 726. **Both totals were counted over the 1,199-symbol set that
|
|
39
45
|
preceded the removal of the five plain size-8 drives (§`data/ships/SOURCES.md`), and
|
|
40
46
|
are not re-derived here:** the in-game localisation table is not vendored, so whether
|
|
41
47
|
those five sat inside either total cannot be checked from this repository. Read them
|
|
42
|
-
as upper bounds over
|
|
48
|
+
as upper bounds over the current symbol set until the table is re-acquired. `name` is taken
|
|
43
49
|
only where a longname is a template rather than a name, which is the cargo racks,
|
|
44
50
|
fuel tanks and corrosion-resistant racks whose longname carries a capacity.
|
|
45
51
|
- **Aliasing is followed.** A localisation value may be a `$Other_Key;` pointer rather
|
|
46
52
|
than text; roughly three thousand of the keys are. Each is followed to the entry
|
|
47
53
|
holding real text before anything is stored, and a value still carrying a `$` token
|
|
48
54
|
after that is not a name and is rejected.
|
|
49
|
-
- **The `(Free)`
|
|
50
|
-
|
|
51
|
-
|
|
55
|
+
- **The `(Free)` grants have no name of their own** — theirs is a template wrapping the
|
|
56
|
+
base module's. Their canonical English is already the base module's, so they share
|
|
57
|
+
its record. This covers the six Vessel Hangar grants and the three unreleased Large
|
|
58
|
+
Planetary Vehicle Hangar grants, observed as "Large Planetary Vehicle Hangar (Free)"
|
|
59
|
+
and its five translations — each the base name plus a rendered marker.
|
|
52
60
|
- **The in-game table is authoritative over the EDDI and EDSY joins.** It carries 349
|
|
53
61
|
values absent from those registries and differs from them in 3,135 cells across 324
|
|
54
62
|
distinct record-and-locale pairs: 73 differ only in letter case, 10 only in punctuation
|
|
@@ -67,19 +75,37 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
67
75
|
`Elektr. Gegenmaßnahmen`. **Ten values remain abbreviated** because no source spells
|
|
68
76
|
them out — the Mk II gravity-optimised thrusters in four locales, the Advanced
|
|
69
77
|
Planetary Approach Suite in three, and three others — and there the alternative is a
|
|
70
|
-
bare `Schubdüsen` or `Propulseurs` that loses what distinguishes the module.
|
|
78
|
+
bare `Schubdüsen` or `Propulseurs` that loses what distinguishes the module. The
|
|
79
|
+
unreleased Large Planetary Vehicle Hangar's Russian
|
|
80
|
+
`Крупный гараж для планет. транспорта` joins them: its `планет.` is the only spelling
|
|
81
|
+
observed, and expanding it to match the shipped hangar's `планетарного` would be this
|
|
82
|
+
repository writing the translation rather than reading it.
|
|
71
83
|
- **A rendered capacity or grant marker is not a name.** A longname may carry a module's
|
|
72
84
|
own capacity or a `(Free)` marker — `Anti-Korrosions-Frachtgestell (KAP.: 1)` — which
|
|
73
85
|
describes one module rather than naming the family, so it is rejected and the source's
|
|
74
86
|
other field is read instead.
|
|
75
87
|
- **One record per canonical English name.** Where the source distinguishes in another
|
|
76
88
|
locale what English spells the same way, the reading most symbols share is stored:
|
|
77
|
-
`Lightweight Alloy` and `Reinforced Alloy` are singular on
|
|
89
|
+
`Lightweight Alloy` and `Reinforced Alloy` are singular on most hulls and plural on the
|
|
78
90
|
rest, and the singular is kept, which is also the number the English carries.
|
|
79
|
-
`Hatch Breaker Limpet Controller` is specific on
|
|
91
|
+
`Hatch Breaker Limpet Controller` is specific on most symbols and generic on one, and
|
|
80
92
|
the specific is kept.
|
|
81
|
-
- **Coverage:** complete.
|
|
82
|
-
|
|
93
|
+
- **Coverage:** complete. Every symbol carries all six locales — but five of those
|
|
94
|
+
values are **constructed rather than read**; see the manual correction below.
|
|
95
|
+
- **Manual corrections:** the **Mk II** Large Planetary Vehicle Hangar's five non-English
|
|
96
|
+
names are built, not sourced. Nothing acquired names that unreleased module in any
|
|
97
|
+
locale but English, and rather than leave the lookups answering `null` the repository
|
|
98
|
+
owner chose to form each as the plain hangar's own translation with `Mk II` appended —
|
|
99
|
+
`Großer Planetenfahrzeug-Hangar Mk II`, `Hangar de vehículo planetario Mk II`,
|
|
100
|
+
`Grand hangar des véhicules planétaires Mk II`,
|
|
101
|
+
`Hangar de veículo planetário grande Mk II`,
|
|
102
|
+
`Крупный гараж для планет. транспорта Mk II`. Four locales have a precedent for that
|
|
103
|
+
shape in the shipped Mk II Vessel Hangar and Mk II Cargo Rack, which suffix `Mk II`;
|
|
104
|
+
**German does not** — Frontier writes `Mk-II-Schiffshangar` for the hangar and
|
|
105
|
+
`Frachtgestell für Mk II` for the rack, so the German value here matches neither and is
|
|
106
|
+
the likeliest of the five to be wrong. All five are to be replaced by a real
|
|
107
|
+
localisation reading on release, and none should be treated as evidence of what
|
|
108
|
+
Frontier publishes. #16 tracks them with the records themselves.
|
|
83
109
|
|
|
84
110
|
## `blueprint-names.jsonc`
|
|
85
111
|
|
|
@@ -88,11 +114,11 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
88
114
|
database version `424009901`, last-modified marker `20260810`.
|
|
89
115
|
- **In-game localisation revision:** none published; the game ships no immutable
|
|
90
116
|
identifier for its localisation tables. The acquired table is the evidence.
|
|
91
|
-
- **Derivation:** each
|
|
117
|
+
- **Derivation:** each current key and its English name comes from
|
|
92
118
|
`data/ships/blueprints.jsonc`. Names remain keyed per blueprint because a single
|
|
93
119
|
English phrase can have different grammatical translations for different module
|
|
94
120
|
families. The Frontier symbol joins case-insensitively to the in-game modification
|
|
95
|
-
name table, which supplies every locale for the
|
|
121
|
+
name table, which supplies every locale for the recipes it names. The rest
|
|
96
122
|
are ids this repository keys separately because their numbers differ, where the game
|
|
97
123
|
offers only the generic recipe's menu entry and so publishes only its name: each takes
|
|
98
124
|
the locales of the generic id it shadows — `AFM_Shielded`, `Refineries_Shielded` and
|
|
@@ -106,7 +132,7 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
106
132
|
canonical name is kept, as it is for every other blueprint. Where EDSY and the in-game
|
|
107
133
|
table disagree the in-game value is kept, as everywhere else in this repository: it
|
|
108
134
|
differs for ten values across four locales, all of them wording, none of them meaning.
|
|
109
|
-
- **Coverage:** complete.
|
|
135
|
+
- **Coverage:** complete. Every blueprint carries all six locales.
|
|
110
136
|
- **Manual corrections:** two values in the in-game table carry a stray leading or
|
|
111
137
|
trailing ASCII space, marked in the acquired table and removed here so a successful
|
|
112
138
|
lookup is already trimmed like every other catalogue name: French `FSD_FastBoot` (which
|
|
@@ -119,10 +145,10 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
119
145
|
- **Acquired:** 2026-08-30 UTC.
|
|
120
146
|
- **In-game localisation revision:** none published; the game ships no immutable
|
|
121
147
|
identifier for its localisation tables. The acquired table is the evidence.
|
|
122
|
-
- **Derivation:** each
|
|
148
|
+
- **Derivation:** each current key and its English name comes from
|
|
123
149
|
`data/ships/experimental-effects.jsonc`, which stays authoritative for canonical
|
|
124
150
|
English. The Frontier symbol joins to the in-game experimental-effect name table,
|
|
125
|
-
which supplies every locale for all
|
|
151
|
+
which supplies every locale for all of them. Where it and EDSY disagree, the in-game value
|
|
126
152
|
is kept, as everywhere else in this repository. It supplies six values EDSY does not
|
|
127
153
|
carry — all five non-English `special_super_penetrator` names and the German
|
|
128
154
|
`special_weapon_rateoffire` — and changes two EDSY already carried: German
|
|
@@ -134,7 +160,7 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
134
160
|
`special_super_penetrator_cooled` are pre-engineered rail-gun variants the game does
|
|
135
161
|
not name separately, so the source marks them as carrying the base effect's entry.
|
|
136
162
|
Each takes those values, exactly as a shadowing blueprint id takes its generic's.
|
|
137
|
-
- **Coverage:** complete.
|
|
163
|
+
- **Coverage:** complete. Every effect carries all six locales.
|
|
138
164
|
- **Manual corrections:** the source appends a `†` to every marked cell of the three
|
|
139
165
|
`_cooled` variants above; it is the acquisition's own shadow marker rather than part of
|
|
140
166
|
a name, and is removed here.
|
|
@@ -144,7 +170,7 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
144
170
|
- **Acquired:** 2026-08-16 UTC.
|
|
145
171
|
- **Odyssey Materials Helper revision:** commit
|
|
146
172
|
`23343c453938e724f317c56e9eb7db0dbfa71f78`.
|
|
147
|
-
- **Derivation:** each
|
|
173
|
+
- **Derivation:** each current symbol and its canonical English name comes
|
|
148
174
|
from the three `data/materials/materials-*.jsonc` catalogues. The lower-cased symbol
|
|
149
175
|
joins directly to the final component of Odyssey Materials Helper's message key in
|
|
150
176
|
`locale/material/horizons/{raw,manufactured,encoded}.csv`; only that row's explicit
|
|
@@ -155,14 +181,14 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
155
181
|
source values.
|
|
156
182
|
- **Second source, the in-game material localisation tables**, acquired 2026-08-30 UTC;
|
|
157
183
|
the game publishes no immutable identifier for them, so the acquired table is the
|
|
158
|
-
evidence. It covers
|
|
159
|
-
this repository, wins where the two disagree. That fills the
|
|
160
|
-
|
|
184
|
+
evidence. It covers every material in all six locales and, as everywhere else in
|
|
185
|
+
this repository, wins where the two disagree. That fills the values Odyssey Materials
|
|
186
|
+
Helper did not carry and restyles others it did: most are the French apostrophe
|
|
161
187
|
(the in-game tables use `'` throughout, as every other catalogue here does, where
|
|
162
|
-
Odyssey Materials Helper uses `’`),
|
|
188
|
+
Odyssey Materials Helper uses `’`), the next largest group is Spanish names the helper title-cased
|
|
163
189
|
(`Fragmento Caústico` against the game's `Fragmento cáustico`), and the rest are
|
|
164
190
|
wording.
|
|
165
|
-
- **Coverage:** complete.
|
|
191
|
+
- **Coverage:** complete. Every material carries all six locales.
|
|
166
192
|
- **Manual corrections:** six of the in-game values are the outfitting UI's own
|
|
167
193
|
abbreviations, shortened to fit its widget rather than translated differently —
|
|
168
194
|
`Comp. de destroços Guardian` against the helper's `Componentes de destroços Sentinela
|
|
@@ -183,26 +209,26 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
183
209
|
`23343c453938e724f317c56e9eb7db0dbfa71f78`.
|
|
184
210
|
- **Supplemental source:** in-game verification, acquired 2026-08-16 UTC; immutable
|
|
185
211
|
revision unavailable.
|
|
186
|
-
- **Derivation:** each
|
|
212
|
+
- **Derivation:** each current symbol and its canonical English name comes
|
|
187
213
|
from the four `data/materials/micro-resources-*.jsonc` catalogues. The 196 FDevIDs-backed
|
|
188
214
|
records join directly to the final component of Odyssey Materials Helper's message key
|
|
189
215
|
in `locale/material/odyssey/{asset,consumable,data,good}.csv`; only that row's explicit
|
|
190
|
-
localized columns are copied.
|
|
191
|
-
rows in Odyssey Materials Helper,
|
|
192
|
-
`SmallCapacityPowerRegulator
|
|
193
|
-
German, Spanish, French and Russian. In both cases the owning
|
|
194
|
-
authoritative for canonical English names.
|
|
216
|
+
localized columns are copied. All but two of the in-game-backed records also have
|
|
217
|
+
rows in Odyssey Materials Helper, the exceptions being `PowerVirus` and
|
|
218
|
+
`SmallCapacityPowerRegulator`. Every in-game-backed record takes the explicit in-game
|
|
219
|
+
`name` values for German, Spanish, French and Russian. In both cases the owning
|
|
220
|
+
catalogue remains authoritative for canonical English names.
|
|
195
221
|
- **Second source, the in-game micro-resource localisation tables**, acquired
|
|
196
222
|
2026-08-30 UTC; the game publishes no immutable identifier for them, so the acquired
|
|
197
|
-
table is the evidence. It covers
|
|
198
|
-
two disagree, on the same footing as the material tables above. That fills
|
|
199
|
-
remaining
|
|
200
|
-
`SmallCapacityPowerRegulator`, which no registry carries — and restyles
|
|
201
|
-
|
|
223
|
+
table is the evidence. It covers all but one symbol in all six locales and wins where the
|
|
224
|
+
two disagree, on the same footing as the material tables above. That fills every
|
|
225
|
+
remaining value — including the Brazilian Portuguese for `PowerVirus` and
|
|
226
|
+
`SmallCapacityPowerRegulator`, which no registry carries — and restyles others, mostly
|
|
227
|
+
the French apostrophe and the French Powerplay term, which the game
|
|
202
228
|
lower-cases (`Données classifiées de puissance`).
|
|
203
229
|
`PowerMegashipData` is absent from the micro-resource table and appears in the material
|
|
204
230
|
one; its values are taken from there.
|
|
205
|
-
- **Coverage:** complete.
|
|
231
|
+
- **Coverage:** complete. Every micro resource carries all six locales.
|
|
206
232
|
- **Manual corrections:** five in-game values are layout, not names. Four German
|
|
207
233
|
consumables carry a `<br>` inside a compound word that the UI wraps —
|
|
208
234
|
`Energie-<br>zelle`, `Splitter-<br>granate`, `Schild-<br>unterbrecher` and
|
|
@@ -223,9 +249,9 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
223
249
|
labels are copied verbatim. The join is on family identity rather than on English
|
|
224
250
|
string equality, because the English column of the in-game table *is* the canonical
|
|
225
251
|
English name the ships catalogue took from it.
|
|
226
|
-
- **Coverage:** English covers
|
|
227
|
-
|
|
228
|
-
|
|
252
|
+
- **Coverage:** English covers every family; the five other locales cover only the
|
|
253
|
+
families the in-game outfitting screen names. The families without a source-backed
|
|
254
|
+
label are: `axMissileRacks`, `axMultiCannons`, `cargoHatches`,
|
|
229
255
|
`causticSinkLaunchers`, `guardianGaussCannons`, `guardianHybridPowerDistributors`,
|
|
230
256
|
`guardianHybridPowerPlants`, `guardianNaniteTorpedoPylons`, `guardianPlasmaChargers`,
|
|
231
257
|
`guardianShardCannons`, `guardianShieldReinforcementPackages`,
|
|
@@ -239,21 +265,21 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
239
265
|
- **Acquired:** 2026-08-30 UTC.
|
|
240
266
|
- **In-game localisation revision:** none published; the game ships no immutable
|
|
241
267
|
identifier for its localisation tables. The acquired table is the evidence.
|
|
242
|
-
- **Derivation:** each
|
|
268
|
+
- **Derivation:** each current key comes from
|
|
243
269
|
`data/ships/experimental-effects.jsonc`; the Frontier symbol joins to the in-game
|
|
244
|
-
experimental-effect description table, which supplies every locale for all
|
|
245
|
-
values, English included, are the source's verbatim.
|
|
246
|
-
- **This catalogue
|
|
270
|
+
experimental-effect description table, which supplies every locale for all of them.
|
|
271
|
+
All six values, English included, are the source's verbatim.
|
|
272
|
+
- **This catalogue does not project the ships catalogue's `description`.** The two
|
|
247
273
|
answer different questions and are deliberately different strings. An effect's
|
|
248
274
|
`description` in `data/ships/experimental-effects.jsonc` is a mechanical note that
|
|
249
275
|
states what the `modifiers` list cannot — that High Yield Shell deals 50/50
|
|
250
|
-
kinetic/explosive damage with module splash, say — and
|
|
276
|
+
kinetic/explosive damage with module splash, say — and most effects need no
|
|
251
277
|
such note and carry none. What the game shows a player is display prose that names no
|
|
252
278
|
magnitudes ("Modified munitions that convert a portion of damage to explosive …"), and
|
|
253
279
|
it exists for every effect. Projecting one onto the other would have cost the
|
|
254
280
|
mechanical notes their numbers; storing the display prose here keeps each field doing
|
|
255
281
|
its own job, and the ships catalogue is unchanged.
|
|
256
|
-
- **Coverage:** complete.
|
|
282
|
+
- **Coverage:** complete. Every effect carries all six locales.
|
|
257
283
|
- **Manual corrections:** 26 of the source's descriptions begin with one or more
|
|
258
284
|
bracketed tokens — `[ShieldRegen]`, and `[SnsrBlinding][Heat]` on
|
|
259
285
|
`special_radiant_canister`. A token is byte-identical across all six locales and is
|
|
@@ -264,19 +290,19 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
264
290
|
## `pre-engineered-variant-names.jsonc`
|
|
265
291
|
|
|
266
292
|
- **Acquired:** 2026-08-18 UTC; the Merc-shop names 2026-08-22 UTC.
|
|
267
|
-
- **Derivation:**
|
|
293
|
+
- **Derivation:** every compound identity and English name comes from
|
|
268
294
|
`data/ships/pre-engineered.jsonc`. An identity combines the base module symbol,
|
|
269
295
|
blueprint, optional experimental effect and acquisition route. When a variant name
|
|
270
296
|
exactly matches its base module's canonical name, it reuses that record from
|
|
271
|
-
`module-names.jsonc`;
|
|
297
|
+
`module-names.jsonc`; each distinct display record is stored once. Fixed reward
|
|
272
298
|
names such as the three `Decorative_*` festive launchers remain canonical English.
|
|
273
|
-
- **The
|
|
299
|
+
- **The Merc-shop rows carry the shop's own names** — the shop
|
|
274
300
|
sells a "Far-Reaching Abrasion Blaster", not an Abrasion Blaster — so they do not reuse
|
|
275
301
|
their base module's record. All six locales are supplied by the repository owner from
|
|
276
302
|
the in-game shop listing; no registry publishes them. The Brazilian Portuguese column
|
|
277
303
|
was acquired 2026-08-30 UTC and agrees byte-for-byte with the five columns already
|
|
278
304
|
stored, which it does not change.
|
|
279
|
-
- **A tech-broker unlock may carry an unlock marker**, and
|
|
305
|
+
- **A tech-broker unlock may carry an unlock marker**, and some do — see
|
|
280
306
|
`data/ships/SOURCES.md`. Those names are not their base module's, so they do not reuse
|
|
281
307
|
its record. Where the marker is a manufacturer (`Sirius`, `Azimuth`) or a version
|
|
282
308
|
(`V1`) it is not a translatable word, so the localized value is that marker composed
|
|
@@ -316,7 +342,7 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
316
342
|
`data/equipment/suits.jsonc`, which stays authoritative for canonical English. Each
|
|
317
343
|
family's grade symbols join case-insensitively to the in-game suit localisation
|
|
318
344
|
identity, which carries a `name`, a `longname` and an `info` string per locale. The
|
|
319
|
-
join is exact and total:
|
|
345
|
+
join is exact and total: every grade symbol resolves.
|
|
320
346
|
- **`name` is the value taken.** It is the suit's own name and equals the canonical
|
|
321
347
|
English on all four families.
|
|
322
348
|
- **The manufacturer is not part of the name.** `longname` prefixes one —
|
|
@@ -329,9 +355,10 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
329
355
|
byte-identical values in all six locales, so one record is stored per family and
|
|
330
356
|
`nameKeys` maps the family id and every grade symbol onto it. Both forms a consumer
|
|
331
357
|
holds therefore resolve: `Suit.family` and the `utilitysuit_class3` a journal line
|
|
332
|
-
writes. The flight suit has a single grade whose symbol *is* the family id, so
|
|
333
|
-
|
|
334
|
-
|
|
358
|
+
writes. The flight suit has a single grade whose symbol *is* the family id, so it
|
|
359
|
+
contributes one identifier where the other families contribute their family id and
|
|
360
|
+
each grade symbol.
|
|
361
|
+
- **Coverage:** complete. Every identifier carries all six locales.
|
|
335
362
|
- **Two suits are not stored**, because `data/equipment/suits.jsonc` does not carry them:
|
|
336
363
|
the five `specialistsuit_class{1..5}` grades, which the source does name
|
|
337
364
|
(`Specialist Suit`, listed as `Remlok Paragon Specialist Suit`), and `hyperspacesuit`,
|
|
@@ -353,7 +380,7 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
353
380
|
what a suit does — shield strength, battery capacity, the four resistances — and the
|
|
354
381
|
description answers what it is for, naming no figure at all. Neither is projected onto
|
|
355
382
|
the other.
|
|
356
|
-
- **Coverage:** complete.
|
|
383
|
+
- **Coverage:** complete. Every identifier carries all six locales, and every grade of a
|
|
357
384
|
family shares its record exactly as in `suit-names.jsonc`.
|
|
358
385
|
- **The Specialist Suit grades carry no description at all**, which is a second reason
|
|
359
386
|
they are absent here beyond the owning catalogue not carrying them.
|
|
@@ -365,13 +392,13 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
365
392
|
- **Acquired:** 2026-09-01 UTC.
|
|
366
393
|
- **In-game localisation revision:** none published; the game ships no immutable
|
|
367
394
|
identifier for its localisation tables. The acquired table is the evidence.
|
|
368
|
-
- **Derivation:**
|
|
395
|
+
- **Derivation:** every current weapon symbol comes from `data/equipment/weapons.jsonc`.
|
|
369
396
|
Each joins case-insensitively to the in-game weapon localisation identity and takes its
|
|
370
397
|
`info` string; the join is exact and total. All six values, English included, are the
|
|
371
398
|
source's verbatim, because the owning catalogue publishes no weapon description.
|
|
372
399
|
- **No sibling name catalogue exists**, and that is a decision rather than a gap — see
|
|
373
400
|
§Names this repository deliberately does not localize.
|
|
374
|
-
- **Coverage:** complete.
|
|
401
|
+
- **Coverage:** complete. Every weapon carries all six locales.
|
|
375
402
|
- **Two entries the source carries are not stored:** `wpn_h_launcher_rocket_sauto`
|
|
376
403
|
(`Karma HL-9`), the heavy rocket launcher no current catalogue owns, and
|
|
377
404
|
`wpn_m_submachinegun_kinetic_burst`, which the table lists with no text at all.
|
|
@@ -382,7 +409,7 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
382
409
|
- **Acquired:** 2026-09-01 UTC.
|
|
383
410
|
- **In-game localisation revision:** none published; the game ships no immutable
|
|
384
411
|
identifier for its localisation tables. The acquired table is the evidence.
|
|
385
|
-
- **Derivation:**
|
|
412
|
+
- **Derivation:** every recipe symbol and its canonical English name comes from
|
|
386
413
|
`data/equipment/modifications.jsonc`, which stays authoritative for canonical English.
|
|
387
414
|
A symbol joins case-insensitively to the in-game modification identity as
|
|
388
415
|
`humanoidmod_<symbol>`, which carries a `name` and a `description` per locale.
|
|
@@ -392,12 +419,12 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
392
419
|
their material costs differ (§`data/equipment/SOURCES.md`). The `_kinetic`, `_laser`
|
|
393
420
|
and `_plasma` suffix is dropped before the join, so each of the three takes its generic
|
|
394
421
|
entry's locales — exactly as a shadowing blueprint id takes its generic's in
|
|
395
|
-
`blueprint-names.jsonc`.
|
|
396
|
-
the catalogue stores them once each: `nameKeys` maps a recipe symbol onto the entry the
|
|
422
|
+
`blueprint-names.jsonc`. A smaller set of source entries therefore covers every recipe,
|
|
423
|
+
and the catalogue stores them once each: `nameKeys` maps a recipe symbol onto the entry the
|
|
397
424
|
game publishes, as `module-names.jsonc` maps a module symbol onto a shared name.
|
|
398
425
|
- **That shape is about visibility, not bytes.** Storing each shared entry three times
|
|
399
|
-
instead costs about the same, because the
|
|
400
|
-
the
|
|
426
|
+
instead costs about the same, because the duplicate name records weigh roughly what
|
|
427
|
+
the `nameKeys` map does; the descriptions save about a fifteenth. What the
|
|
401
428
|
deduplicated form buys is that the sharing is stated in the data, rather than sitting in
|
|
402
429
|
six duplicate records a later edit could silently pull apart.
|
|
403
430
|
- **`Headshot Damage` is the one English value the game spells differently.** The in-game
|
|
@@ -405,7 +432,7 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
405
432
|
kept, as canonical English is kept everywhere in this directory. The lower-case
|
|
406
433
|
`Stowed reloading` the owning catalogue already carries *is* the game's own spelling
|
|
407
434
|
and agrees with it.
|
|
408
|
-
- **Coverage:** complete.
|
|
435
|
+
- **Coverage:** complete. Every recipe carries all six locales.
|
|
409
436
|
- **One in-game modification is not stored:** `humanoidmod_suit_headshotresistance`
|
|
410
437
|
(`Increased Helmet Protection`), which `data/equipment/modifications.jsonc` does not
|
|
411
438
|
carry as a recipe.
|
|
@@ -421,7 +448,7 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
421
448
|
- **Acquired:** 2026-09-01 UTC.
|
|
422
449
|
- **In-game localisation revision:** none published; the game ships no immutable
|
|
423
450
|
identifier for its localisation tables. The acquired table is the evidence.
|
|
424
|
-
- **Derivation:** the same
|
|
451
|
+
- **Derivation:** the same recipe symbols as `personal-modification-names.jsonc`,
|
|
425
452
|
joined the same way and sharing the generic entry across the nine technology-specific
|
|
426
453
|
recipes for the same reason. Each takes the identity's `description` string. All six
|
|
427
454
|
values, English included, are the source's verbatim.
|
|
@@ -431,12 +458,81 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
431
458
|
and the two are deliberately different strings. It is also the only account of the ten
|
|
432
459
|
recipes whose `modifiers` list is empty — some switch a capability on, the rest move a
|
|
433
460
|
stat the panel puts no number on (§`data/equipment/SOURCES.md`).
|
|
434
|
-
- **Coverage:** complete.
|
|
461
|
+
- **Coverage:** complete. Every recipe carries all six locales.
|
|
435
462
|
- **Manual corrections:** none. The French
|
|
436
463
|
`weapon_backpackreloading` description keeps the non-breaking space the source sets
|
|
437
464
|
between a figure and its unit (`5 secondes`), which is French typography rather than
|
|
438
465
|
layout.
|
|
439
466
|
|
|
467
|
+
## `personal-tool-names.jsonc`
|
|
468
|
+
|
|
469
|
+
- **Acquired:** 2026-09-03 UTC.
|
|
470
|
+
- **In-game localisation revision:** none published; the game ships no immutable
|
|
471
|
+
identifier for its localisation tables. The acquired table is the evidence.
|
|
472
|
+
- **Derivation:** every tool id and its canonical English name comes from
|
|
473
|
+
`data/equipment/tools.jsonc`, which stays authoritative for canonical English. Each id
|
|
474
|
+
joins by name to the tool's row in the in-game localisation table, which carries a
|
|
475
|
+
`name` per locale. The join is exact and total: every id resolves, and every row's
|
|
476
|
+
English `name` equals the canonical English.
|
|
477
|
+
- **The library id is the only key.** The localisation table keys a tool row by an
|
|
478
|
+
internal identity no journal field carries (§`data/equipment/SOURCES.md`), so a
|
|
479
|
+
consumer never holds one and it is not stored. The library id is the single identifier
|
|
480
|
+
both `getPersonalToolName` and `getPersonalToolById` take, and a second key set would
|
|
481
|
+
let one of the two answer where the other cannot.
|
|
482
|
+
- **A value equal to the English is the game's own.** The game leaves `Arc Cutter` in
|
|
483
|
+
English in German, Spanish, French and Brazilian Portuguese, and `Genetic Sampler` in
|
|
484
|
+
German; Russian translates both. Storing them verbatim is what the sparse contract
|
|
485
|
+
requires: the lookup answers with a source value and never manufactures an English
|
|
486
|
+
fallback.
|
|
487
|
+
- **Coverage:** complete. Every tool carries all six locales.
|
|
488
|
+
- **Manual corrections:** none.
|
|
489
|
+
|
|
490
|
+
## `commodity-names.jsonc`
|
|
491
|
+
|
|
492
|
+
- **Acquired:** 2026-09-03 UTC.
|
|
493
|
+
- **In-game localisation revision:** none published; the game ships no immutable
|
|
494
|
+
identifier for its localisation tables. The acquired table is the evidence.
|
|
495
|
+
- **Derivation:** every symbol and canonical English name comes from
|
|
496
|
+
`data/commodities/commodities.jsonc` and `rare-commodities.jsonc`, which stay
|
|
497
|
+
authoritative for canonical English. Each symbol joins case-insensitively to the
|
|
498
|
+
in-game commodity localisation identity, which carries a `name` and an `info` string
|
|
499
|
+
per locale. `name` is the value taken. The join is exact and total: every commodity the
|
|
500
|
+
two catalogues hold resolves. The game also names commodity units no catalogue here
|
|
501
|
+
carries (§`data/commodities/SOURCES.md`); a name with no owning record is not stored,
|
|
502
|
+
so the key set is the catalogues' and not the game's.
|
|
503
|
+
- **Standard and rare share one catalogue here**, because they share one symbol space
|
|
504
|
+
and the game names them from one table.
|
|
505
|
+
- **The owning catalogues win the six English disagreements**, as this file's opening
|
|
506
|
+
rule requires. The game's English name is the shorter or the differently cased
|
|
507
|
+
spelling in all but the last of them: `Drones` keeps `Limpets` against `Limpet`,
|
|
508
|
+
`LowTemperatureDiamond` keeps `Low Temperature Diamonds` against
|
|
509
|
+
`Low Temp. Diamonds`, `AerialEdenApple`,
|
|
510
|
+
`WatersOfShintara` and `HIPOrganophosphates` keep their `of`, `of` and `HIP` against
|
|
511
|
+
`Of`, `Of` and `Hip`, and `ThargoidPod` keeps `Xenobiological Prison Pod` against
|
|
512
|
+
`Thargoid Bio-storage Capsule`. The last is a different name rather than a different
|
|
513
|
+
spelling, and it is the one to revisit first if the owning catalogue is ever re-derived
|
|
514
|
+
from the game.
|
|
515
|
+
- **Nine stored non-English values are the game's own abbreviations** — the German
|
|
516
|
+
`Fortschr. Katalysatoren` and `Histor. Kamorin-Waffen`, the Spanish
|
|
517
|
+
`Interconect. de eyector térmico` and `Conductos de transf. de energía`, the French
|
|
518
|
+
`Sys. surveillance animale`, `Sys. enrichissement sols` and
|
|
519
|
+
`Interconnexion dissipateur therm.`, and the Russian
|
|
520
|
+
`Агенты нервно-паралит. действия` and `Детали оборон. беспилотников` — and they stay
|
|
521
|
+
abbreviated because no source spells them out. This is the same position
|
|
522
|
+
`module-names.jsonc` records for its own abbreviated labels. The English `H.E. Suits`
|
|
523
|
+
is not one of them: it is the owning catalogue's own name.
|
|
524
|
+
- **Coverage:** complete. Every commodity carries all six locales, and no commodity has
|
|
525
|
+
five non-English values all byte-identical to its English, so no commodity name is a
|
|
526
|
+
proper noun the game leaves alone.
|
|
527
|
+
- **The registry's `info` prose is not stored.** Each commodity also carries an `info`
|
|
528
|
+
string per locale — the market panel's production, consumption and description text. A
|
|
529
|
+
commodity description catalogue would take those six values verbatim, the way
|
|
530
|
+
`suit-descriptions.jsonc` does; none exists, so the prose is absent rather than
|
|
531
|
+
partial.
|
|
532
|
+
- **Manual corrections:** one. The Spanish `BuckyballBeerMats` is published as
|
|
533
|
+
`"Posavasos Buckyball "` with a trailing space, which is layout and not part of the
|
|
534
|
+
name; it is stored trimmed. Every other value is verbatim.
|
|
535
|
+
|
|
440
536
|
## Names this repository deliberately does not localize
|
|
441
537
|
|
|
442
538
|
No catalogues are stored for the following names, either because the game does not
|
|
@@ -456,7 +552,7 @@ record in this repository is keyed by them.
|
|
|
456
552
|
carries no name at all — see the header of `data/ships/engineering-options.jsonc` — and
|
|
457
553
|
a consumer names one by joining a module's `familyId` to `module-family-names.jsonc`.
|
|
458
554
|
- **Handheld personal-weapon names.** The in-game weapon localisation table publishes all
|
|
459
|
-
six locales for every
|
|
555
|
+
six locales for every weapon, and every non-English value
|
|
460
556
|
is byte-for-byte the English: `Karma P-15`, `TK Aphelion` and `Manticore Executioner`
|
|
461
557
|
are product names the game leaves alone, exactly as it does a hull's. `PersonalWeapon`
|
|
462
558
|
in `data/equipment/weapons.jsonc` is the one place to read the name; the weapons'
|
|
@@ -465,23 +561,33 @@ record in this repository is keyed by them.
|
|
|
465
561
|
`Kinematic Armaments` are byte-for-byte identical in all six locales wherever the game
|
|
466
562
|
names them, which is why `suit-names.jsonc` stores a suit's own name and not the
|
|
467
563
|
outfitting list's manufacturer-prefixed listing.
|
|
468
|
-
- **Suit and weapon stat labels, the on-foot loadout panel's
|
|
469
|
-
dialogue.** These are the second reason rather than the first: the
|
|
470
|
-
six locales for each, and none of them names a record in any
|
|
471
|
-
label names a field of `Suit` or `PersonalWeapon`, a row
|
|
472
|
-
on-foot loadout
|
|
473
|
-
Storing them would mean inventing keys this repository does not
|
|
474
|
-
consumer that needs a field label supplies its own.
|
|
564
|
+
- **Suit and weapon stat labels, the on-foot loadout panel's rows other than the weapon
|
|
565
|
+
mounts, and engineer dialogue.** These are the second reason rather than the first: the
|
|
566
|
+
game does publish all six locales for each, and none of them names a record in any
|
|
567
|
+
catalogue here. A stat label names a field of `Suit` or `PersonalWeapon`, a panel row
|
|
568
|
+
names a line of the on-foot loadout screen, and an engineer's line is spoken flavour
|
|
569
|
+
attached to an offer. Storing them would mean inventing keys this repository does not
|
|
570
|
+
otherwise own, so a consumer that needs a field label supplies its own. The weapon-mount
|
|
571
|
+
rows are outside this conclusion: `Suit.mounts` carries Frontier's own journal
|
|
572
|
+
`SlotName` for each one, so a mount row names a record this repository holds and its
|
|
573
|
+
localization is a gap rather than an invented key. **This is not the ship slot and
|
|
475
574
|
restriction gap of [#320](https://github.com/DarkSession/Elite-Dangerous-Almanac/issues/320)**,
|
|
476
575
|
which is about labels no source translates at all.
|
|
477
576
|
|
|
478
577
|
## Known gaps
|
|
479
578
|
|
|
480
579
|
Localized coverage follows the accepted sources and is not complete for every catalogue or
|
|
481
|
-
stored locale. A language absent from
|
|
580
|
+
stored locale. A language absent from every catalogue is the locale decision
|
|
482
581
|
recorded above rather than a gap. The accepted sources carry only canonical English for
|
|
483
|
-
|
|
484
|
-
and structured loadout, calculation, SLEF and
|
|
485
|
-
|
|
486
|
-
|
|
582
|
+
the outfitting-family labels listed above, slot and restriction labels, the suit
|
|
583
|
+
weapon-mount labels, fixed reward names, and structured loadout, calculation, SLEF and
|
|
584
|
+
edit messages. A missing source-backed translation that has no issue of its own
|
|
585
|
+
remains tracked by
|
|
487
586
|
[#320](https://github.com/DarkSession/Elite-Dangerous-Almanac/issues/320).
|
|
587
|
+
|
|
588
|
+
Every suit, handheld weapon, tool and modification the personal-equipment catalogues
|
|
589
|
+
hold is complete in all six locales. That area carries these gaps:
|
|
590
|
+
|
|
591
|
+
- **The suit weapon-mount labels are English only.** The game publishes all six locales
|
|
592
|
+
for them, so the values exist to be read. The gap is tracked by
|
|
593
|
+
[#26](https://github.com/DarkSession/Elite-Dangerous-Almanac/issues/26).
|