Appended the checks of existing of translated attributes

This commit is contained in:
Константин Калинин
2015-02-27 14:06:30 +03:00
parent 707e848a50
commit 8a206e1e96

View File

@@ -8,7 +8,7 @@
* If you wish to translate some new texsts you should do two things: * 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. * 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'/>. * 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. * The main thing here is attribute data-sw-translate. Only inner text, title-attribute and value-attribute are going to translate.
* *
*/ */
SwaggerTranslator = { SwaggerTranslator = {
@@ -16,29 +16,38 @@ SwaggerTranslator = {
_words:[], _words:[],
translate: function() { translate: function() {
var $this = this; var $this = this;
$("[data-sw-translate]").each( $("[data-sw-translate]").each(
function() { function() {
$(this).html( if ($(this).text() && $(this).children().length == 0) {
$this._tryTranslate($(this).html()) $(this).text(
); $this._tryTranslate($(this).text())
$(this).val( );
$this._tryTranslate($(this).val()) }
);
$(this).attr( if ($(this).val()) {
'title', $(this).val(
$this._tryTranslate($(this).attr('title')) $this._tryTranslate($(this).val())
); );
} }
)
if ($(this).attr('title')) {
$(this).attr(
'title',
$this._tryTranslate($(this).attr('title'))
);
}
}
)
}, },
_tryTranslate: function(word) { _tryTranslate: function(word) {
return this._words[word] != undefined ? this._words[word] : word; return this._words[word] != undefined ? this._words[word] : word;
}, },
learn: function(wordsMap) { learn: function(wordsMap) {
this._words = wordsMap; this._words = wordsMap;
} }
} }