diff --git a/README.md b/README.md index d2affa36db..8183ef1c42 100755 --- a/README.md +++ b/README.md @@ -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)) diff --git a/angular-translate/angular-translate-tests.ts b/angular-translate/angular-translate-tests.ts new file mode 100644 index 0000000000..7cb6c89c38 --- /dev/null +++ b/angular-translate/angular-translate-tests.ts @@ -0,0 +1,25 @@ +/// + +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); + }; +}); diff --git a/angular-translate/angular-translate.d.ts b/angular-translate/angular-translate.d.ts new file mode 100644 index 0000000000..aac4a74126 --- /dev/null +++ b/angular-translate/angular-translate.d.ts @@ -0,0 +1,63 @@ +// Type definitions for Angular Translate (pascalprecht.translate module) +// Project: https://github.com/PascalPrecht/angular-translate +// Definitions by: Michel Salib +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + +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; + storage(): IStorage; + storageKey(): string; + uses(): string; + uses(key: string): ng.IPromise; + } + + 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; + } +}