diff --git a/binaries/data/mods/public/l10n/public-gui-other.pot b/binaries/data/mods/public/l10n/public-gui-other.pot
index d8152eb..af05508 100644
--- a/binaries/data/mods/public/l10n/public-gui-other.pot
+++ b/binaries/data/mods/public/l10n/public-gui-other.pot
@@ -370,178 +370,22 @@ msgctxt "gamesetup option"
 msgid "disabled"
 msgstr ""
 
-#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
-#: gui/common/l10n.js:4
-msgctxt "firstWord"
-msgid "Food"
-msgstr ""
-
-#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
-#: gui/common/l10n.js:6
-msgctxt "firstWord"
-msgid "Meat"
-msgstr ""
-
-#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
-#: gui/common/l10n.js:8
-msgctxt "firstWord"
-msgid "Metal"
-msgstr ""
-
-#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
-#: gui/common/l10n.js:10
-msgctxt "firstWord"
-msgid "Ore"
-msgstr ""
-
-#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
-#: gui/common/l10n.js:12
-msgctxt "firstWord"
-msgid "Rock"
-msgstr ""
-
-#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
-#: gui/common/l10n.js:14
-msgctxt "firstWord"
-msgid "Ruins"
-msgstr ""
-
-#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
-#: gui/common/l10n.js:16
-msgctxt "firstWord"
-msgid "Stone"
-msgstr ""
-
-#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
-#: gui/common/l10n.js:18
-msgctxt "firstWord"
-msgid "Treasure"
-msgstr ""
-
-#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
-#: gui/common/l10n.js:20
-msgctxt "firstWord"
-msgid "Tree"
-msgstr ""
-
-#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
-#: gui/common/l10n.js:22
-msgctxt "firstWord"
-msgid "Wood"
-msgstr ""
-
-#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
-#: gui/common/l10n.js:24
-msgctxt "firstWord"
-msgid "Fruit"
-msgstr ""
-
-#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
-#: gui/common/l10n.js:26
-msgctxt "firstWord"
-msgid "Grain"
-msgstr ""
-
-#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
-#: gui/common/l10n.js:28
-msgctxt "firstWord"
-msgid "Fish"
-msgstr ""
-
-#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
-#: gui/common/l10n.js:32
-msgctxt "withinSentence"
-msgid "Food"
-msgstr ""
-
-#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
-#: gui/common/l10n.js:34
-msgctxt "withinSentence"
-msgid "Meat"
-msgstr ""
-
-#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
-#: gui/common/l10n.js:36
-msgctxt "withinSentence"
-msgid "Metal"
-msgstr ""
-
-#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
-#: gui/common/l10n.js:38
-msgctxt "withinSentence"
-msgid "Ore"
-msgstr ""
-
-#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
-#: gui/common/l10n.js:40
-msgctxt "withinSentence"
-msgid "Rock"
-msgstr ""
-
-#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
-#: gui/common/l10n.js:42
-msgctxt "withinSentence"
-msgid "Ruins"
-msgstr ""
-
-#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
-#: gui/common/l10n.js:44
-msgctxt "withinSentence"
-msgid "Stone"
-msgstr ""
-
-#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
-#: gui/common/l10n.js:46
-msgctxt "withinSentence"
-msgid "Treasure"
-msgstr ""
-
-#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
-#: gui/common/l10n.js:48
-msgctxt "withinSentence"
-msgid "Tree"
-msgstr ""
-
-#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
-#: gui/common/l10n.js:50
-msgctxt "withinSentence"
-msgid "Wood"
-msgstr ""
-
-#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
-#: gui/common/l10n.js:52
-msgctxt "withinSentence"
-msgid "Fruit"
-msgstr ""
-
-#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
-#: gui/common/l10n.js:54
-msgctxt "withinSentence"
-msgid "Grain"
-msgstr ""
-
-#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
-#: gui/common/l10n.js:56
-msgctxt "withinSentence"
-msgid "Fish"
-msgstr ""
-
@@ -2739,6 +2562,164 @@ msgstr ""
 msgid "Limit FPS in Menus"
 msgstr ""
 
+#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
+#: simulation/data/resources/food.json:name
+msgctxt "firstWord"
+msgid "Food"
+msgstr ""
+
+#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
+#: simulation/data/resources/food.json:name
+msgctxt "withinSentence"
+msgid "Food"
+msgstr ""
+
+#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
+#: simulation/data/resources/food.json:subtypes.fish
+msgctxt "firstWord"
+msgid "Fish"
+msgstr ""
+
+#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
+#: simulation/data/resources/food.json:subtypes.fish
+msgctxt "withinSentence"
+msgid "Fish"
+msgstr ""
+
+#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
+#: simulation/data/resources/food.json:subtypes.fruit
+msgctxt "firstWord"
+msgid "Fruit"
+msgstr ""
+
+#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
+#: simulation/data/resources/food.json:subtypes.fruit
+msgctxt "withinSentence"
+msgid "Fruit"
+msgstr ""
+
+#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
+#: simulation/data/resources/food.json:subtypes.grain
+msgctxt "firstWord"
+msgid "Grain"
+msgstr ""
+
+#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
+#: simulation/data/resources/food.json:subtypes.grain
+msgctxt "withinSentence"
+msgid "Grain"
+msgstr ""
+
+#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
+#: simulation/data/resources/food.json:subtypes.meat
+msgctxt "firstWord"
+msgid "Meat"
+msgstr ""
+
+#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
+#: simulation/data/resources/food.json:subtypes.meat
+msgctxt "withinSentence"
+msgid "Meat"
+msgstr ""
+
+#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
+#: simulation/data/resources/food.json:subtypes.milk
+msgctxt "firstWord"
+msgid "Milk"
+msgstr ""
+
+#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
+#: simulation/data/resources/food.json:subtypes.milk
+msgctxt "withinSentence"
+msgid "Milk"
+msgstr ""
+
+#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
+#: simulation/data/resources/metal.json:name
+msgctxt "firstWord"
+msgid "Metal"
+msgstr ""
+
+#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
+#: simulation/data/resources/metal.json:name
+msgctxt "withinSentence"
+msgid "Metal"
+msgstr ""
+
+#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
+#: simulation/data/resources/metal.json:subtypes.ore
+msgctxt "firstWord"
+msgid "Ore"
+msgstr ""
+
+#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
+#: simulation/data/resources/metal.json:subtypes.ore
+msgctxt "withinSentence"
+msgid "Ore"
+msgstr ""
+
+#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
+#: simulation/data/resources/stone.json:name
+msgctxt "firstWord"
+msgid "Stone"
+msgstr ""
+
+#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
+#: simulation/data/resources/stone.json:name
+msgctxt "withinSentence"
+msgid "Stone"
+msgstr ""
+
+#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
+#: simulation/data/resources/stone.json:subtypes.ruins
+#: simulation/data/resources/wood.json:subtypes.ruins
+msgctxt "firstWord"
+msgid "Ruins"
+msgstr ""
+
+#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
+#: simulation/data/resources/stone.json:subtypes.ruins
+#: simulation/data/resources/wood.json:subtypes.ruins
+msgctxt "withinSentence"
+msgid "Ruins"
+msgstr ""
+
+#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
+#: simulation/data/resources/stone.json:subtypes.rock
+msgctxt "firstWord"
+msgid "Rock"
+msgstr ""
+
+#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
+#: simulation/data/resources/stone.json:subtypes.rock
+msgctxt "withinSentence"
+msgid "Rock"
+msgstr ""
+
+#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
+#: simulation/data/resources/wood.json:name
+msgctxt "firstWord"
+msgid "Wood"
+msgstr ""
+
+#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
+#: simulation/data/resources/wood.json:name
+msgctxt "withinSentence"
+msgid "Wood"
+msgstr ""
+
+#. Translation: Word as used at the beginning of a sentence or as a single-word sentence.
+#: simulation/data/resources/wood.json:subtypes.tree
+msgctxt "firstWord"
+msgid "Tree"
+msgstr ""
+
+#. Translation: Word as used in the middle of a sentence (which may require using lowercase for your language).
+#: simulation/data/resources/wood.json:subtypes.tree
+msgctxt "withinSentence"
+msgid "Tree"
+msgstr ""
+
 #: gui/splashscreen/splashscreen.txt:2
 msgid ""
 "[font=\"sans-bold-20\"]  Thank you for installing 0 A.D. Empires Ascendant!"
