# How To Translate Your NarrativeFlow Project
The ability to import and merge projects in NarrativeFlow doesn't just make collaboration possible — it also makes creating multiple translations possible.
And it does so in a way that's flexible and scalable.
*(For details on the underlying collaboration and importing system, see: [[Collaboration and Importing Projects]].)*
The idea is simple:
Instead of cramming multiple languages into a single project file, each language gets its **own master project**.
That way, translators can work independently, and your narrative team can update and merge changes as your story grows.
## The Translation Workflow
Here's how it works:
1. **Primary Master Project**
Start with your main project in your primary language. For example:
- `Gan-shine Impacked - Master (English).narrativeproj`
2. **Create a Language Master**
Make a copy of that project for each target language. For example:
- `Gan-shine Impacked - Master (Korean).narrativeproj`
- `Gan-shine Impacked - Master (Chinese).narrativeproj`
- `Gan-shine Impacked - Master (German).narrativeproj`
3. **Translate Content**
Translators open their language's master project in NarrativeFlow and translate dialogue, choices, Data Table items, and so on. The [[Script View]] is perfect for this.
4. **Keep Things Updated**
When new content is added to your primary master, merge those changes into each language master. Translators then translate the new additions.
5. **Manage the Flow**
Just like with collaboration, it's wise for someone on the team to be the "merge manager." They make sure merges are clean, backups exist, and nothing gets lost.
```mermaid
flowchart TD
NewContent["New Content From Narrative Team"]
Primary["Primary Master (English)"]
Korean["Korean Master"]
KoreanTranslators["Korean Translators"]
KoreanMerge["Merge Translations Into Korean Master"]
Chinese["Chinese Master"]
ChineseTranslators["Chinese Translators"]
ChineseMerge["Merge Translations Into Chinese Master"]
NewContent-->Primary
Primary-->Korean
Korean-->KoreanTranslators
KoreanTranslators-->KoreanMerge
KoreanMerge-->Korean
Primary-->Chinese
Chinese-->ChineseTranslators
ChineseTranslators-->ChineseMerge
ChineseMerge-->Chinese
```
---
This system has many benefits:
- **Flexibility:** Each language can adapt content to cultural needs (extra Nodes, different dialogue flow, unique Data Table items).
- **Independence:** Each language lives in its own master project — no risk of breaking the others.
- **Scalability:** Need another language? Copy your primary master and you're set.
- **Professional Workflow:** It works like branching and merging in version control systems (Git), which professional teams already understand.
In fact, this method is ideal because it doesn’t lock you into a rigid structure based on your primary language.
For example, a Japanese localization might need extra honorifics, or a German localization might need more space for longer words, creating the need for additional Nodes in the chain, additional Data Table items, etc.
With NarrativeFlow, each localization can adapt without forcing all other languages to conform.
## Best Practices
- **Name wisely.** Use clear filenames like `ProjectName - Master (Language).narrativeproj`.
- **Back up everything before and after merging. Seriously.** (Yes, again. Please. Backups are your best friend!)
- **Assign a merge manager.** One person should be responsible for pulling in and merging updates to keep things smooth and organized. Keep detailed records.
- **Update on a consistent schedule.** Doing all merges and sharing the updated master projects on the same day each week or every morning will significantly reduce conflicts and new content getting lost.
Have fun localizing your game!