mirror of
https://github.com/retailcrm/NelmioApiDocBundle.git
synced 2025-02-03 16:19:26 +03:00
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 texts 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;
|
|
}
|
|
};
|