Repository navigation
Translating
Home › Contributing › Translating
Hempdustry speaks twelve locales, with regional vocabulary rather than one language copied across countries. This page is for anyone who would like to check, fix or finish a translation: which locales exist and how far along each one is, where the files are, how their keys are named, the house style, and how to test and send your work.
On this page
- The twelve locales
- Where the files are
- How the keys are named
- House style
- Testing a translation
- Sending it in
Counted from the files of 2.1.0 on Minecraft 1.21.11, which have 316 strings in English. A string a locale does not have yet shows in English in game.
| Locale | In the game's language menu | Translated by | Status |
|---|---|---|---|
en_us |
English (United States) | Warlon Mhite | complete, 316 of 316: the source every other file is checked against |
en_gb |
English (United Kingdom) | adapted with an LLM from Warlon Mhite's American English | complete |
en_ca |
English (Canada) | adapted with an LLM from Warlon Mhite's American English | complete |
en_au |
English (Australia) | adapted with an LLM from Warlon Mhite's American English | complete |
en_nz |
English (New Zealand) | adapted with an LLM from Warlon Mhite's American English | complete |
fr_fr |
Français (France) | Warlon Mhite | complete |
fr_ca |
Français (Canada) | adapted with an LLM from Warlon Mhite's French | complete |
fr_ch |
Français (Suisse) | adapted with an LLM from Warlon Mhite's French | complete |
de_de |
Deutsch (Deutschland) | Gülps'sch420 | complete |
de_at |
Deitsch (Österreich) | adapted with an LLM from Gülps'sch420's German, with vanilla's Austrian words for the blocks it shares with vanilla | complete |
de_ch |
Schwiizerdütsch (Schwiiz) | Gülps'sch420 | complete |
ru_ru |
Русский (Россия) | MargoxaTheGamer | 180 of 316: catching up with 2.1 |
Russian is catching up with 2.1. Nearly everything from before 2.1 is translated (a handful of 2.0 strings are still in English); most of what 2.1 adds (the hash family, the Redstone Vaporizer, indoor growing, Beldía, the furniture, the new advancements) still shows in English there. This is a known issue of 2.1.0, and the most useful place to help.
The regional locales were adapted with a Large Language Model, and nobody who grew up speaking them has read them yet. If you are Canadian, British, Australian, a New Zealander, a Quebecer, a French-speaking Swiss or Austrian, a read-through is worth a lot, even if all you find is one word nobody there would say.
Minecraft 1.21.1: the files have 313 strings there, the same less the Hemp Shelf, the Hemp Harness and one item tag, which only exist on 1.21.11.
Minecraft 26.x has 319, for its extras; 1.18.2 has 332 and 1.16.5 331, with names for Forge's own tags and a few keys spelled the way those versions want them (below). Every locale but
ru_ruis complete on all of them.
In the source, one JSON file per locale:
common/src/main/resources/assets/hempdustry/lang/<locale>.json
Each is a flat list of "key": "text" pairs in UTF-8. Every key in another locale must also exist in en_us.json; a key that en_us.json lacks is a mistake, not a translation.
| Kind | Key | Example |
|---|---|---|
| Items | item.hempdustry.<id> |
item.hempdustry.hemp_fiber → Hemp Fiber
|
| Blocks | block.hempdustry.<id> |
block.hempdustry.sifting_box → Sifting Box
|
| Names built around a value | item.hempdustry.<id>.<suffix> |
item.hempdustry.bong.packed → %s Bong, the name of a packed bong |
| The banner pattern | block.hempdustry.banner.hemp_leaf.<colour> |
…hemp_leaf.lime → Lime Cannabis Leaf, one per dye colour |
| Item tags |
tag.item.<namespace>.<path>, with the path's slashes as dots |
tag.item.hempdustry.siftable.flower → Siftable Flower; tag.item.c.crops.hemp → Hemp Crops
|
| Advancements |
advancements.hempdustry.<id>.title and .description
|
advancements.hempdustry.pipe_dream.title → Pipe Dream
|
| Strain names | hempdustry.strain.<id> |
hempdustry.strain.indica → Purple Kush
|
| Tooltips and messages | hempdustry.<thing>.<what> |
hempdustry.bong.set_down → Sneak to set it down; hempdustry.trim.too_young
|
| Recipe viewer pages |
hempdustry.category.*, hempdustry.info.*
|
the recipe viewer pages (JEI, REI, and EMI on 1.21.1) for the machines, the cauldron steps, the grow blocks and the bong |
| The update checker | hempdustry.update.* |
the chat line saying a new version is out, and its link |
| The config command |
commands.hempdustry.reload, commands.hempdustry.reload.failed
|
what /hempdustry reload answers |
| Paintings |
painting.hempdustry.<id>.title, .author
|
painting.hempdustry.hendrix.title → Hendrix; the titles are names and usually stay as they are |
| Music discs | jukebox_song.hempdustry.<id> |
Nefuß - Moonlight |
| Boats, sounds, the creative tab |
entity.hempdustry.*, subtitles.hempdustry.*, itemgroup.hempdustry
|
subtitles.hempdustry.bonghit → Bong bubbles
|
In English, the 316 break down as 84 advancement strings (42 advancements), 74 item and 62 block keys (including the sixteen banner colours), 58 of the mod's own strings, 13 item tags, 14 painting strings and the 11 others.
On the 1.18.2 and 1.16.5 builds a few keys differ: the banner pattern's are block.minecraft.banner.hempdustry_hemp_leaf.<colour>, and a music disc's title is item.hempdustry.music_disc_<id>.desc (Nefuß - Moonlight), as those versions name them.
Ids are not names. Some ids are older than the names players see: indica is Purple Kush and sativa is Lemon Haze, in keys too. Translate the English text, never the key.
Keep every placeholder. %s, %d and %1$s stand for a value the game fills in: a strain's name, a number, a version. A translation must have the same placeholders as English, as many of each; %1$s and %2$s may swap places if your grammar needs it. A game test checks every locale for this.
Regional vocabulary, not copy-paste. Each locale uses the words people there actually say, and that is why the five English and three French files are separate:
| Thing | Locales |
|---|---|
| Flip Flops |
Thongs (en_au), Jandals (en_nz), Gougounes (fr_ca), Tongs (fr_fr, fr_ch), Finke (de_ch) |
| Hemp Seed Bar |
Hemp Flapjack in en_gb, en_au and en_nz; in America and Canada a flapjack is a pancake |
| Hemp Fiber |
Hemp Fibre everywhere but en_us
|
| Redstone Vaporizer |
Vaporiser in en_gb, en_au, en_nz; Canada keeps -ize here while spelling fibre and armour the British way. Don't "tidy" the two into one grouping |
| Cannabutter | Beurre de Marrakech in France and Switzerland, Beurre de Pot in Quebec |
| Spliff | Spliff in France and Switzerland, Joint in Quebec |
| Hashish | Résine in France and Switzerland, Hasch in Quebec |
| Hemp Beanie | Tuque en Chanvre in Quebec, Hanfhaube in Austria |
| Bucket of Hemp Milk | Hanfmilchkübel in Austria, where a bucket is a Kübel |
The smoking verb moves too: in France you tires une taffe, in Quebec you prends une touche.
Puns are re-invented, not translated. Advancement titles carry the mod's jokes, and a literal translation of a pun is rarely a pun. Find your language's own joke for the same moment:
- Pipe Dream is Château en Espagne in French: the French idiom for a pipe dream.
- Butter Late Than Never is Mieux Vaut Beurre que Jamais.
- Bong Voyage is Bang Voyage, because the bong is a bang in French.
- Pothead (placing a Grow Pot) is Coup de Pot in France and Du Pot dans le Pot in Quebec, where pot means weed.
- Sea of Green stays in English in French, because that is what French-speaking growers call it.
The description under each title is the opposite: a plain instruction saying what to do, item names spelled as your locale spells them, and no full stop at the end, the way vanilla writes its own advancements.
Item names use vanilla's own words in your locale. If Minecraft already has a word for something in your language, use that one, so the mod's names sit beside vanilla's: the French Redstone Vaporizer is Vaporisateur à Redstone because vanilla's French says Lampe à redstone for a thing redstone powers. Look the term up in the game in your language before you choose.
Some words stay as they are. Strain names (Purple Kush, Lemon Haze, Beldía), the people in the paintings and the music disc titles are proper nouns. Trade words that the scene uses untranslated, like Charas, Kief, Rosin, Bubble Hash and Moon Rock in French, can stay too, if that is what people in your language say.
Match the register already in the file. The French files say tu; follow the capitalisation your locale's file already uses for item names.
-
Read it in the game. Pick your language under Options › Language, then look at everything you translated: item names in the creative tab and their tooltips, the advancement tree, the machine screens, and the recipe viewer pages if you have JEI, REI or EMI. Long words that run out of their box show up only this way.
-
Without building the mod, put your file in a resource pack at
assets/hempdustry/lang/<locale>.json, enable the pack, and press F3 + T to reload. Resource Packs explains how to make one; a lang file in a pack overrides the mod's line by line. -
List what is missing compared with English, from the
langfolder:python3 -c "import json,sys; en=json.load(open('en_us.json',encoding='utf-8')); xx=json.load(open(sys.argv[1],encoding='utf-8')); print('\n'.join(k for k in en if k not in xx))" de_de.json -
If you build from source,
python3 scripts/lang_coverage.pychecks that English names every item, block and item tag and that no key is left over from something renamed, and the game tests check that every locale keeps its placeholders (Building from Source).
- A pull request on GitHub that changes your locale's file, or
- the Discord: post the file, or a list of corrections, and say which locale it is for.
Either way, say whether you are a native speaker, and add a line about any choice a reader might "fix" back (a regional word, a re-invented pun), so it stays. Translations are part of the mod's data and carry the same licence as the code (AGPL-3.0-only); translators are credited by name in CREDITS.md and on the About page unless they would rather not be.
See also: Contributing · Resource Packs · About
Hempdustry 2 by Warlon Mhite · Documents version 2.1.0 · Code AGPL-3.0, art and music CC BY-NC-SA 4.0 · Discord · Report a bug Not an official Minecraft product. Not approved by or associated with Mojang or Microsoft.
Getting started
- Installation
- Getting Started
- FAQ
- Minecraft 26.2 and 26.3
- Minecraft 1.16.5 and GanjaCraft
- Minecraft 1.18.2 and Hemp-Craft
Growing
Smoking
Hash
Kitchen
Building
Reference
Servers & modpacks
- Server Guide
- Configuration
- Config builder ↗
- Commands
- Modpack Guide
- Tags
- Datapacks
- Custom Strains
- Resource Packs
Developers
Contributing
About