DefinitelyTyped/types/angular-translate/angular-translate-tests.ts

55 lines
1.7 KiB
TypeScript
Raw Permalink Normal View History

import * as angular from 'angular';
import * as angularTranslate from 'angular-translate';
2016-05-10 19:22:25 +00:00
var app = angular.module('at', [angularTranslate]);
2014-01-17 14:32:37 +00:00
app.factory('customLoader', ($q:angular.IQService) => {
return (options:any) => {
var dfd:angular.IDeferred<string> = $q.defer();
dfd.resolve('whatever you wanted to translate, I simply know nothing about the language with the key ' + options.key);
return dfd.promise;
}
});
app.config(($translateProvider: angular.translate.ITranslateProvider) => {
2014-01-17 14:32:37 +00:00
$translateProvider.translations('en', {
TITLE: 'Hello',
FOO: 'This is a paragraph.',
BUTTON_LANG_EN: 'english',
BUTTON_LANG_DE: 'german'
});
$translateProvider.translations('de', {
TITLE: 'Hallo',
FOO: 'Dies ist ein Paragraph.',
BUTTON_LANG_EN: 'englisch',
BUTTON_LANG_DE: 'deutsch'
});
$translateProvider.preferredLanguage('en');
$translateProvider.useLoader('customLoader');
$translateProvider.forceAsyncReload(true);
2014-01-17 14:32:37 +00:00
});
interface Scope extends ng.IScope {
changeLanguage(key: any): void;
}
app.controller('Ctrl', ($scope: Scope, $translate: angular.translate.ITranslateService) => {
2014-01-18 13:21:31 +00:00
$scope['changeLanguage'] = function (key: any) {
2020-05-15 02:20:31 +00:00
$translate.onReady().then(() => {
if($translate.isReady()) {
$translate.use(key);
}
});
2014-01-17 14:32:37 +00:00
};
}).run(($filter: ng.IFilterService) => {
var x: string;
x = $filter('translate')('something');
x = $filter('translate')('something', {});
x = $filter('translate')('something', {}, '');
var o = $filter('translate')(['a', 'b', 'c']);
o.a;
o.b;
o.c;
2014-01-17 14:32:37 +00:00
});