forked from DefinitelyTyped/DefinitelyTyped
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathi18next.d.ts
125 lines (100 loc) · 3.61 KB
/
i18next.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
// Type definitions for i18next v2.3.4
// Project: http://i18next.com
// Definitions by: Michael Ledin <https://github.com/mxl>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// Sources: https://github.com/i18next/i18next/
declare namespace I18next {
interface ResourceStore {
[language: string]: ResourceStoreLanguage;
}
interface ResourceStoreLanguage {
[namespace: string]: ResourceStoreKey;
}
interface ResourceStoreKey {
[key: string]: any;
}
interface InterpolationOptions {
escapeValue?: boolean;
prefix?: string;
suffix?: string;
prefixEscaped?: string;
suffixEscaped?: string;
unescapeSuffix?: string;
unescapePrefix?: string;
nestingPrefix?: string;
nestingSuffix?: string;
nestingPrefixEscaped?: string;
nestedSuffixEscaped?: string;
defaultVariables?: any;
}
interface TranslationOptions {
defaultValue?: string;
count?: number;
context?: any;
replace?: any;
lng?:string;
lngs?:string[];
fallbackLng?:string;
ns?:string|string[];
keySeparator?:string;
nsSeparator?:string;
returnObjects?:boolean;
joinArrays?:string;
postProcess?:string|any[];
interpolation?: InterpolationOptions;
}
interface Options {
debug?: boolean;
resources?: ResourceStore;
lng?: string;
fallbackLng?: string;
ns?: string|string[];
defaultNS?: string;
fallbackNS?: string|string[];
whitelist?:string[];
lowerCaseLng?: boolean;
load?: string
preload?: string[];
keySeparator?: string;
nsSeparator?: string;
pluralSeparator?: string;
contextSeparator?: string;
saveMissing?: boolean;
saveMissingTo?: string;
missingKeyHandler?: (lng:string, ns:string, key:string, fallbackValue:string) => void;
parseMissingKeyHandler?: (key:string) => void;
appendNamespaceToMissingKey?: boolean;
postProcess?: string|any[];
returnNull?: boolean;
returnEmptyString?: boolean;
returnObjects?: boolean;
returnedObjectHandler?: (key:string, value:string, options:any) => void;
joinArrays?: string;
overloadTranslationOptionHandler?: (args:any[]) => TranslationOptions;
interpolation?: InterpolationOptions;
detection?: any;
backend?: any;
cache?: any;
}
type TranslationFunction = (key:string, options?:TranslationOptions) => string;
class I18n {
constructor(options?:Options, callback?:(err:any, t:TranslationFunction) => void);
init(options?:Options, callback?:(err:any, t:TranslationFunction) => void):I18n;
loadResources(callback?:(err:any) => void):void;
use(module:any):I18n;
changeLanguage(lng:string, callback?:(err:any, t:TranslationFunction) => void):void;
getFixedT(lng?:string, ns?:string|string[]):TranslationFunction;
t(key:string, options?:TranslationOptions):string;
exists():boolean;
setDefaultNamespace(ns:string):void;
loadNamespaces(ns:string[], callback?:() => void):void;
loadLanguages(lngs:string[], callback?:()=>void):void;
dir(lng?:string):string;
createInstance(options?:Options, callback?:(err:any, t:TranslationFunction) => void):I18n;
cloneInstance(options?:Options, callback?:(err:any, t:TranslationFunction) => void):I18n;
}
}
declare module 'i18next' {
var i18n:I18next.I18n;
export = i18n;
}