40 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| /**
 | |
|  * Translator for documentation pages.
 | |
|  *
 | |
|  * To enable translation you should include one of language-files in your index.html
 | |
|  * after <script src='lang/translator.js' type='text/javascript'></script>.
 | |
|  * For example - <script src='lang/ru.js' type='text/javascript'></script>
 | |
|  *
 | |
|  * If you wish to translate some new texsts you should do two things:
 | |
|  * 1. Add a new phrase pair ("New Phrase": "New Translation") into your language file (for example lang/ru.js). It will be great if you add it in other language files too.
 | |
|  * 2. Mark that text it templates this way <anyHtmlTag data-sw-translate>New Phrase</anyHtmlTag> or <anyHtmlTag data-sw-translate value='New Phrase'/>.
 | |
|  * The main thing here is attribute data-sw-translate. Only inner html, title-attribute and value-attribute are going to translate.
 | |
|  *
 | |
|  */
 | |
| window.SwaggerTranslator = {
 | |
| 
 | |
|     _words:[],
 | |
| 
 | |
|     translate: function(sel) {
 | |
|       var $this = this;
 | |
|       sel = sel || '[data-sw-translate]';
 | |
| 
 | |
|       $(sel).each(function() {
 | |
|         $(this).html($this._tryTranslate($(this).html()));
 | |
| 
 | |
|         $(this).val($this._tryTranslate($(this).val()));
 | |
|         $(this).attr('title', $this._tryTranslate($(this).attr('title')));
 | |
|       });
 | |
|     },
 | |
| 
 | |
|     _tryTranslate: function(word) {
 | |
|       return this._words[$.trim(word)] !== undefined ? this._words[$.trim(word)] : word;
 | |
|     },
 | |
| 
 | |
|     learn: function(wordsMap) {
 | |
|       this._words = wordsMap;
 | |
|     }
 | |
| };
 | 
