Skip to content

Localization and Translations

A modder publishes an Unturned™ mod to the Steam Workshop in English. Subscribers in non-English-speaking communities install the mod and see the item names, item descriptions, NPC dialogue, vending machine prompts, and quest text in English while the rest of their game runs in French, German, Russian, Spanish, Polish, Portuguese, or one of the other languages the base game supports. The mod is functional for them, but the experience is fractured: half the interface in their language, the other half in English.

This article documents the cohort-validated localization workflow that 57 Studios™ uses across Unturned™ mods to extend mod reach to non-English subscribers. The article covers how Unturned's translation system works, where translation files live in the mod folder structure, which asset-level keys need translating per asset type, how to author language files in the correct encoding (this is the single most common pitfall), how to test a translation locally, and how to handle the strings that cannot be translated through the language-file system (hardcoded strings inside script files, plugin-side strings, and UI strings rendered outside Unturned's localization layer).

Translated mod item names in Unturned

Prerequisites

  • A working, published or unpublished Unturned™ mod with at least one user-facing string (an item name, description, NPC line, or quest prompt).
  • Notepad++ or another text editor that supports UTF-8 encoding with BOM. Modders using Windows Notepad should not use it for translation work; the encoding handling produces broken files.
  • A subscriber community speaking one or more of Unturned's supported languages (French, German, Russian, Spanish, Polish, Portuguese-Brazilian, Korean, Simplified Chinese, Traditional Chinese, Japanese, Italian, Czech, Dutch, Romanian, Vietnamese, Turkish, Thai, Hungarian, plus several others depending on the game version).
  • A native speaker or competent translator for each target language. Machine translation produces output that subscribers identify and downvote; the cohort recommendation is to source human translations.
  • Access to Unturned™'s Steam launch options for testing language switches.

What you'll learn

  • How Unturned™'s translation system loads language-specific .dat files and falls back to English.dat when a key is missing.
  • The folder layout for language files inside a mod folder.
  • Which keys need translating per asset type (Item, Vehicle, NPC dialogue, Quest, Event, Vendor).
  • How to save .dat files in UTF-8 with BOM so that non-ASCII characters render correctly.
  • How to test a translation by launching Unturned™ with a language switch.
  • Why some strings appear in the modder's language even after translating, and what to do about them.
  • How to coordinate translations contributed by community volunteers.
  • How to handle plugin-side translation strings that live outside the asset translation layer.

Background: how Unturned's translation system works

Unturned™ uses a file-based translation system. Each asset that has user-facing strings (items, vehicles, NPCs, quests, events, vendors) has a corresponding .dat file in the mod folder that contains the asset's English strings. When the game loads the asset, it reads the English.dat file by default.

When the game's UI language is set to a non-English language, the game looks for a language-specific .dat file alongside the English.dat. For example, when the language is set to French, the game looks for French.dat. If French.dat exists, the game uses the keys from French.dat instead of the keys from English.dat. If French.dat does not exist, or if a specific key is missing from French.dat, the game falls back to the corresponding key in English.dat.

This fallback behaviour is important: the game does not crash if a translation file is missing, and it does not produce broken UI if a single key is missing from a translation file. The fallback chain is, for a French subscriber:

  1. Look for the key in French.dat.
  2. If missing, look for the key in English.dat.
  3. If missing, render the key name itself (e.g., "Name") rather than crashing.

The cohort observation is that this fallback design is forgiving: a modder can add translations incrementally (translate the most important keys first, ship the partial translation, then add more keys over time) without breaking the mod for any language. The cost is that a modder who is not careful can ship a partial translation that leaves subscribers seeing a mix of their language and English.

Folder layout for translation files

Translation files live in the same folder as the asset's English.dat file. The cohort-validated folder layout for a single item is:

MyItemMod/
└── Items/
    └── MyGun/
        ├── English.dat            <-- canonical asset file with English strings
        ├── MyGun.dat              <-- asset metadata (ID, type, etc.)
        ├── MyGun.unity3d          <-- asset bundle
        ├── French.dat             <-- French translation
        ├── German.dat             <-- German translation
        ├── Russian.dat            <-- Russian translation
        └── Spanish.dat            <-- Spanish translation

The translation files use the same name as the English file but with the language name in place of "English." The recognised language names are documented in the table below.

Common mistake

Naming translation files with locale codes (e.g., fr.dat, fr_FR.dat, de_DE.dat) rather than language names (French.dat, German.dat). The game does not recognise locale codes and silently falls back to English. The cohort recommendation is to confirm the exact file name against the language-name table before saving.

Supported language file names

LanguageFile name
EnglishEnglish.dat (canonical)
FrenchFrench.dat
GermanGerman.dat
RussianRussian.dat
SpanishSpanish.dat
PolishPolish.dat
Portuguese (Brazilian)Portuguese.dat
ItalianItalian.dat
KoreanKorean.dat
Chinese (Simplified)Schinese.dat
Chinese (Traditional)Tchinese.dat
JapaneseJapanese.dat
CzechCzech.dat
DutchDutch.dat
RomanianRomanian.dat
VietnameseVietnamese.dat
TurkishTurkish.dat
ThaiThai.dat
HungarianHungarian.dat

The cohort recommendation is to confirm the file name against the language menu inside Unturned™ itself; the in-game language menu is the authoritative reference for which language names the game recognises in the current build.

Keys that need translating per asset type

Each asset type has its own set of user-facing string keys. The keys that need translating are documented per type below.

Items

KeyPurposeExample EnglishExample French
NameItem display nameMaple WandBaguette d'érable
DescriptionItem tooltip descriptionA wand carved from maple.Une baguette taillée dans l'érable.
ActionVerb shown on use prompt (some items)UseUtiliser

For items, the translation file contains:

Name Baguette d'érable
Description Une baguette taillée dans l'érable.

The translation file does NOT contain non-translatable keys (the item's numeric ID, type, slot, rarity, etc.). Those keys live in the asset's .dat file (e.g., MyGun.dat) and are not duplicated in the language files.

Vehicles

KeyPurpose
NameVehicle display name
DescriptionVehicle tooltip description (some vehicles)

NPCs (dialogue and characters)

KeyPurpose
NameNPC display name
Dialogue_<index>_Page_<page>Dialogue page text for the indexed dialogue node
Response_<index>Player response option text

NPC dialogue is the highest-effort localization target. A dialogue tree with branches across multiple pages can have dozens or hundreds of keys per NPC.

Quests

KeyPurpose
NameQuest title
DescriptionQuest summary shown in the quest log
Reward_DescriptionReward description

Events

KeyPurpose
NameEvent display name
Trigger_DescriptionText shown when the event triggers

Vendors

KeyPurpose
NameVendor display name
DescriptionVendor tooltip description
ActionVerb shown on the vendor interaction prompt
Buy_<index> and Sell_<index>Per-item action text for the vendor's inventory

Pro tip

The cohort recommendation is to start with item Name and Description translations because they are the most visible to subscribers (every item in the inventory). NPC dialogue is the lowest-priority initial translation target because the dialogue is encountered only by subscribers who interact with the NPC, and the volume of text per NPC makes full translation expensive.

Encoding: UTF-8 with BOM

The single most common cause of broken translations is incorrect file encoding. Translation files contain non-ASCII characters (accented Latin letters, Cyrillic, Chinese, Japanese, Korean, Thai, etc.) that require a Unicode encoding to represent. Unturned™ expects translation files to be encoded as UTF-8 with BOM (Byte Order Mark).

The cohort has documented the following encoding-related failure modes:

Encoding usedSymptom
ANSI / Windows-1252Non-Latin characters appear as ? or garbage
UTF-8 without BOMFirst key in the file is mis-parsed; some characters render incorrectly
UTF-16 LEFile is rejected entirely; English fallback used
UTF-16 BEFile is rejected entirely; English fallback used
UTF-8 with BOMCorrect behaviour

The cohort-validated authoring tool is Notepad++, which supports UTF-8 with BOM as an explicit save option.

Saving a .dat file in UTF-8 with BOM in Notepad++

  1. Open the translation file in Notepad++.
  2. From the Encoding menu, select UTF-8 BOM (or UTF-8-BOM depending on the Notepad++ version).
  3. Save the file.

The cohort has dedicated an article specifically to this step: How to Save a .dat File With Correct Encoding. The article documents the Notepad++ encoding menu in detail, including how to verify the BOM is present after saving.

Critical warning

Saving translation files in Windows Notepad will produce a file in ANSI encoding by default. Subscribers in languages that use non-ASCII characters (French, German, Russian, Polish, all CJK languages, Thai, Vietnamese) will see broken characters. The cohort recommendation is to never use Windows Notepad for translation work; install Notepad++ before starting localization.

Numbered procedure: translate a mod to a single target language

The complete procedure for adding one target-language translation to a mod is summarised below. The procedure assumes the mod is published with English-only strings and a French translation will be added.

  1. Identify keys: List every user-facing string in the mod by inspecting each asset's English.dat file. The keys are the lines beginning with Name, Description, etc.
  2. Source translator: Identify a native French speaker willing to translate the strings. The cohort recommendation is to recruit from the mod's existing subscriber community via a comment on the Workshop entry asking for volunteers.
  3. Prepare translation document: Copy the keys and English values into a shared document (Google Sheets or Notion are cohort-validated). Add a column for the French translation.
  4. Translate: The translator fills in the French column. Set a deadline; partial translations can be shipped while the rest are pending.
  5. Create French.dat files: For each asset folder, create a new file named French.dat alongside the existing English.dat.
  6. Populate French.dat files: Copy the asset's translated keys into the French.dat file. Use the same key names as in English.dat with the translated values.
  7. Set encoding: Open each French.dat file in Notepad++ and set the encoding to UTF-8 with BOM. Save.
  8. Test: Launch Unturned™ with the French language and verify the translated strings appear in-game. See the testing section below.
  9. Iterate: Fix any keys that did not translate (most commonly: a key with a typo in the key name, or a key that the modder forgot to translate).
  10. Publish update: Update the mod's Workshop entry with the new translation files. The changelog should note "Added French translation."

Testing a translation

Translation files are tested in the modder's own Unturned™ client by switching the client's language to the target language. There are two ways to switch language: through the in-game options menu, or through a Steam launch option.

Option 1: in-game language switch

  1. Launch Unturned™.
  2. Open Options from the main menu.
  3. Select the Language sub-menu.
  4. Select the target language.
  5. Restart the game when prompted. The client downloads the language pack if it is not already installed.
  6. Launch the modder's test environment (a single-player session loading the mod).
  7. Confirm the translated strings appear.

Option 2: Steam launch option

  1. In the Steam library, right-click Unturned™ and select Properties.
  2. Under General, click Launch Options.
  3. Enter -Language French (or the target language name).
  4. Launch the game. The game starts in the specified language.

The launch option approach is faster for iterative testing because it does not require restarting the game between language changes.

Verification checklist

When testing a translation, the cohort recommends verifying the following points:

Verification pointWhat to check
Item namesInventory shows translated names; not English; not key name
Item descriptionsTooltip on hover shows translated description
Vehicle namesSpawned vehicle shows translated name on the HUD
NPC namesNPC dialogue header shows translated name
NPC dialogueDialogue body shows translated text
Quest namesQuest log shows translated quest title
Quest descriptionsQuest log shows translated summary
Event namesEvent prompts show translated name
Non-ASCII renderingAccented characters, Cyrillic, CJK render correctly (not as ? or garbage)
Fallback behaviourUntranslated keys fall back to English (not key name)

A modder who runs the verification checklist after every translation update catches the majority of encoding and key-name typos before subscribers encounter them.

Translated item tooltip in Unturned

Why some strings don't translate

A modder can complete the translation workflow and still find that some strings appear in English even when the game is set to a non-English language. The cohort has documented the principal causes.

Hardcoded strings in scripts

Some mods include custom scripting (via Unturned™'s scripting system or via the Rocket/OpenMod plugin frameworks). Scripts can render text directly to the player's UI using engine APIs that bypass the asset translation layer. These strings are hardcoded in the script source code and do not appear in any .dat file.

The fix is to refactor the script to read its strings from a translation file rather than hardcoding them. The cohort-validated pattern is:

  • Define a separate Translations.dat file (or per-script translation file) in the mod folder.
  • Author English.dat and per-language equivalents in the same folder.
  • Modify the script to read the appropriate key from the translation file at runtime, selecting the file based on the player's current language.

The refactor effort varies by script complexity. For simple plugins (a chat command that prints a fixed welcome message), the refactor is a few minutes. For complex plugins (a roleplay system with hundreds of UI strings across multiple panels), the refactor is a significant project.

Plugin-side strings

Plugins running through OpenMod or RocketMod have their own translation systems that are distinct from Unturned™'s asset translation system. Each plugin author chooses how to handle translations: some plugins ship YAML or JSON translation files in the plugin folder, others hardcode strings in C# source.

The cohort recommendation is to consult each plugin's documentation for its specific translation approach. There is no universal pattern across the plugin ecosystem.

UI strings rendered outside Unturned's localization layer

A small number of UI elements in Unturned™ are rendered directly by Unity (rather than by Unturned's UI layer) and do not pass through Unturned's translation system. These strings cannot be translated from the mod's translation files. The cohort has documented this as a hard limit; the only resolution is to file a feature request with Smartly Dressed Games to expose the relevant string to the localization layer.

Did you know?

The cohort's survey of 50 popular Unturned™ mods documented that approximately 80 percent of user-facing strings are translatable through the asset translation system, approximately 15 percent require script-side refactoring, and approximately 5 percent are rendered outside Unturned™'s localization layer and are not translatable from a mod. The cohort recommendation is to translate the 80 percent that is straightforward first; the remaining 20 percent is a lower-priority follow-up.

Common pitfalls

The cohort has documented the following recurring pitfalls in modder support requests for translation work.

PitfallSymptomFix
Wrong encoding (ANSI or UTF-8 without BOM)Non-ASCII characters render as ?Re-save with UTF-8 BOM in Notepad++
File named with locale code (fr.dat)Translation never loads; English fallback usedRename to language name (French.dat)
Translation file in wrong folderTranslation never loadsMove file alongside the asset's English.dat
Key name typo (Nme instead of Name)Specific key falls back to EnglishFix typo
Trailing whitespace on keyKey parsed with whitespace; falls back to EnglishRemove trailing whitespace
Key contains underscores not present in English.datSpecific key falls back to EnglishMatch the English.dat key name exactly
Multi-line value crossing newlinesOnly first line translated; rest mis-parsedUse a single-line value per key
Value contains the literal \n\n renders literally in-gameUse the escape sequence supported by the asset type (varies by type)
Translation document used machine translationSubscribers complain about awkward phrasingSource human translation
Translation added but Workshop entry not updatedSubscribers see EnglishRe-publish update to Workshop

Coordinating community-contributed translations

The cohort recommendation for sustainable mod translation is to invite the mod's subscriber community to contribute translations. Community-contributed translations have several advantages over modder-sourced translations:

  • Native-speaker quality without paid translation cost.
  • Subscribers who contribute translations become invested in the mod and act as informal moderators in the comments.
  • New languages can be added as volunteers appear.

The cohort-validated workflow for community translations is:

  1. Publish a call for translators on the Workshop entry's description or in a pinned comment. State which languages are needed and how volunteers can contribute.
  2. Provide a translation document (Google Sheets is the cohort default) with the source English strings in one column and a column per target language. Share the document with edit access.
  3. Credit translators in the mod's Workshop description and in a [h2]Credits[/h2] section.
  4. Coordinate updates: when new strings are added to the mod, notify the translators of the new keys to translate.
  5. Verify community contributions: before shipping a community-contributed translation, run the verification checklist documented above. The cohort observation is that volunteer translators occasionally introduce typos, encoding errors, or unintended modifications.

Pro tip

The cohort recommendation is to maintain a single shared translation document across all of the modder's mods. The document accumulates over time and becomes a translation memory: when the same string ("Description", "Use", "Equip") appears in multiple mods, the translator's prior translation can be reused.

Character limits and string length

Translation strings are not subject to a hard character limit imposed by Unturned™, but the UI elements that display them have rendering constraints. The cohort has documented the following soft limits.

StringSoft limitHard limitBehaviour beyond hard limit
Item name~28 charactersNoneLong names truncate in inventory grid; full name visible in tooltip
Item description~120 characters per lineNoneLong descriptions wrap; very long descriptions overflow the tooltip card
Vehicle name~28 charactersNoneTruncates on HUD; visible in spawn list
NPC dialogue page~280 charactersNoneLong dialogue requires multiple pages; modder authors page splits explicitly
Quest description~400 charactersNoneLong descriptions scroll in the quest log

Translations into languages that average longer character counts than English (German, Russian, Portuguese, Polish) typically expand by 20-40 percent. The cohort recommendation is to plan for the expansion when authoring the English source string; if the English string is at the soft limit, the translation will exceed the limit.

Right-to-left languages

Unturned™ supports several left-to-right languages (English, French, German, Russian, Spanish, Polish, etc.) but does not natively support right-to-left rendering (Arabic, Hebrew, Persian). The cohort observation is that RTL-language translation files can be authored and saved, but the in-game rendering does not flip text direction; the result is RTL text rendered left-to-right, which is unreadable for fluent RTL-language speakers.

The cohort recommendation is to not ship RTL-language translations until Smartly Dressed Games adds RTL rendering support to the Unturned™ UI layer. Subscribers in RTL-language communities are typically bilingual with English and prefer the English version to a broken RTL rendering.

Plugin-versus-asset translations

The translation system documented in this article applies to assets (items, vehicles, NPCs, quests, events, vendors). Plugins (compiled .NET assemblies running through OpenMod or RocketMod) have their own translation systems that are distinct.

The principal differences:

AspectAsset translationsPlugin translations
File format.dat text filesVaries (YAML, JSON, XML, .resx)
File locationAlongside the asset's English.datIn the plugin's folder, sometimes a translations/ subfolder
EncodingUTF-8 with BOMPlugin-specific; typically UTF-8 without BOM
LoadingAutomatic by the gamePlugin-specific; some plugins require a restart
FallbackEnglish.dat is the canonical fallbackPlugin-specific; some plugins default to English, others fail
ReloadingGame restartPlugin-specific; some plugins support hot-reload

The cohort recommendation is to consult the plugin's documentation for its specific translation approach. There is no shortcut across the plugin ecosystem.

Frequently asked questions

What languages does Unturned support?

Unturned™ supports approximately 20 languages depending on the game version. The current list is visible in the in-game Options → Language menu. The cohort-recommended approach is to confirm the supported list against the in-game menu for the current build rather than relying on external documentation, which can lag the game.

My translation file has accented characters that show as ? in-game. What's wrong?

The file is saved in the wrong encoding. Translation files must be UTF-8 with BOM. Re-open the file in Notepad++ and change the encoding to UTF-8 BOM via the Encoding menu, then save. See How to Save a .dat File With Correct Encoding for the detailed procedure.

Is there a character limit on item names or descriptions?

There is no hard character limit, but the UI has rendering constraints. Item names beyond approximately 28 characters truncate in the inventory grid. Item descriptions beyond approximately 120 characters per line wrap to additional lines. Translations into languages that expand by 20-40 percent over English (German, Russian, Portuguese) frequently hit the soft limits; authors should plan for the expansion.

What happens if my translation file is incomplete?

Unturned™ falls back to English.dat for any key missing from the translation file. This means a partial translation is functional; subscribers see translated strings where the modder has provided them and English where the modder has not. There is no penalty for shipping a partial translation; the cohort recommendation is to ship translations incrementally rather than waiting for completeness.

Can I translate plugin strings the same way as asset strings?

No. Plugin strings live in the plugin's own translation system, which is distinct from the asset translation system documented in this article. Consult the plugin's documentation for its specific approach.

Does Unturned support right-to-left languages like Arabic?

The asset translation system accepts RTL-language files but the in-game UI rendering does not flip text direction. RTL text renders left-to-right and is unreadable for RTL-language speakers. The cohort recommendation is to not ship RTL translations until Unturned™ adds RTL rendering support.

How do I test a translation without changing my game language permanently?

Use Steam's launch option -Language French (or the target language name). The launch option overrides the language for that session only; the next launch without the option reverts to the modder's configured language. This is faster than using the in-game language switch for iterative testing.

My subscriber says the translation is "wrong" but I used machine translation. What do I do?

Machine translation produces output that native speakers identify as awkward, idiomatically wrong, or in some cases comically incorrect. The cohort recommendation is to source human translations from the mod's subscriber community. Publish a call for translators in the Workshop description and offer credit in exchange for translation work. The cohort observation is that motivated community translators produce better translations than any machine system.

How do I add a new language to an already-published mod?

Create the new language file (e.g., Polish.dat) in each asset folder, populate it with translations, save with UTF-8 BOM, and publish a Workshop update. Subscribers will receive the new language file on their next Workshop sync; the new language becomes effective when the subscriber switches their game language.

How do I handle a string that uses the same word in English but different words in the target language?

Each occurrence of the string in the asset system has its own key. If the same English word ("Use") appears as Action for item A and Action for item B, each item's translation file has its own Action key. The two keys can have different translations if the target language requires it.

Can I crowdsource translations through a third-party platform like Crowdin or Weblate?

Yes. The cohort has documented members using Crowdin for larger-scale mod translations. The workflow is: extract the English strings from the .dat files into Crowdin's format (typically a flat key-value file), invite translators on the platform, then re-export the translated files back into .dat format. The re-export step requires a small script; the cohort recommendation is to author the script once and reuse it across all the modder's mods.

Cross-references

Document history

VersionDateAuthorNotes
1.02024-07-0457 StudiosInitial publication. Item translation workflow.
1.12024-10-1557 StudiosAdded vehicle, NPC, quest, event, and vendor key references.
1.22025-02-0857 StudiosAdded encoding troubleshooting section and Notepad++ guidance.
2.02025-05-1857 StudiosMajor revision. Added community-translation workflow, plugin-versus-asset comparison, and character-limit guidance.

Appendix A: full translation key reference

The table below documents every key the cohort has encountered across the asset types Unturned™ supports. The list is not exhaustive (mods can define custom keys for their own systems) but covers the standard asset-level keys.

Asset typeKeyPurpose
ItemNameItem display name
ItemDescriptionItem tooltip body
ItemActionUse verb (some item subtypes)
ItemZoomedActionZoom verb (scope items)
VehicleNameVehicle display name
VehicleDescriptionVehicle tooltip (some vehicles)
NPCNameNPC display name
NPCDialogue_<n>_Page_<p>Dialogue page text
NPCResponse_<n>Player response option text
QuestNameQuest title
QuestDescriptionQuest summary
QuestReward_DescriptionReward description
EventNameEvent display name
EventTrigger_DescriptionEvent trigger text
VendorNameVendor display name
VendorDescriptionVendor tooltip
VendorActionInteraction verb
VendorBuy_<n>Buy action text per item
VendorSell_<n>Sell action text per item
AnimalNameAnimal display name (some animals)
TreeNameResource node display name
SkillNameSkill display name
SkillDescriptionSkill description

Appendix B: translation document template

The cohort-validated translation document template is reproduced below. The template is implemented as a Google Sheets workbook with one sheet per asset and the following columns:

ColumnContent
Asset FolderPath within the mod folder (e.g., Items/MyGun)
KeyThe translation key (e.g., Name, Description)
EnglishThe English source string
FrenchFrench translation
GermanGerman translation
RussianRussian translation
SpanishSpanish translation
NotesTranslator notes on context, ambiguity, or constraints

The template can be filtered by Asset Folder to focus translators on one asset at a time, or by language to focus on a single translator's work. The cohort recommendation is to share the workbook with edit access to translators and read-only access to the broader subscriber community as a transparency measure.

Appendix C: cohort case studies

The 57 Studios™ cohort case-study program has documented several mod localization efforts. Two representative cases are reproduced below.

Case study 1: French translation of a 40-item weapons pack

A cohort member published a 40-item weapons pack with English-only strings. After approximately 1,200 subscribers had accumulated, the modder added a comment to the Workshop entry asking for a French translator. A subscriber volunteered within 48 hours.

The modder shared the cohort translation document template pre-populated with the 80 keys (Name and Description for each of the 40 items). The translator completed the document in approximately two evenings. The modder copied the translations into per-item French.dat files, saved with UTF-8 BOM, tested with -Language French, and published the update. The mod's subscriber count grew by approximately 22 percent over the following month, with the growth concentrated in subscribers whose Steam community page indicated French as their primary language.

Case study 2: a Russian translation that broke on subscriber clients

A cohort member added a Russian translation to a vehicle pack. The translator returned the Russian strings in a Word document. The modder copied the strings into Russian.dat files but saved the files using Windows Notepad in its default ANSI encoding.

Subscribers immediately reported that Russian item names appeared as garbage characters. The modder investigated by opening a Russian.dat file in Notepad++ and observed that the file was in ANSI encoding rather than UTF-8 BOM. Re-saving each file in UTF-8 BOM and re-publishing the update fixed the issue.

The cohort case study recommendation is to author translation files exclusively in Notepad++ (or another editor with explicit UTF-8 BOM support) and to never round-trip translations through Windows Notepad.

Appendix D: encoding verification reference

The cohort has documented a brief encoding-verification procedure that confirms a translation file is correctly saved before publishing. The procedure uses Notepad++'s built-in encoding indicator.

StepActionExpected indicator
1Open the translation file in Notepad++File renders without garbled characters
2Check the status bar in the lower rightStatus bar shows UTF-8-BOM
3If status bar shows ANSIEncoding menu → UTF-8 BOM → save
4If status bar shows UTF-8 (without BOM)Encoding menu → UTF-8 BOM → save
5If status bar shows UTF-16 LE or UTF-16 BEEncoding menu → UTF-8 BOM → save
6Re-verify status bar shows UTF-8-BOMConfirmed
7Test in-game with -Language <target>Translated strings render correctly

A modder who runs the encoding-verification procedure after every translation file save catches the principal encoding-related failure mode before subscribers encounter it.

Appendix E: language priority for new translations

When a modder is deciding which language to add next to a partially-translated mod, the cohort recommendation is to consult the subscriber-base language distribution. The Workshop entry's analytics page (visible only to the modder) includes a subscriber-country breakdown that approximates the language distribution of the subscriber base.

The cohort has documented the following language-priority observations from approximately 50 mods in the cohort's case study database. The observations are general; individual mods vary based on theme, genre, and the modder's promotion activity.

LanguageApproximate share of non-English Unturned subscribersCohort priority for addition
Russian22%High
Portuguese (Brazilian)14%High
French9%High
German8%Medium
Spanish7%Medium
Polish6%Medium
Simplified Chinese5%Medium (CJK rendering must be verified)
Turkish4%Lower
Italian3%Lower
Other languages22% combinedCase-by-case

The cohort recommendation is to prioritise Russian, Portuguese, and French as the first three translations for a mod targeting general subscriber growth. Mods with thematic alignment to a specific region (e.g., a map set in Eastern Europe) may invert this prioritisation.

Appendix F: cohort case study — coordinating a five-language launch

A cohort member published an item pack with English-only strings in early 2024 and reached approximately 8,000 subscribers over three months. The modder then organised a coordinated five-language launch (Russian, Portuguese, French, German, Spanish) to extend reach to the largest non-English subscriber communities.

The workflow the modder followed:

  1. Recruit translators: posted a comment on the Workshop entry asking for volunteer translators in each of the five target languages. Eight subscribers responded across the five languages over a 10-day window.
  2. Create the translation document: copied 240 keys (Name and Description for 120 items) into a Google Sheets workbook. Shared with edit access to translators.
  3. Set a coordination deadline: gave translators four weeks to complete their language column.
  4. Author per-language .dat files: at the deadline, copied each language's translations into per-item language.dat files. Saved each file in UTF-8 BOM.
  5. Coordinate testing: each translator tested their language in-game and reported issues via the Workshop comments.
  6. Iterate on reported issues: fixed key-name typos, encoding errors, and a small number of mis-translations that the translators themselves flagged after seeing in-game context.
  7. Publish the multi-language update: a single Workshop update added all five language files at once. The changelog noted "Added Russian, Portuguese, French, German, and Spanish translations."
  8. Credit translators: added a [h2]Credits[/h2] section to the Workshop description listing each translator by Steam community handle.

The mod's subscriber count grew by approximately 47 percent over the three months following the launch, with the growth concentrated in subscribers whose Steam community page indicated one of the five added languages as their primary language. The cohort case-study recommendation is to coordinate translations as a multi-language launch rather than adding languages one at a time; the coordinated launch produces a single Workshop update notification to existing subscribers and a single moment of promotion activity rather than fragmenting across multiple smaller updates.

Appendix G: translation maintenance over the mod's lifecycle

A translation that is shipped once is not the end of the localization workflow. As the mod evolves (new items added, descriptions revised, new NPCs introduced), the translations must keep pace. The cohort has documented the following maintenance considerations.

Adding new strings to a localized mod

When the modder adds a new item (or other asset) to an already-localized mod, the new asset's English.dat is published with the mod update. The translations for the new asset are not present until a translator adds them. Subscribers in non-English languages see the new asset's strings in English (the fallback chain works as designed) until the translation is added.

The cohort recommendation is to:

  1. Add the new strings to the translation document with empty cells in each language column.
  2. Notify translators of the new strings via the document's notification feature or a direct message.
  3. Ship the mod update with the new English strings immediately; do not block on translations.
  4. Ship a follow-up mod update with the translated strings as they are completed.

Revising existing strings

When the modder revises an existing English string (e.g., rewords a description), the translations for that string become stale. Subscribers in non-English languages see the old translation (rendered from the language.dat file) rather than the revised English (which is only in English.dat).

The cohort recommendation is to:

  1. Flag the revised string in the translation document.
  2. Notify translators of the revision.
  3. Decide whether to ship the revision before translations are updated (subscribers see old translation) or block on translations (modder waits for translators).

For minor revisions, shipping immediately is the cohort recommendation; the old translation is rarely so wrong as to harm subscriber experience. For significant revisions (e.g., a description that previously claimed feature X now claims feature Y), blocking on translations is the cohort recommendation; shipping the revision without updated translations would leave non-English subscribers with materially incorrect information.

Retiring translations

If a translator stops contributing to the mod (becomes unavailable, leaves the subscriber community, etc.), the translation for that language becomes orphaned. The cohort recommendation is to leave the existing translation in place (continued translations are better than none) and to recruit a replacement translator over time.

The cohort observation is that retiring an entire language's translation is rarely worth the effort; the existing partial translation produces a better subscriber experience than reverting to English even when the partial translation is somewhat stale.

Appendix H: language switching for testing — full reference

The cohort has documented the full set of language switches that can be used during translation testing. The launch options below are appended to Unturned™'s Steam launch options field (Steam library → right-click Unturned → Properties → General → Launch Options).

Launch optionEffectCohort use
-Language EnglishForce EnglishBaseline reference
-Language FrenchForce FrenchFrench translation testing
-Language GermanForce GermanGerman translation testing
-Language RussianForce RussianRussian translation testing
-Language SpanishForce SpanishSpanish translation testing
-Language PolishForce PolishPolish translation testing
-Language PortugueseForce Portuguese (Brazilian)Portuguese translation testing
-Language ItalianForce ItalianItalian translation testing
-Language KoreanForce KoreanKorean translation testing
-Language SchineseForce Simplified ChineseCJK rendering verification
-Language TchineseForce Traditional ChineseCJK rendering verification
-Language JapaneseForce JapaneseCJK rendering verification
-Language CzechForce CzechCzech translation testing
-Language DutchForce DutchDutch translation testing
-Language RomanianForce RomanianRomanian translation testing
-Language VietnameseForce VietnameseVietnamese translation testing
-Language TurkishForce TurkishTurkish translation testing
-Language ThaiForce ThaiThai translation testing
-Language HungarianForce HungarianHungarian translation testing

The launch option overrides any in-game language setting for the duration of that launch. Removing the launch option restores the in-game language setting. This is the cohort-validated approach for rapid iteration: the modder maintains their preferred language in the in-game setting, and uses launch options for per-session language switches during translation testing.

Appendix I: cohort-validated translation glossary

The cohort has developed a glossary of common Unturned™ modding terms that translators frequently encounter. The glossary is intended as a starting point; modders should extend it for their mod's specific terminology.

English termCohort-recommended translation note
ItemTranslate as the target language's word for "object" or "thing" in a game-inventory context
EquipTranslate as "wear" or "wield" depending on item type; some languages distinguish
UseTranslate as the target language's verb for "activate" or "consume"
HoldTranslate as the target language's verb for "carry in hand"
AimTranslate as the target language's verb for "target with a weapon"
ReloadTranslate as the target language's verb for "load ammunition"
DropTranslate as the target language's verb for "release from hand"
Pick upTranslate as the target language's verb for "collect from ground"
InventoryTranslate as the target language's term for "carried items"
DescriptionTranslate as the target language's term for "information about"
RarityTranslate as the target language's term for "scarcity" or "quality tier"

The glossary helps maintain consistency across the mod's strings; the cohort observation is that subscribers notice when "Use" is translated as one word in one item and a different word in another item, and they perceive the inconsistency as low-quality translation work.

Appendix J: cohort recommendations summary

The cohort recommendations documented across this article are summarised below for quick reference.

RecommendationRationale
Use Notepad++ for translation file authoringUTF-8 BOM encoding support; reliable handling of non-ASCII characters
Save translation files in UTF-8 BOMRequired by Unturned™'s loader; any other encoding produces broken rendering
Use language names, not locale codes, for file namesThe game's loader matches on language name, not locale code
Place translation files alongside the asset's English.datThe loader expects translation files in the same folder as the source
Match key names exactly to English.datMismatched key names fall back to English silently
Test with the -Language launch optionFaster iteration than the in-game language switch
Source human translations, not machine translationsSubscribers identify machine translations and downvote
Prioritise Russian, Portuguese, FrenchThe largest non-English Unturned™ subscriber communities
Coordinate multi-language launchesSingle Workshop update, single promotion moment, higher growth
Ship partial translations rather than waiting for completenessThe fallback chain handles partial translations gracefully
Credit translators in the Workshop descriptionRecognition motivates continued community contribution
Maintain a shared translation document across all modsActs as translation memory; consistent phrasing across the modder's catalogue
Verify CJK rendering before shipping CJK translationsSome CJK-specific rendering issues are observable only in-game
Avoid RTL-language translations until UI supports RTLBroken RTL rendering is worse than English fallback for RTL-language speakers

The summary is intended as a checklist; a modder who follows the recommendations across their catalogue produces a consistent localization experience that the cohort has documented as correlating with higher subscriber retention.

Closing note

Localization extends a mod's reach to subscribers who would otherwise have a fractured experience. The asset-level translation system documented in this article handles the majority of user-facing strings with a straightforward workflow: identify keys, source translations, author per-language .dat files, save with UTF-8 BOM, test, and publish. The 20 percent of strings that fall outside the asset translation system (script-side strings, plugin-side strings, UI strings rendered outside the localization layer) require additional work that varies by case.

The cohort recommendation is to localize the mod's most visible strings (item names and descriptions) first, ship the partial translation, and add additional asset types and additional languages incrementally over the mod's lifecycle. Subscribers do not penalise partial translations; they penalise broken translations (wrong encoding, key-name typos, machine-translated awkward phrasing). The cohort-validated workflow in this article is designed to ship correct partial translations rather than waiting for unattainable completeness.

Next steps

With the mod published and localized, the next step is to understand the subscriber-side experience. Continue to How to Install Unturned Mods for the workflow subscribers follow to receive and install the mod. Return to the section overview at Publishing for the full list of articles in this section.