A fallback language ensures that your exported files never contain blank values or missing keys when target languages are empty. If a segment is empty during file export, LingoHub automatically fills it with content from a designated fallback language (if assigned).
How fallback languages work in a project
When exporting resource files, LingoHub evaluates empty segments step-by-step through a fallback chain:
LingoHub checks if a fallback language is defined for the target language.
If an untranslated segment is detected, LingoHub populates it with text from the fallback language.
If the fallback language segment is also empty, LingoHub traverses further up the chain until it finds available text or reaches the primary source language.
💬 Please note: Infinite loops (e.g., configuring Language A as fallback for Language B, and Language B as fallback for Language A) cannot be created. LingoHub enforces strict validation rules to automatically prevent circular fallback chains.
Example: Export behavior across a fallback chain
Consider an app localizing from English (en) into German (Germany) (de-DE) and Austrian German (de-AT):
Source language: English (
en)German (de-DE): Fallback → English (
en)Austrian German (de-AT): Fallback → German (
de-DE)
Pre-export state
Segment key | Target language | Editor content | Active fallback |
| Austrian German ( | (empty) | German ( |
| German ( | Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut. | English ( |
| English ( | Your payment could not be processed. Please try again. |
|
Post-export state
During export, LingoHub detects that de-AT is empty, checks the de-DE fallback, finds the German error message, and generates the following export files:
Target language file | Exported segment content | Source of content |
| Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut. | Fallback from |
| Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut. | Direct translation |
| Your payment could not be processed. Please try again. | Source language |
Handling remaining empty segments during export
If LingoHub traverses the entire fallback chain and the segment remains empty (for example, if the source text itself is empty or fallback settings are disabled), LingoHub applies the project's File processing settings.
Under Settings > File processing > Empty content handling, you can define how remaining empty segments are processed.
Keep: Includes the segment key in the exported file with an empty value (or source text, depending on format rules).
Skip: Excludes empty segment keys entirely from the generated export file.
Important caution regarding file re-imports
⚠️ Important: Exporting files with fallback languages enabled and subsequently re-importing those same files back into LingoHub will permanently populate previously empty segments in your database.
When you export a file, LingoHub populates untranslated segments with text from the fallback language. If you upload that exported file back into LingoHub during a future import, the system treats those fallback values as explicit translations, overwriting their empty status.
Example: How re-importing breaks dynamic fallback chains
Initial state in LingoHub:
button_cancel_subscription(de-AT): (empty) → Fallback:de-DE("Abonnement kündigen")
Generated export file:
de-ATfile contains:"Abonnement kündigen"
State in LingoHub after re-importing the
de-ATfile:
Segment key | Target language | Editor content after re-import | Fallback status |
| Austrian German ( | Abonnement kündigen (Overwritten) | ❌ Inactive (Segment is no longer empty) |
| German ( | Abonnement kündigen | Active |
Because de-AT now explicitly contains "Abonnement kündigen" in the database, any future updates made to the primary de-DE fallback segment (e.g., changing it to "Plan stornieren") will no longer automatically propagate to de-AT.
How to set up fallback languages in your project
Navigate to Projects and select your project.
In the Languages view, under Target languages, locate the language you want to configure (e.g., German (Austria)) and click the three-dots menu icon on the right side of its row.
Click Settings in the dropdown menu.
In the settings pop-up window, select a language from the Fallback language dropdown menu (e.g., German). (Use the same settings to disable the fallback language.)
Click Save.
Once saved, a small fallback icon indicating your configured language will appear next to the target language name in your Languages view.
Need more help?
Couldn't find what you were looking for? Reach out to our team at [email protected], and we will gladly assist you.




