Directive
app.directive('languageSeletion', function (languageData) {
return {
restrict: 'EA',
replace: true,
scope: {
key: "@"
},
link: function (scope, element, attr) {
var value = languageData.convertData(scope.key);
debugger
element.html(value);
}
}
});
app.directive('languageSeletion', function (languageData) {
return {
restrict: 'EA',
replace: true,
scope: {
key: "@"
},
link: function (scope, element, attr) {
var value = languageData.convertData(scope.key);
debugger
element.html(value);
}
}
});
Factory
app.factory('languageData', function (xmlTojson,$rootScope) {
function xmlToString(xmlData) {
return (new XMLSerializer()).serializeToString(xmlData);
}
return {
convertData: function (key) {
var result;
$.ajax({
url: 'data/arabic.xml',
dataType: 'xml',
contentType:'application/xml',
async: false,
success: function (data) {
var jsonData = JSON.parse(xmlTojson.convertXMLToJSON(xmlToString(data))).Resources.key;
$.each(jsonData, function (index, value) {
if (value._value == key) {
if ($rootScope.language == 'EN') {
result = value.EN;
}
else {
result = value.AE;
}
return false;
}
});
}
});
return result;
}
}
});
app.factory('xmlTojson', function () {
var x2js = new X2JS();
return {
convertXMLToJSON: function (data) {
return JSON.stringify(x2js.xml_str2json(data));
}
}
});
HTML
<script src="scripts/xml2json.js"></script>
<span class="input-label textAlignCenter colorTheme" language-seletion key="About"></span>

