mirror of
				https://github.com/mealie-recipes/mealie.git
				synced 2025-11-03 18:53:17 -05:00 
			
		
		
		
	Document new translation process with Crowdin (#342)
This commit is contained in:
		@@ -1,16 +1,21 @@
 | 
				
			|||||||
# Contributing with Translations
 | 
					# Contributing with Translations
 | 
				
			||||||
 | 
					Translations can be a great way **for non-coders** to contribute to project.
 | 
				
			||||||
 | 
					We use **[Crowdin](https://crowdin.com/project/mealie)** to allow several contributors to work on translating Mealie. 
 | 
				
			||||||
 | 
					You can simply help by voting for your preferred translations, or even by completely translating Mealie into a new language.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Mealie supports a framework for the community to contribute different translations. Translations can be a great way for non-coders to contribute to project.
 | 
					Translations are regularly pulled from Crowdin and included in each new release.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## My Language Is Missing
 | 
					Please use Crowdin as much as possible if you have any question/issue regarding a particular string. You can take a look at [Crowdin Knowledge base](https://support.crowdin.com/for-volunteer-translators/) if you want to know more about how to use this tool.
 | 
				
			||||||
If your language is missing, you can add it, by beginning to translate. We use a Vue-i18n in json files. Copy frontend/src/locales/en.json to get started.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Improving Translations
 | 
					## My language is missing in Mealie
 | 
				
			||||||
If your language is missing the translation for some strings, you can help out by adding a translation for that string. If you find a string you think could be improved, please feel free to do so. 
 | 
					Once your language is translated on Crowdin, we need to manually add it in Mealie. If you believe your language is ready for use, please create an issue on GitHub. 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Tooling
 | 
					## I can't find a particular text in Crowdin
 | 
				
			||||||
Currently we use Vue-i18n for translations. Translations are stored in json format located in [frontend/src/locales](https://github.com/hay-kot/mealie/tree/master/frontend/src/locales).
 | 
					There can be several reasons:
 | 
				
			||||||
 | 
					- The text you're looking for is outdated: someone has already changed it or it will be removed/changed in the next release.
 | 
				
			||||||
 | 
					- It is possible some texts are not translatable (yet) for technical reasons. If you spot one, please reach out to us on [Discord](https://discord.gg/QuStdQGSGK) or raise an issue on GitHub.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If you have experience with a good Translation Management System, please feel free to chime in on the [Discord](https://discord.gg/QuStdQGSGK), as such a system could be helpful as the projects grow.
 | 
					## Technical information
 | 
				
			||||||
Until then, [i18n Ally for VScode](https://marketplace.visualstudio.com/items?itemName=antfu.i18n-ally) is recommended to aid in translating. It also has a nice feature, which shows translations in-place when editing code.
 | 
					We use vue-i18n package for internationalization. Translations are stored in json format located in [frontend/src/locales/messages](https://github.com/hay-kot/mealie/tree/master/frontend/src/locales/messages).
 | 
				
			||||||
i18n Ally will also show which languages is missing translations.
 | 
					
 | 
				
			||||||
 | 
					[i18n Ally for VScode](https://marketplace.visualstudio.com/items?itemName=lokalise.i18n-ally) is helpful for generating new strings to translate. It also has a nice feature, which shows translations in-place when editing code.
 | 
				
			||||||
		Reference in New Issue
	
	Block a user