@elite-dangerous-almanac/core 0.2.5 → 0.2.7
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/i18n/SOURCES.md +199 -113
- package/PROVENANCE/materials/SOURCES.md +22 -0
- package/PROVENANCE/ships/SOURCES.md +254 -59
- package/README.md +17 -11
- package/assets/ships/LakonMiner/schematic-bottom.svg +5 -3
- package/assets/ships/LakonMiner/schematic-top.svg +2 -4
- package/dist/{chunk-XM4VA2WE.js → chunk-4U7KYQGK.js} +1 -1
- package/dist/{chunk-XM4VA2WE.js.map → chunk-4U7KYQGK.js.map} +1 -1
- package/dist/{chunk-7EWZGDWY.js → chunk-7S7ZTZZY.js} +1 -1
- package/dist/chunk-A5TCT2AJ.js +1 -0
- package/dist/{chunk-AIEC3LBT.js.map → chunk-A5TCT2AJ.js.map} +1 -1
- package/dist/chunk-A7IVMYNF.js +1 -0
- package/dist/chunk-A7IVMYNF.js.map +1 -0
- 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-KPJ77VPS.js → chunk-BJU27V6C.js} +1 -1
- package/dist/{chunk-KPJ77VPS.js.map → chunk-BJU27V6C.js.map} +1 -1
- package/dist/{chunk-DSMLYA2M.js → chunk-BMQM4JBL.js} +1 -1
- package/dist/{chunk-DSMLYA2M.js.map → chunk-BMQM4JBL.js.map} +1 -1
- package/dist/chunk-C3LLPLLD.js +1 -0
- package/dist/chunk-C3LLPLLD.js.map +1 -0
- package/dist/chunk-EHFHRQEP.js +1 -0
- package/dist/{chunk-GLWPSVFV.js.map → chunk-EHFHRQEP.js.map} +1 -1
- package/dist/{chunk-YCGISPDR.js → chunk-ETWMPMZP.js} +1 -1
- package/dist/{chunk-3NPVWPOV.js → chunk-F7VWRDSL.js} +1 -1
- package/dist/chunk-F7VWRDSL.js.map +1 -0
- package/dist/{chunk-4CBMQULR.js → chunk-FMA36V6A.js} +1 -1
- package/dist/{chunk-4CBMQULR.js.map → chunk-FMA36V6A.js.map} +1 -1
- package/dist/chunk-IZIIGK3W.js +1 -0
- package/dist/{chunk-TW7LUBHD.js.map → chunk-IZIIGK3W.js.map} +1 -1
- package/dist/chunk-KBCA4GEZ.js +1 -0
- package/dist/chunk-KLC5XT6F.js +1 -0
- package/dist/chunk-KLC5XT6F.js.map +1 -0
- package/dist/chunk-M6J7KP7G.js +1 -0
- package/dist/chunk-M6J7KP7G.js.map +1 -0
- package/dist/chunk-MRLUWHGI.js +1 -0
- package/dist/{chunk-FF2X4K5P.js.map → chunk-MRLUWHGI.js.map} +1 -1
- package/dist/chunk-MVBVXK3G.js +1 -0
- package/dist/chunk-MVBVXK3G.js.map +1 -0
- package/dist/{chunk-HBQELOBY.js → chunk-NZXSIHAW.js} +1 -1
- package/dist/{chunk-HBQELOBY.js.map → chunk-NZXSIHAW.js.map} +1 -1
- package/dist/{chunk-IWFQ4ZKF.js → chunk-OFZGNWBT.js} +1 -1
- package/dist/chunk-PF3HZ73R.js +1 -0
- package/dist/{chunk-ITKZKREP.js.map → chunk-PF3HZ73R.js.map} +1 -1
- package/dist/chunk-QJECDMQQ.js +1 -0
- package/dist/{chunk-LZYHBFJC.js.map → chunk-QJECDMQQ.js.map} +1 -1
- package/dist/chunk-T7IQHFQ2.js +1 -0
- package/dist/chunk-T7IQHFQ2.js.map +1 -0
- package/dist/chunk-TSEDU73T.js +1 -0
- package/dist/chunk-TSEDU73T.js.map +1 -0
- package/dist/chunk-XFDMCPDW.js +1 -0
- package/dist/{chunk-GRSNX36B.js.map → chunk-XFDMCPDW.js.map} +1 -1
- package/dist/chunk-XRGECU7S.js +1 -0
- package/dist/chunk-XRGECU7S.js.map +1 -0
- package/dist/{chunk-OLKNYGGT.js → chunk-XSLPWM5N.js} +1 -1
- package/dist/chunk-XSN53F7W.js +1 -0
- package/dist/{chunk-DBGXZF7O.js.map → chunk-XSN53F7W.js.map} +1 -1
- package/dist/chunk-ZEN5K3GE.js +1 -0
- package/dist/{chunk-WR6ZFHTO.js.map → chunk-ZEN5K3GE.js.map} +1 -1
- package/dist/chunk-ZZTDEDXJ.js +1 -0
- package/dist/{chunk-FA5JVXVG.js.map → chunk-ZZTDEDXJ.js.map} +1 -1
- package/dist/equipment/index.js +1 -1
- package/dist/equipment/upgrade-costs.js +1 -1
- package/dist/equipment/upgrade-costs.js.map +1 -1
- package/dist/i18n/experimental-effect-descriptions.d.ts +21 -6
- package/dist/i18n/experimental-effect-descriptions.js +1 -1
- package/dist/i18n/experimental-effects.js +1 -1
- package/dist/i18n/index.d.ts +0 -2
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/materials.d.ts +7 -6
- package/dist/i18n/materials.js +1 -1
- package/dist/i18n/micro-resources.d.ts +7 -6
- package/dist/i18n/micro-resources.js +1 -1
- package/dist/i18n/modules.d.ts +10 -7
- package/dist/i18n/modules.js +1 -1
- package/dist/i18n/pre-engineered.js +1 -1
- package/dist/materials/index.js +1 -1
- package/dist/materials/materials-all.js +1 -1
- package/dist/materials/materials-encoded.js +1 -1
- package/dist/materials/materials-manufactured.js +1 -1
- package/dist/materials/materials.js +1 -1
- package/dist/materials/micro-resources-all.js +1 -1
- package/dist/materials/micro-resources.js +1 -1
- package/dist/ships/blueprint-costs.js +1 -1
- package/dist/ships/blueprint-journal.js +1 -1
- package/dist/ships/build-metrics.js +1 -1
- package/dist/ships/engineering-options.d.ts +12 -6
- package/dist/ships/engineering-options.js +1 -1
- package/dist/ships/engineering.js +1 -1
- package/dist/ships/gunsights.d.ts +2 -2
- package/dist/ships/gunsights.js +1 -1
- package/dist/ships/index.d.ts +5 -5
- package/dist/ships/index.js +1 -1
- package/dist/ships/loadout-calculations.d.ts +11 -2
- package/dist/ships/loadout-calculations.js +1 -1
- package/dist/ships/loadout-validation.js +1 -1
- package/dist/ships/modules-all.d.ts +2 -2
- package/dist/ships/modules-all.js +1 -1
- package/dist/ships/modules-core.d.ts +3 -3
- package/dist/ships/modules-core.js +1 -1
- package/dist/ships/modules-hardpoint.d.ts +1 -1
- package/dist/ships/modules-internal.d.ts +1 -1
- package/dist/ships/modules-internal.js +1 -1
- package/dist/ships/modules-utility.d.ts +1 -1
- package/dist/ships/modules.d.ts +9 -6
- package/dist/ships/modules.js +1 -1
- package/dist/ships/pre-engineered-stats.js +1 -1
- package/dist/ships/pre-engineered.js +1 -1
- package/dist/ships/ship-loadout.d.ts +65 -23
- package/dist/ships/ship-loadout.js +1 -1
- package/dist/ships/weapons.js +1 -1
- package/package.json +1 -9
- package/dist/chunk-3NPVWPOV.js.map +0 -1
- package/dist/chunk-5QSCLEEB.js +0 -1
- package/dist/chunk-5QSCLEEB.js.map +0 -1
- package/dist/chunk-5VBB5CTV.js +0 -1
- package/dist/chunk-5VBB5CTV.js.map +0 -1
- package/dist/chunk-5ZVYRX6Z.js +0 -1
- package/dist/chunk-5ZVYRX6Z.js.map +0 -1
- package/dist/chunk-AIEC3LBT.js +0 -1
- package/dist/chunk-DAQ3PJ4R.js +0 -1
- package/dist/chunk-DAQ3PJ4R.js.map +0 -1
- package/dist/chunk-DBGXZF7O.js +0 -1
- package/dist/chunk-DCB4COCL.js +0 -1
- package/dist/chunk-DCB4COCL.js.map +0 -1
- package/dist/chunk-FA5JVXVG.js +0 -1
- package/dist/chunk-FF2X4K5P.js +0 -1
- package/dist/chunk-G2VSQFD6.js +0 -1
- package/dist/chunk-G2VSQFD6.js.map +0 -1
- package/dist/chunk-GLWPSVFV.js +0 -1
- package/dist/chunk-GRSNX36B.js +0 -1
- package/dist/chunk-ITKZKREP.js +0 -1
- package/dist/chunk-J4PCK4RV.js +0 -1
- package/dist/chunk-J4PCK4RV.js.map +0 -1
- package/dist/chunk-JO52LYO3.js +0 -1
- package/dist/chunk-KJFUNIIY.js +0 -1
- package/dist/chunk-KJFUNIIY.js.map +0 -1
- package/dist/chunk-LZYHBFJC.js +0 -1
- package/dist/chunk-OJC6AUL7.js +0 -1
- package/dist/chunk-OJC6AUL7.js.map +0 -1
- package/dist/chunk-TW7LUBHD.js +0 -1
- package/dist/chunk-WR6ZFHTO.js +0 -1
- package/dist/i18n/engineering-groups.d.ts +0 -21
- package/dist/i18n/engineering-groups.js +0 -1
- package/dist/i18n/engineering-groups.js.map +0 -1
- package/dist/i18n/ships.d.ts +0 -36
- package/dist/i18n/ships.js +0 -1
- package/dist/i18n/ships.js.map +0 -1
- /package/dist/{chunk-7EWZGDWY.js.map → chunk-7S7ZTZZY.js.map} +0 -0
- /package/dist/{chunk-YCGISPDR.js.map → chunk-ETWMPMZP.js.map} +0 -0
- /package/dist/{chunk-JO52LYO3.js.map → chunk-KBCA4GEZ.js.map} +0 -0
- /package/dist/{chunk-IWFQ4ZKF.js.map → chunk-OFZGNWBT.js.map} +0 -0
- /package/dist/{chunk-OLKNYGGT.js.map → chunk-XSLPWM5N.js.map} +0 -0
|
@@ -23,24 +23,61 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
23
23
|
|
|
24
24
|
## `module-names.jsonc`
|
|
25
25
|
|
|
26
|
-
- **Acquired:** 2026-08-
|
|
27
|
-
- **
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
26
|
+
- **Acquired:** 2026-08-30 UTC.
|
|
27
|
+
- **In-game localisation revision:** none published; the game ships no immutable
|
|
28
|
+
identifier for its localisation tables. The acquired table is the evidence.
|
|
29
|
+
- **Derivation:** all 1,194 current module symbols and English names come from the four
|
|
30
|
+
`data/ships/modules-*.jsonc` catalogues, which stay authoritative for canonical
|
|
31
|
+
English. Each symbol joins case-insensitively to the in-game module localisation
|
|
32
|
+
identity, which carries a `name`, a `longname` and an `info` string per locale. The
|
|
33
|
+
join is exact and total: every one of the 1,194 resolves.
|
|
34
|
+
- **`longname` is the name taken.** It is the outfitting list's full name and equals
|
|
35
|
+
the canonical English on 1,041 of the symbols, where `name` — the abbreviated panel
|
|
36
|
+
form — equals it on 726. **Both totals were counted over the 1,199-symbol set that
|
|
37
|
+
preceded the removal of the five plain size-8 drives (§`data/ships/SOURCES.md`), and
|
|
38
|
+
are not re-derived here:** the in-game localisation table is not vendored, so whether
|
|
39
|
+
those five sat inside either total cannot be checked from this repository. Read them
|
|
40
|
+
as upper bounds over 1,194 symbols until the table is re-acquired. `name` is taken
|
|
41
|
+
only where a longname is a template rather than a name, which is the cargo racks,
|
|
42
|
+
fuel tanks and corrosion-resistant racks whose longname carries a capacity.
|
|
43
|
+
- **Aliasing is followed.** A localisation value may be a `$Other_Key;` pointer rather
|
|
44
|
+
than text; roughly three thousand of the keys are. Each is followed to the entry
|
|
45
|
+
holding real text before anything is stored, and a value still carrying a `$` token
|
|
46
|
+
after that is not a name and is rejected.
|
|
47
|
+
- **The `(Free)` vessel-hangar grants have no name of their own** — theirs is a
|
|
48
|
+
template wrapping the base hangar's. Their canonical English is already the base
|
|
49
|
+
module's, so they share its record, exactly as they did before.
|
|
50
|
+
- **This table replaces the EDDI and EDSY joins the catalogue previously used**, and wins
|
|
51
|
+
where they disagree, as in-game values do everywhere in this repository. It fills the
|
|
52
|
+
349 values those joins left empty and restyles 3,135 they carried, across 324 distinct
|
|
53
|
+
record-and-locale pairs: 73 differ only in letter case, 10 only in punctuation or
|
|
54
|
+
accents, and 241 in wording. Many of the last are the game being specific where the
|
|
55
|
+
registries were general — Russian `Двигатели` becomes `Маневровые двигатели`, Brazilian
|
|
56
|
+
Portuguese `Propulsores` becomes `Propulsores de desempenho melhorado`.
|
|
57
|
+
- **The least abbreviated spelling is the one stored**, as it is in
|
|
58
|
+
`material-names.jsonc`. The outfitting panel shortens a label that will not fit, and
|
|
59
|
+
that is a rendering rather than a different translation, so where the panel abbreviates
|
|
60
|
+
the longest unabbreviated spelling available for that module and locale is taken
|
|
61
|
+
instead — the catalogue's own previous value where it had one, otherwise the source's
|
|
62
|
+
other field. French `Laser à impuls.` is stored as `Laser à impulsion`, Russian
|
|
63
|
+
`Разбрас-ль дип. отражателей` as `Разбрасыватель дипольных отражателей`. An
|
|
64
|
+
unabbreviated candidate is rejected when it is so much shorter that it is plainly a
|
|
65
|
+
different label rather than the same one spelled out: German `EGM` does not replace
|
|
66
|
+
`Elektr. Gegenmaßnahmen`. **Ten values remain abbreviated** because no source spells
|
|
67
|
+
them out — the Mk II gravity-optimised thrusters in four locales, the Advanced
|
|
68
|
+
Planetary Approach Suite in three, and three others — and there the alternative is a
|
|
69
|
+
bare `Schubdüsen` or `Propulseurs` that loses what distinguishes the module.
|
|
70
|
+
- **A rendered capacity or grant marker is not a name.** A longname may carry a module's
|
|
71
|
+
own capacity or a `(Free)` marker — `Anti-Korrosions-Frachtgestell (KAP.: 1)` — which
|
|
72
|
+
describes one module rather than naming the family, so it is rejected and the source's
|
|
73
|
+
other field is read instead.
|
|
74
|
+
- **One record per canonical English name.** Where the source distinguishes in another
|
|
75
|
+
locale what English spells the same way, the reading most symbols share is stored:
|
|
76
|
+
`Lightweight Alloy` and `Reinforced Alloy` are singular on 25 hulls and plural on the
|
|
77
|
+
rest, and the singular is kept, which is also the number the English carries.
|
|
78
|
+
`Hatch Breaker Limpet Controller` is specific on twenty symbols and generic on one, and
|
|
79
|
+
the specific is kept.
|
|
80
|
+
- **Coverage:** complete. All 1,194 symbols carry all six locales.
|
|
44
81
|
- **Manual corrections:** none.
|
|
45
82
|
|
|
46
83
|
## `blueprint-names.jsonc`
|
|
@@ -78,16 +115,29 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
78
115
|
|
|
79
116
|
## `experimental-effect-names.jsonc`
|
|
80
117
|
|
|
81
|
-
- **Acquired:** 2026-08-
|
|
82
|
-
- **
|
|
83
|
-
|
|
118
|
+
- **Acquired:** 2026-08-30 UTC.
|
|
119
|
+
- **In-game localisation revision:** none published; the game ships no immutable
|
|
120
|
+
identifier for its localisation tables. The acquired table is the evidence.
|
|
84
121
|
- **Derivation:** each of the 86 current keys and its English name comes from
|
|
85
|
-
`data/ships/experimental-effects.jsonc
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
-
|
|
122
|
+
`data/ships/experimental-effects.jsonc`, which stays authoritative for canonical
|
|
123
|
+
English. The Frontier symbol joins to the in-game experimental-effect name table,
|
|
124
|
+
which supplies every locale for all 86. The table replaces the EDSY join this
|
|
125
|
+
catalogue previously used: where the two disagree the in-game value is kept, as
|
|
126
|
+
everywhere else in this repository. It supplies six values EDSY did not carry — all
|
|
127
|
+
five non-English `special_super_penetrator` names and the German
|
|
128
|
+
`special_weapon_rateoffire` — and changes two EDSY already carried: German
|
|
129
|
+
`special_regeneration_sequence` is "Regenerationssequenz" (EDSY
|
|
130
|
+
"Regenerierungssequenz") and Brazilian Portuguese `special_lock_breaker` is "Quebra da
|
|
131
|
+
Trava do Alvo" (EDSY "Quebra de Trava de Alvo"). Every other value agrees.
|
|
132
|
+
- **The three `_cooled` variants take their base effect's names.**
|
|
133
|
+
`special_feedback_cascade_cooled`, `special_plasma_slug_cooled` and
|
|
134
|
+
`special_super_penetrator_cooled` are pre-engineered rail-gun variants the game does
|
|
135
|
+
not name separately, so the source marks them as carrying the base effect's entry.
|
|
136
|
+
Each takes those values, exactly as a shadowing blueprint id takes its generic's.
|
|
137
|
+
- **Coverage:** complete. All 86 effects carry all six locales.
|
|
138
|
+
- **Manual corrections:** the source appends a `†` to every marked cell of the three
|
|
139
|
+
`_cooled` variants above; it is the acquisition's own shadow marker rather than part of
|
|
140
|
+
a name, and is removed here.
|
|
91
141
|
|
|
92
142
|
## `material-names.jsonc`
|
|
93
143
|
|
|
@@ -100,12 +150,31 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
100
150
|
`locale/material/horizons/{raw,manufactured,encoded}.csv`; only that row's explicit
|
|
101
151
|
localized columns are copied. The source's English column is not copied because the
|
|
102
152
|
owning materials catalogues remain authoritative for canonical names. The canonical
|
|
103
|
-
English values therefore
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
- **
|
|
107
|
-
|
|
108
|
-
|
|
153
|
+
English values therefore omit the source's parenthetical Guardian and Thargoid
|
|
154
|
+
category labels where the owning catalogue does; localized columns remain verbatim
|
|
155
|
+
source values.
|
|
156
|
+
- **Second source, the in-game material localisation tables**, acquired 2026-08-30 UTC;
|
|
157
|
+
the game publishes no immutable identifier for them, so the acquired table is the
|
|
158
|
+
evidence. It covers all 146 materials in all six locales and, as everywhere else in
|
|
159
|
+
this repository, wins where the two disagree. That fills the 30 values Odyssey
|
|
160
|
+
Materials Helper did not carry and restyles 30 it did: 23 are the French apostrophe
|
|
161
|
+
(the in-game tables use `'` throughout, as every other catalogue here does, where
|
|
162
|
+
Odyssey Materials Helper uses `’`), five are Spanish names the helper title-cased
|
|
163
|
+
(`Fragmento Caústico` against the game's `Fragmento cáustico`), and the rest are
|
|
164
|
+
wording.
|
|
165
|
+
- **Coverage:** complete. All 146 materials carry all six locales.
|
|
166
|
+
- **Manual corrections:** six of the in-game values are the outfitting UI's own
|
|
167
|
+
abbreviations, shortened to fit its widget rather than translated differently —
|
|
168
|
+
`Comp. de destroços Guardian` against the helper's `Componentes de destroços Sentinela
|
|
169
|
+
Guardian`, and likewise for `Guardian_Sentinel_WeaponParts` (French and Brazilian
|
|
170
|
+
Portuguese), `Guardian_TechComponent` (French and Brazilian Portuguese) and
|
|
171
|
+
`HeatConductionWiring` (Spanish). The unabbreviated value is kept in each.
|
|
172
|
+
- **`Guardian_Sentinel_WreckageComponents` drops `Sentinel` in every locale**, following
|
|
173
|
+
the owning catalogue's rename (see `data/materials/SOURCES.md`). Its Brazilian
|
|
174
|
+
Portuguese is the one value here taken from neither source verbatim: the in-game table
|
|
175
|
+
abbreviates it to `Comp. de destroços Guardian` to fit the widget, so the whole word is
|
|
176
|
+
kept as it is for the other abbreviated labels above, giving
|
|
177
|
+
`Componentes de destroços Guardian`.
|
|
109
178
|
|
|
110
179
|
## `micro-resource-names.jsonc`
|
|
111
180
|
|
|
@@ -123,66 +192,24 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
123
192
|
`SmallCapacityPowerRegulator` do not. All 30 take the explicit in-game `name` values for
|
|
124
193
|
German, Spanish, French and Russian. In both cases the owning catalogue remains
|
|
125
194
|
authoritative for canonical English names.
|
|
126
|
-
- **
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
- **
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
`
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
Helper's `ships.name.*` key after removing punctuation and folding case. EDSY's
|
|
145
|
-
`eddb.js` `ship.fdname` supplies the second join, with explicit `ship-<id>` language
|
|
146
|
-
entries filling locales absent from the CSV. The CSV keys a row by the ship's display
|
|
147
|
-
name rather than its symbol, which differ for the four hulls whose name carries a mark
|
|
148
|
-
the symbol omits (`Viper` is `ships.name.viper_mk_iii`), so the name is tried first and
|
|
149
|
-
the symbol second. The resulting source-backed coverage is 48 ships in Spanish, 44 in
|
|
150
|
-
French, 38 in Brazilian Portuguese and 48 in Russian; no accepted source carries a
|
|
151
|
-
German ship-name table.
|
|
152
|
-
- **Standing conclusion:** every source-backed non-English value is byte-for-byte equal
|
|
153
|
-
to the canonical English ship name. The explicit values remain in the catalogue so a
|
|
154
|
-
lookup distinguishes a source-backed same spelling from an unavailable translation.
|
|
155
|
-
- **Manual corrections:** none.
|
|
156
|
-
|
|
157
|
-
## `ship-manufacturer-names.jsonc`
|
|
158
|
-
|
|
159
|
-
- **Acquired:** 2026-08-18 UTC.
|
|
160
|
-
- **Derivation:** all 48 symbol-to-manufacturer values are projected directly from
|
|
161
|
-
`data/ships/ships.jsonc`, whose pinned sources and corrections are recorded in
|
|
162
|
-
`data/ships/SOURCES.md`. Repeated manufacturer strings remain keyed by ship symbol so
|
|
163
|
-
consumers need no separate manufacturer identity space.
|
|
164
|
-
- **Coverage:** canonical English covers every ship. The accepted sources carry no
|
|
165
|
-
localized manufacturer labels.
|
|
166
|
-
- **Manual corrections:** none.
|
|
167
|
-
|
|
168
|
-
## `engineering-group-names.jsonc`
|
|
169
|
-
|
|
170
|
-
- **Acquired:** 2026-08-18 UTC.
|
|
171
|
-
- **EDSY revision:** commit `e446fbe6e4597dea7ab0bd3105b9a36642388040`;
|
|
172
|
-
database version `424009901`, last-modified marker `20260810`; `lang-en.json` and
|
|
173
|
-
`lang-ru.json` have Git blob ids `9b199db635f7b968b75c8e9a14bdce68e37e4120` and
|
|
174
|
-
`36496372d056754c34da03ca6836e27987c96b6a` respectively.
|
|
175
|
-
- **Derivation:** each of the 48 group ids and its canonical English name is projected
|
|
176
|
-
from `data/ships/engineering-options.jsonc`. That catalogue derives its group menus
|
|
177
|
-
from EDSY, with the supplemental sources and corrections recorded in
|
|
178
|
-
`data/ships/SOURCES.md`. Where a canonical English name matches an EDSY `mtype-*`
|
|
179
|
-
value in `lang-en.json` byte-for-byte and uniquely, explicit values with the same key
|
|
180
|
-
are copied from `lang-ru.json`.
|
|
181
|
-
- **Coverage:** canonical English covers every engineering option group; Brazilian
|
|
182
|
-
Portuguese and Russian each cover 44 of 48. The Guardian power-plant, power-distributor
|
|
183
|
-
and hull-reinforcement groups have no distinct EDSY label, and EDSY carries no value in
|
|
184
|
-
either language for `frameShiftDrivesSCO`.
|
|
185
|
-
- **Manual corrections:** none.
|
|
195
|
+
- **Second source, the in-game micro-resource localisation tables**, acquired
|
|
196
|
+
2026-08-30 UTC; the game publishes no immutable identifier for them, so the acquired
|
|
197
|
+
table is the evidence. It covers 225 of the 226 in all six locales and wins where the
|
|
198
|
+
two disagree, on the same footing as the material tables above. That fills all 47
|
|
199
|
+
remaining values — including the Brazilian Portuguese for `PowerVirus` and
|
|
200
|
+
`SmallCapacityPowerRegulator`, which no registry carries — and restyles 46, of which 36
|
|
201
|
+
are the French apostrophe and seven are the French Powerplay term, which the game
|
|
202
|
+
lower-cases (`Données classifiées de puissance`).
|
|
203
|
+
`PowerMegashipData` is absent from the micro-resource table and appears in the material
|
|
204
|
+
one; its values are taken from there.
|
|
205
|
+
- **Coverage:** complete. All 226 micro resources carry all six locales.
|
|
206
|
+
- **Manual corrections:** five in-game values are layout, not names. Four German
|
|
207
|
+
consumables carry a `<br>` inside a compound word that the UI wraps —
|
|
208
|
+
`Energie-<br>zelle`, `Splitter-<br>granate`, `Schild-<br>unterbrecher` and
|
|
209
|
+
`Schild-<br>generator` — and the French `Amm_Grenade_EMP` is abbreviated to
|
|
210
|
+
`Neutralisat. de bouclier` to fit its widget. The whole word is kept in each:
|
|
211
|
+
`Energiezelle`, `Splittergranate`, `Schildunterbrecher`, `Schildgenerator` and
|
|
212
|
+
`Neutralisateur de bouclier`.
|
|
186
213
|
|
|
187
214
|
## `module-family-names.jsonc`
|
|
188
215
|
|
|
@@ -209,15 +236,30 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
209
236
|
|
|
210
237
|
## `experimental-effect-descriptions.jsonc`
|
|
211
238
|
|
|
212
|
-
- **Acquired:** 2026-08-
|
|
213
|
-
- **
|
|
214
|
-
|
|
215
|
-
- **Derivation:**
|
|
216
|
-
|
|
217
|
-
description
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
239
|
+
- **Acquired:** 2026-08-30 UTC.
|
|
240
|
+
- **In-game localisation revision:** none published; the game ships no immutable
|
|
241
|
+
identifier for its localisation tables. The acquired table is the evidence.
|
|
242
|
+
- **Derivation:** each of the 86 current keys comes from
|
|
243
|
+
`data/ships/experimental-effects.jsonc`; the Frontier symbol joins to the in-game
|
|
244
|
+
experimental-effect description table, which supplies every locale for all 86. All six
|
|
245
|
+
values, English included, are the source's verbatim.
|
|
246
|
+
- **This catalogue no longer projects the ships catalogue's `description`.** The two
|
|
247
|
+
answer different questions and are deliberately different strings. An effect's
|
|
248
|
+
`description` in `data/ships/experimental-effects.jsonc` is a mechanical note that
|
|
249
|
+
states what the `modifiers` list cannot — that High Yield Shell deals 50/50
|
|
250
|
+
kinetic/explosive damage with module splash, say — and 57 of the 86 effects need no
|
|
251
|
+
such note and carry none. What the game shows a player is display prose that names no
|
|
252
|
+
magnitudes ("Modified munitions that convert a portion of damage to explosive …"), and
|
|
253
|
+
it exists for every effect. Projecting one onto the other would have cost the
|
|
254
|
+
mechanical notes their numbers; storing the display prose here keeps each field doing
|
|
255
|
+
its own job, and the ships catalogue is unchanged.
|
|
256
|
+
- **Coverage:** complete. All 86 effects carry all six locales.
|
|
257
|
+
- **Manual corrections:** 26 of the source's descriptions begin with one or more
|
|
258
|
+
bracketed tokens — `[ShieldRegen]`, and `[SnsrBlinding][Heat]` on
|
|
259
|
+
`special_radiant_canister`. A token is byte-identical across all six locales and is
|
|
260
|
+
left untranslated in each, so it is an identifier the game's client consumes rather
|
|
261
|
+
than text meant for a player; the tokens are removed here. The `†` shadow marker
|
|
262
|
+
described under `experimental-effect-names.jsonc` is removed from descriptions too.
|
|
221
263
|
|
|
222
264
|
## `pre-engineered-variant-names.jsonc`
|
|
223
265
|
|
|
@@ -230,23 +272,67 @@ tag follows the rule above, so `pt-PT` resolves to Brazilian Portuguese.
|
|
|
230
272
|
names such as the three `Decorative_*` festive launchers remain canonical English.
|
|
231
273
|
- **The 22 Merc-shop rows carry the shop's own names**, in 14 distinct records — the shop
|
|
232
274
|
sells a "Far-Reaching Abrasion Blaster", not an Abrasion Blaster — so they do not reuse
|
|
233
|
-
their base module's record.
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
275
|
+
their base module's record. All six locales are supplied by the repository owner from
|
|
276
|
+
the in-game shop listing; no registry publishes them. The Brazilian Portuguese column
|
|
277
|
+
was acquired 2026-08-30 UTC and agrees byte-for-byte with the five columns already
|
|
278
|
+
stored, which it does not change.
|
|
279
|
+
- **A tech-broker unlock may carry an unlock marker**, and 19 of them do — see
|
|
280
|
+
`data/ships/SOURCES.md`. Those names are not their base module's, so they do not reuse
|
|
281
|
+
its record. Where the marker is a manufacturer (`Sirius`, `Azimuth`) or a version
|
|
282
|
+
(`V1`) it is not a translatable word, so the localized value is that marker composed
|
|
283
|
+
with the base module's own localized name: German `Suchraketenrampe V1`, Spanish
|
|
284
|
+
`Sirius Lanzamisiles AX`. Composition can only reach as far as the base module does,
|
|
285
|
+
which is why `Frame Shift Drive (SCO) V1` has Brazilian Portuguese and Russian only and
|
|
286
|
+
`Azimuth Enhanced AX Multi-Cannon` lacks Spanish and French: those are the base
|
|
287
|
+
modules' own gaps, not new ones.
|
|
288
|
+
- **Six records carry a translation composed in this repository rather than taken from a
|
|
289
|
+
source, and are the only values in `data/i18n/` that are.** They are marked here
|
|
290
|
+
because the rest of this directory is explicit source values, and a reader is entitled
|
|
291
|
+
to know which is which. The game does not publish either phrase in a form this
|
|
292
|
+
repository can join to:
|
|
293
|
+
- The three `Modified` Guardian weapons. Unlike `Sirius`, `Azimuth` and `V1`, `Modified`
|
|
294
|
+
is a translatable word, so it cannot simply be composed with the base module's
|
|
295
|
+
localized name. Each locale's adjective agrees with the base noun it qualifies —
|
|
296
|
+
German `Modifizierter Guardian-Plasmalader` against `Modifizierte Guardian-Gausskanone`,
|
|
297
|
+
Russian `Модифицированная пушка Гаусса` against `Модифицированное осколочное орудие`.
|
|
298
|
+
- The three `Decorative_*` festive launchers. The game does not translate their names,
|
|
299
|
+
so `Festive` and the colour are rendered in each locale and qualify the base module's
|
|
300
|
+
own localized name.
|
|
301
|
+
|
|
302
|
+
Replace any of the twelve with a source-backed value the moment one is published.
|
|
303
|
+
- **Coverage:** English covers every variant, and Brazilian Portuguese and Russian now do
|
|
304
|
+
too. Ordinary names inherit the explicit localized values available for their base
|
|
305
|
+
module; the Merc-shop names carry all six locales. The German, Spanish and French gaps
|
|
306
|
+
that remain are their base modules' own — the SCO drive and the Enhanced AX
|
|
307
|
+
Multi-Cannon carry no value in those locales for composition to build on.
|
|
241
308
|
- **Manual corrections:** none.
|
|
242
309
|
|
|
310
|
+
## Names this repository deliberately does not localize
|
|
311
|
+
|
|
312
|
+
Three catalogues were removed rather than completed, because the game does not translate
|
|
313
|
+
what they held and storing English under five more keys said otherwise.
|
|
314
|
+
|
|
315
|
+
- **Ship names and manufacturers.** Odyssey Materials Helper and EDSY each publish a
|
|
316
|
+
per-locale ship column, and every value either one publishes is byte-for-byte the
|
|
317
|
+
canonical English name: a hull name is a proper noun the game leaves alone, and so is
|
|
318
|
+
a manufacturer's. No source publishes a localized manufacturer label at all. A lookup
|
|
319
|
+
that can only ever answer in English is not a translation lookup, so `getShipName` and
|
|
320
|
+
`getShipManufacturer` are gone; `data/ships/ships.jsonc` carries both strings and stays
|
|
321
|
+
the one place to read them.
|
|
322
|
+
- **Engineering-group labels.** An engineering group is this repository's own partition
|
|
323
|
+
of the modules that share one menu; the game heads that menu with the module's
|
|
324
|
+
outfitting family and publishes no group label of its own. The EDSY `mtype-*` values
|
|
325
|
+
previously stored here were outfitting labels reached by a name join, which is why they
|
|
326
|
+
disagreed with `module-family-names.jsonc` in 22 places on wording. A group therefore
|
|
327
|
+
carries no name at all — see the header of `data/ships/engineering-options.jsonc` — and
|
|
328
|
+
a consumer names one by joining a module's `familyId` to `module-family-names.jsonc`.
|
|
329
|
+
|
|
243
330
|
## Known gaps
|
|
244
331
|
|
|
245
332
|
Localized coverage follows the accepted sources and is not complete for every catalogue or
|
|
246
|
-
stored locale. A language absent from all
|
|
333
|
+
stored locale. A language absent from all eight catalogues is the locale decision
|
|
247
334
|
recorded above rather than a gap. The accepted sources carry only canonical English for
|
|
248
|
-
|
|
249
|
-
labels, some engineering-group labels, slot and restriction labels, fixed reward names,
|
|
335
|
+
19 of the 77 outfitting-family labels, slot and restriction labels, fixed reward names,
|
|
250
336
|
and structured loadout, calculation, SLEF and edit messages. Missing source-backed
|
|
251
337
|
translations remain tracked by
|
|
252
338
|
[#320](https://github.com/DarkSession/Elite-Dangerous-Almanac/issues/320).
|
|
@@ -26,6 +26,28 @@
|
|
|
26
26
|
Phosphorus, Sulphur, Iron, Nickel, Rhenium, Lead** — the convention the in-game raw
|
|
27
27
|
grid columns follow.
|
|
28
28
|
|
|
29
|
+
### Manual correction — the three Guardian blueprint fragments
|
|
30
|
+
|
|
31
|
+
FDevIDs' `material.csv` names `Guardian_ModuleBlueprint`, `Guardian_WeaponBlueprint` and
|
|
32
|
+
`Guardian_VesselBlueprint` `… Blueprint Segment`. The game calls them **Fragment**, which
|
|
33
|
+
is the name carried here. The in-game localisation table confirmed by repository-owner
|
|
34
|
+
in-game verification (2026-08-30 UTC) says `Fragment` in every locale, and the French and
|
|
35
|
+
Russian columns Odyssey Materials Helper already supplied said `Fragment de plan …` and
|
|
36
|
+
`Фрагмент чертежа …` while its English, German, Spanish and Portuguese said Segment — the
|
|
37
|
+
disagreement was inside one source, not between the game and this repository.
|
|
38
|
+
|
|
39
|
+
### Manual correction — Guardian Wreckage Components has no Sentinel
|
|
40
|
+
|
|
41
|
+
FDevIDs names `Guardian_Sentinel_WreckageComponents` `Guardian Sentinel Wreckage
|
|
42
|
+
Components`; the game calls it **Guardian Wreckage Components**, which is the name
|
|
43
|
+
carried here. The symbol keeps Frontier's own `_Sentinel_` spelling, because that is what
|
|
44
|
+
the journal writes. Repository-owner in-game verification, 2026-08-30 UTC; the in-game
|
|
45
|
+
localisation table drops the word in German, Spanish, French and Brazilian Portuguese
|
|
46
|
+
too, and the Russian column Odyssey Materials Helper already supplied had no equivalent
|
|
47
|
+
of it either — `Обломки кораблекрушения Стражей`, against the `часовых Стражей` it uses
|
|
48
|
+
for `Guardian_Sentinel_WeaponParts`. That sibling **keeps** its Sentinel: the game names
|
|
49
|
+
it `Guardian Sentinel Weapon Parts`, so only the wreckage components are renamed.
|
|
50
|
+
|
|
29
51
|
### Secondary source — Thargoid caustic / Titan materials absent from FDevIDs
|
|
30
52
|
|
|
31
53
|
Several Thargoid caustic and Titan materials are absent from the pinned FDevIDs
|