mirror of
				https://github.com/yiisoft/yii2.git
				synced 2025-11-04 06:37:55 +08:00 
			
		
		
		
	otherwise parsing them is not easy. also translation becomes redundant. We now introduce a json file to have translations for these blocks in a central place. see also https://github.com/yiisoft-contrib/yiiframework.com/issues/77#issuecomment-164208003
		
			
				
	
	
		
			48 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			2.4 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](http://en.wikipedia.org/wiki/IETF_language_tag), for example,
 | 
						|
   `ru`, `zh-CN`.
 | 
						|
2. Go to `framework` and run `./yii message/extract --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 --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).
 |