Мой текущий код очень неэффективен.
Я хотел бы сделать следующее:
$scope.variable
Прежде чем я попытаюсь достичь этого, есть ли лучший способ справиться с тем, что мне нужно? Если нет, можете ли вы предоставить стартовый бал? Чтобы быть конкретным, я не знаю, как создать.json таким образом, мне нужно просто заполнить его значениями.
Мой текущий код, который я хочу улучшить, заключается в следующем:
app.controller('languagesCtrl', function($scope) {
$scope.lang = window.navigator.language || window.navigator.userLanguage;
$scope.setItalian = function() {
$scope.english = 'Inglese';
$scope.italian = 'Italiano';
$scope.cart = 'Carrello';
$scope.menu = 'Menu';
$scope.cta = 'Nuova collezione strumenti';
};
$scope.setEnglish = function() {
$scope.english = 'English';
$scope.italian = 'Italian';
$scope.cart = 'Cart';
$scope.menu = 'Menu';
$scope.cta = 'Check out new products!';
};
if ($scope.lang === 'it' || $scope.lang === 'it-it' || $scope.lang === 'it-IT') {
$scope.setItalian();
} else {
$scope.setEnglish();
}
$scope.setLanguage = function(changeLang) {
if (changeLang === 'en') {
$scope.setEnglish();
} else if (changeLang === 'it') {
$scope.setItalian();
}
};
});
если вы не хотите использовать угловой перевод, вы можете использовать что-то вроде этого:
app.controller('languagesCtrl', function($scope, $http) {
$scope.lang = window.navigator.language || window.navigator.userLanguage;
$scope.message = {}
if ($scope.lang === 'it' || $scope.lang === 'it-it' || $scope.lang === 'it-IT') {
$scope.setLanguage('it');
} else {
$scope.setLanguage('us');
}
$scope.setLanguage = function(lang) {
$http.get('language/' + lang + '.json').then(function(result) {
$scope.message = result.data;
});
};
});