Merge pull request #1559 from michelsalib/angular-translate

Definition files for angular-translate
This commit is contained in:
Basarat Ali Syed
2014-01-18 15:21:40 -08:00
3 changed files with 89 additions and 0 deletions

View File

@@ -32,6 +32,7 @@ List of Definitions
* [AmCharts](http://www.amcharts.com/) (by [Covobonomo](https://github.com/covobonomo/))
* [AngularJS](http://angularjs.org) (by [Diego Vilar](https://github.com/diegovilar)) ([wiki](https://github.com/borisyankov/DefinitelyTyped/wiki/AngularJS-Definitions-Usage-Notes))
* [AngularUI](http://angular-ui.github.io/) (by [Michel Salib](https://github.com/michelsalib))
* [Angular Translate](http://pascalprecht.github.io/angular-translate/) (by [Michel Salib](https://github.com/michelsalib))
* [Angular UI Bootstrap](http://angular-ui.github.io/bootstrap) (by [Brian Surowiec](https://github.com/xt0rted))
* [AppFramework](http://app-framework-software.intel.com/) (by [Kyo Ago](https://github.com/kyo-ago))
* [Arbiter](http://arbiterjs.com/) (by [Arash Shakery](https://github.com/arash16))

View File

@@ -0,0 +1,25 @@
/// <reference path="angular-translate.d.ts" />
var app = angular.module('at', ['pascalprecht.translate']);
app.config(($translateProvider: ng.translate.ITranslateProvider) => {
$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');
});
app.controller('Ctrl', ($scope: ng.IScope, $translate: ng.translate.ITranslateService) => {
$scope['changeLanguage'] = function (key: any) {
$translate.uses(key);
};
});

View File

@@ -0,0 +1,63 @@
// Type definitions for Angular Translate (pascalprecht.translate module)
// Project: https://github.com/PascalPrecht/angular-translate
// Definitions by: Michel Salib <michelsalib@hotmail.com>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../angularjs/angular.d.ts" />
declare module ng.translate {
interface ITranslationTable {
[key: string]: string;
}
interface IStorage {
get(name: string): string;
set(name: string, value: string): void;
}
interface ISTaticFilesLoaderOptions {
prefix: string;
suffix: string;
key?: string;
}
interface ITranslateService {
(key: string, ...params: string[]): string;
fallbackLanguage(): string;
preferredLanguage(): string;
proposedLanguage(): string;
refresh(lankKey: string): ng.IPromise<void>;
storage(): IStorage;
storageKey(): string;
uses(): string;
uses(key: string): ng.IPromise<string>;
}
interface ITranslateProvider extends ng.IServiceProvider {
translations(key: string, translationTable: ITranslationTable): ITranslateProvider;
addInterpolation(factory: any): ITranslateProvider;
useMessageFormatInterpolation(): ITranslateProvider;
useInterpolation(factory: string): ITranslateProvider;
preferredLanguage(): string;
preferredLanguage(language: string): ITranslateProvider;
translationNotFoundIndicator(indicator: string): ITranslateProvider;
translationNotFoundIndicatorLeft(): string;
translationNotFoundIndicatorLeft(indicator: string): ITranslateProvider;
translationNotFoundIndicatorRight(): string;
translationNotFoundIndicatorRight(indicator: string): ITranslateProvider;
fallbackLanguage(): string;
fallbackLanguage(language: string): ITranslateProvider;
uses(): string;
uses(key: string): ITranslateProvider;
useUrlLoader(url: string): ITranslateProvider;
useStaticFilesLoader(options: ISTaticFilesLoaderOptions): ITranslateProvider;
useLoader(loaderFactory: string, options: any): ITranslateProvider;
useLocalStorage(): ITranslateProvider;
useCookieStorage(): ITranslateProvider;
useStorage(storageFactory: any): ITranslateProvider;
storagePrefix(): string;
storagePrefix(prefix: string): ITranslateProvider;
useMissingTranslationHandlerLog(): ITranslateProvider;
useMissingTranslationHandler(factory: string): ITranslateProvider;
}
}