mirror of
				https://github.com/yiisoft/yii2.git
				synced 2025-10-31 02:28:35 +08:00 
			
		
		
		
	 c3ca164be2
			
		
	
	c3ca164be2
	
	
	
		
			
			* Update links (internals) * Update links (internals) * Update links (internals) * Update links (internals) * Update links (internals) * Update links (internals) * Update links (internals) * Update links (internals) * Update links (internals) * Update links (internals) * Update links (internals) * Update links (internals) * Update links (internals) * Update links (internals) * Update links (internals) * Update links (internals) * Update links (internals) * Update links (internals) * Update links (internals) * Update links (internals) * Update links (internals) * Update links (internals)
		
			
				
	
	
		
			48 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| Translation workflow
 | |
| ====================
 | |
| 
 | |
| Yii is translated in many languages in order to be useful for international applications and developers. Two main areas
 | |
| where contribution is very welcome are documentation and framework messages.
 | |
| 
 | |
| Framework messages
 | |
| ------------------
 | |
| 
 | |
| The framework has two types of messages: exceptions that are intended to developer and are never translated and messages
 | |
| that are actually visible to the end user such as validation errors.
 | |
| 
 | |
| In order to start with message translation:
 | |
| 
 | |
| 1. Check `framework/messages/config.php` and make sure your language is listed in `languages`. If not,
 | |
|    add your language there (remember to keep the list in alphabetical order). The format of language code
 | |
|    should follow [IETF language tag spec](https://en.wikipedia.org/wiki/IETF_language_tag), for example,
 | |
|    `ru`, `zh-CN`.
 | |
| 2. Go to `framework` and run `./yii message/extract @yii/messages/config.php --languages=<your_language>`.
 | |
| 3. Translate messages in `framework/messages/your_language/yii.php`. Make sure file is saved using UTF-8 encoding.
 | |
| 4. [Make a pull request](git-workflow.md).
 | |
| 
 | |
| In order to keep your translation up to date you may run `./yii message/extract @yii/messages/config.php --languages=<your_language>` again. It will
 | |
| automatically re-extract messages keeping unchanged ones intact.
 | |
| 
 | |
| In the translation file each array element represents the translation (value) of a message (key). If the value is empty,
 | |
| the message is considered as not translated. Messages that no longer need translation will have their translations
 | |
| enclosed between a pair of '@@' marks. Message string can be used with plural forms format. Check [i18n section
 | |
| of the guide](../guide/tutorial-i18n.md) for details.
 | |
| 
 | |
| Documentation
 | |
| -------------
 | |
| 
 | |
| Put documentation translations under `docs/<original>-<language>` where `<original>` is the original documentation name
 | |
| such as `guide` or `internals` and `<language>` is the language code of the language docs are translated to. For the
 | |
| Russian guide translation it is `docs/guide-ru`.
 | |
| 
 | |
| After initial work is done you can get what's changed since last translation of the file using a special command from
 | |
| `build` directory:
 | |
| 
 | |
| ```
 | |
| php build translation "../docs/guide" "../docs/guide-ru" "Russian guide translation report" > report_guide_ru.html
 | |
| ```
 | |
| 
 | |
| If it will complain about composer, perform `composer install` in the source root dir.
 | |
| 
 | |
| For information on the documentation syntax and style guide, see [documentation_style_guide.md](../documentation_style_guide.md).
 |