30 lines
		
	
	
		
			847 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			847 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Translation
 | |
| ---
 | |
| 
 | |
| Translation in authentik is done in two places. Most of the text is defined in the frontend in `web/`, and a subset of messages is defined in the backend.
 | |
| 
 | |
| The frontend uses [lingui](https://lingui.js.org/), and the backend uses the built-in django translation tools.
 | |
| 
 | |
| ## Frontend
 | |
| 
 | |
| If you want to translate the frontend to a new language, ensure the language code is in the `package.json` file in `web/`:
 | |
| 
 | |
| ```json
 | |
|     // [...]
 | |
|     "lingui": {
 | |
|         // [...]
 | |
|         "locales": [
 | |
|             "en",
 | |
|             "pseudo-LOCALE",
 | |
|             "a-new-locale"
 | |
|         ],
 | |
|     // [...]
 | |
| ```
 | |
| 
 | |
| Afterwards, run `npx lingui extract` to generate a base .po file.
 | |
| 
 | |
| The .po files can be edited by any text editor, or using a tool such as [POEdit](https://poedit.net/).
 | |
| 
 | |
| To see the change, run `npm run watch` in the `web/` directory.
 | 
