Tuesday, 30 May 2017

Convert Language From English To Arabic From Directive

No comments
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);          
        }
    }
});


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>