@taon-dev/i18n 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/VERIFIED-BUILD-DATA.jsonc +5 -0
- package/assets/shared/shared_folder_info.txt +7 -0
- package/bin/i18n +5 -0
- package/bin/i18n-debug +5 -0
- package/bin/i18n-debug-brk +4 -0
- package/bin/start.js +38 -0
- package/browser/README.md +24 -0
- package/browser/fesm2022/i18n-browser.mjs +521 -0
- package/browser/fesm2022/i18n-browser.mjs.map +1 -0
- package/browser/package.json +23 -0
- package/browser/types/i18n-browser.d.ts +353 -0
- package/browser-prod/README.md +24 -0
- package/browser-prod/fesm2022/i18n-browser-prod.mjs +521 -0
- package/browser-prod/fesm2022/i18n-browser-prod.mjs.map +1 -0
- package/browser-prod/package.json +23 -0
- package/browser-prod/types/i18n-browser-prod.d.ts +353 -0
- package/browser-prod.re-export.json +1 -0
- package/browser-prod.split-namespaces.json +4 -0
- package/cli.d.ts +1 -0
- package/cli.js +8 -0
- package/cli.js.map +1 -0
- package/html/assets/generated/pwa/html-pwa.html +60 -0
- package/html/imports.html +3 -0
- package/index.d.ts +3 -0
- package/index.js +20 -0
- package/index.js.map +1 -0
- package/lib/build-info._auto-generated_.d.ts +24 -0
- package/lib/build-info._auto-generated_.js +30 -0
- package/lib/build-info._auto-generated_.js.map +1 -0
- package/lib/env/env.angular-node-app.d.ts +67 -0
- package/lib/env/env.angular-node-app.js +141 -0
- package/lib/env/env.angular-node-app.js.map +1 -0
- package/lib/env/env.docs-webapp.d.ts +67 -0
- package/lib/env/env.docs-webapp.js +141 -0
- package/lib/env/env.docs-webapp.js.map +1 -0
- package/lib/env/env.electron-app.d.ts +67 -0
- package/lib/env/env.electron-app.js +141 -0
- package/lib/env/env.electron-app.js.map +1 -0
- package/lib/env/env.mobile-app.d.ts +67 -0
- package/lib/env/env.mobile-app.js +141 -0
- package/lib/env/env.mobile-app.js.map +1 -0
- package/lib/env/env.npm-lib-and-cli-tool.d.ts +67 -0
- package/lib/env/env.npm-lib-and-cli-tool.js +141 -0
- package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -0
- package/lib/env/env.vscode-plugin.d.ts +67 -0
- package/lib/env/env.vscode-plugin.js +141 -0
- package/lib/env/env.vscode-plugin.js.map +1 -0
- package/lib/env/index.d.ts +6 -0
- package/lib/env/index.js +23 -0
- package/lib/env/index.js.map +1 -0
- package/lib/features/index.d.ts +4 -0
- package/lib/features/index.js +21 -0
- package/lib/features/index.js.map +1 -0
- package/lib/features/types.d.ts +4 -0
- package/lib/features/types.js +3 -0
- package/lib/features/types.js.map +1 -0
- package/lib/features/withLanguageLocalStorageSync.d.ts +9 -0
- package/lib/features/withLanguageLocalStorageSync.js +39 -0
- package/lib/features/withLanguageLocalStorageSync.js.map +1 -0
- package/lib/features/withNavigatorLanguage.d.ts +6 -0
- package/lib/features/withNavigatorLanguage.js +29 -0
- package/lib/features/withNavigatorLanguage.js.map +1 -0
- package/lib/features/withPreloadScopes.d.ts +8 -0
- package/lib/features/withPreloadScopes.js +25 -0
- package/lib/features/withPreloadScopes.js.map +1 -0
- package/lib/features/withServerSideLanguage.d.ts +6 -0
- package/lib/features/withServerSideLanguage.js +29 -0
- package/lib/features/withServerSideLanguage.js.map +1 -0
- package/lib/features/withTranslatedTitle.d.ts +34 -0
- package/lib/features/withTranslatedTitle.js +69 -0
- package/lib/features/withTranslatedTitle.js.map +1 -0
- package/lib/index._auto-generated_.d.ts +16 -0
- package/lib/index._auto-generated_.js +38 -0
- package/lib/index._auto-generated_.js.map +1 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.js +20 -0
- package/lib/index.js.map +1 -0
- package/lib/internals.d.ts +2 -0
- package/lib/internals.js +6 -0
- package/lib/internals.js.map +1 -0
- package/lib/package.json +4 -0
- package/lib/start-cli.d.ts +7 -0
- package/lib/start-cli.js +46 -0
- package/lib/start-cli.js.map +1 -0
- package/lib/transignal-config.d.ts +34 -0
- package/lib/transignal-config.js +42 -0
- package/lib/transignal-config.js.map +1 -0
- package/lib/transignal-param-handlers.d.ts +11 -0
- package/lib/transignal-param-handlers.js +31 -0
- package/lib/transignal-param-handlers.js.map +1 -0
- package/lib/transignal-service.d.ts +32 -0
- package/lib/transignal-service.js +206 -0
- package/lib/transignal-service.js.map +1 -0
- package/lib/transignal-testing.d.ts +8 -0
- package/lib/transignal-testing.js +14 -0
- package/lib/transignal-testing.js.map +1 -0
- package/lib/types.d.ts +124 -0
- package/lib/types.js +3 -0
- package/lib/types.js.map +1 -0
- package/lib/utility-types.d.ts +29 -0
- package/lib/utility-types.js +3 -0
- package/lib/utility-types.js.map +1 -0
- package/lib/utils.d.ts +15 -0
- package/lib/utils.js +20 -0
- package/lib/utils.js.map +1 -0
- package/lib-esm/app.d.ts +3 -0
- package/lib-esm/app.electron.d.ts +1 -0
- package/lib-esm/app.electron.js +2 -0
- package/lib-esm/app.electron.js.map +1 -0
- package/lib-esm/app.hosts.d.ts +95 -0
- package/lib-esm/app.hosts.js +157 -0
- package/lib-esm/app.hosts.js.map +1 -0
- package/lib-esm/app.js +460 -0
- package/lib-esm/app.js.map +1 -0
- package/lib-esm/app.vscode.d.ts +9 -0
- package/lib-esm/app.vscode.js +37 -0
- package/lib-esm/app.vscode.js.map +1 -0
- package/lib-esm/cli.d.ts +1 -0
- package/lib-esm/cli.js +4 -0
- package/lib-esm/cli.js.map +1 -0
- package/lib-esm/index.d.ts +3 -0
- package/lib-esm/index.js +4 -0
- package/lib-esm/index.js.map +1 -0
- package/lib-esm/lib/build-info._auto-generated_.d.ts +24 -0
- package/lib-esm/lib/build-info._auto-generated_.js +27 -0
- package/lib-esm/lib/build-info._auto-generated_.js.map +1 -0
- package/lib-esm/lib/env/env.angular-node-app.d.ts +67 -0
- package/lib-esm/lib/env/env.angular-node-app.js +137 -0
- package/lib-esm/lib/env/env.angular-node-app.js.map +1 -0
- package/lib-esm/lib/env/env.docs-webapp.d.ts +67 -0
- package/lib-esm/lib/env/env.docs-webapp.js +137 -0
- package/lib-esm/lib/env/env.docs-webapp.js.map +1 -0
- package/lib-esm/lib/env/env.electron-app.d.ts +67 -0
- package/lib-esm/lib/env/env.electron-app.js +137 -0
- package/lib-esm/lib/env/env.electron-app.js.map +1 -0
- package/lib-esm/lib/env/env.mobile-app.d.ts +67 -0
- package/lib-esm/lib/env/env.mobile-app.js +137 -0
- package/lib-esm/lib/env/env.mobile-app.js.map +1 -0
- package/lib-esm/lib/env/env.npm-lib-and-cli-tool.d.ts +67 -0
- package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js +137 -0
- package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js.map +1 -0
- package/lib-esm/lib/env/env.vscode-plugin.d.ts +67 -0
- package/lib-esm/lib/env/env.vscode-plugin.js +137 -0
- package/lib-esm/lib/env/env.vscode-plugin.js.map +1 -0
- package/lib-esm/lib/env/index.d.ts +6 -0
- package/lib-esm/lib/env/index.js +7 -0
- package/lib-esm/lib/env/index.js.map +1 -0
- package/lib-esm/lib/features/index.d.ts +4 -0
- package/lib-esm/lib/features/index.js +5 -0
- package/lib-esm/lib/features/index.js.map +1 -0
- package/lib-esm/lib/features/types.d.ts +4 -0
- package/lib-esm/lib/features/types.js +2 -0
- package/lib-esm/lib/features/types.js.map +1 -0
- package/lib-esm/lib/features/withLanguageLocalStorageSync.d.ts +9 -0
- package/lib-esm/lib/features/withLanguageLocalStorageSync.js +35 -0
- package/lib-esm/lib/features/withLanguageLocalStorageSync.js.map +1 -0
- package/lib-esm/lib/features/withNavigatorLanguage.d.ts +6 -0
- package/lib-esm/lib/features/withNavigatorLanguage.js +25 -0
- package/lib-esm/lib/features/withNavigatorLanguage.js.map +1 -0
- package/lib-esm/lib/features/withPreloadScopes.d.ts +8 -0
- package/lib-esm/lib/features/withPreloadScopes.js +21 -0
- package/lib-esm/lib/features/withPreloadScopes.js.map +1 -0
- package/lib-esm/lib/features/withServerSideLanguage.d.ts +6 -0
- package/lib-esm/lib/features/withServerSideLanguage.js +25 -0
- package/lib-esm/lib/features/withServerSideLanguage.js.map +1 -0
- package/lib-esm/lib/features/withTranslatedTitle.d.ts +34 -0
- package/lib-esm/lib/features/withTranslatedTitle.js +65 -0
- package/lib-esm/lib/features/withTranslatedTitle.js.map +1 -0
- package/lib-esm/lib/index._auto-generated_.d.ts +16 -0
- package/lib-esm/lib/index._auto-generated_.js +22 -0
- package/lib-esm/lib/index._auto-generated_.js.map +1 -0
- package/lib-esm/lib/index.d.ts +4 -0
- package/lib-esm/lib/index.js +4 -0
- package/lib-esm/lib/index.js.map +1 -0
- package/lib-esm/lib/internals.d.ts +2 -0
- package/lib-esm/lib/internals.js +3 -0
- package/lib-esm/lib/internals.js.map +1 -0
- package/lib-esm/lib/start-cli.d.ts +7 -0
- package/lib-esm/lib/start-cli.js +43 -0
- package/lib-esm/lib/start-cli.js.map +1 -0
- package/lib-esm/lib/transignal-config.d.ts +34 -0
- package/lib-esm/lib/transignal-config.js +36 -0
- package/lib-esm/lib/transignal-config.js.map +1 -0
- package/lib-esm/lib/transignal-param-handlers.d.ts +11 -0
- package/lib-esm/lib/transignal-param-handlers.js +25 -0
- package/lib-esm/lib/transignal-param-handlers.js.map +1 -0
- package/lib-esm/lib/transignal-service.d.ts +32 -0
- package/lib-esm/lib/transignal-service.js +197 -0
- package/lib-esm/lib/transignal-service.js.map +1 -0
- package/lib-esm/lib/transignal-testing.d.ts +8 -0
- package/lib-esm/lib/transignal-testing.js +10 -0
- package/lib-esm/lib/transignal-testing.js.map +1 -0
- package/lib-esm/lib/types.d.ts +124 -0
- package/lib-esm/lib/types.js +2 -0
- package/lib-esm/lib/types.js.map +1 -0
- package/lib-esm/lib/utility-types.d.ts +29 -0
- package/lib-esm/lib/utility-types.js +2 -0
- package/lib-esm/lib/utility-types.js.map +1 -0
- package/lib-esm/lib/utils.d.ts +15 -0
- package/lib-esm/lib/utils.js +15 -0
- package/lib-esm/lib/utils.js.map +1 -0
- package/lib-prod/build-info._auto-generated_.d.ts +24 -0
- package/lib-prod/build-info._auto-generated_.js +27 -0
- package/lib-prod/build-info._auto-generated_.js.map +1 -0
- package/lib-prod/env/env.angular-node-app.d.ts +67 -0
- package/lib-prod/env/env.angular-node-app.js +137 -0
- package/lib-prod/env/env.angular-node-app.js.map +1 -0
- package/lib-prod/env/env.docs-webapp.d.ts +67 -0
- package/lib-prod/env/env.docs-webapp.js +137 -0
- package/lib-prod/env/env.docs-webapp.js.map +1 -0
- package/lib-prod/env/env.electron-app.d.ts +67 -0
- package/lib-prod/env/env.electron-app.js +137 -0
- package/lib-prod/env/env.electron-app.js.map +1 -0
- package/lib-prod/env/env.mobile-app.d.ts +67 -0
- package/lib-prod/env/env.mobile-app.js +137 -0
- package/lib-prod/env/env.mobile-app.js.map +1 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +67 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.js +137 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +1 -0
- package/lib-prod/env/env.vscode-plugin.d.ts +67 -0
- package/lib-prod/env/env.vscode-plugin.js +137 -0
- package/lib-prod/env/env.vscode-plugin.js.map +1 -0
- package/lib-prod/env/index.d.ts +6 -0
- package/lib-prod/env/index.js +7 -0
- package/lib-prod/env/index.js.map +1 -0
- package/lib-prod/features/index.d.ts +4 -0
- package/lib-prod/features/index.js +5 -0
- package/lib-prod/features/index.js.map +1 -0
- package/lib-prod/features/types.d.ts +4 -0
- package/lib-prod/features/types.js +2 -0
- package/lib-prod/features/types.js.map +1 -0
- package/lib-prod/features/withLanguageLocalStorageSync.d.ts +9 -0
- package/lib-prod/features/withLanguageLocalStorageSync.js +35 -0
- package/lib-prod/features/withLanguageLocalStorageSync.js.map +1 -0
- package/lib-prod/features/withNavigatorLanguage.d.ts +6 -0
- package/lib-prod/features/withNavigatorLanguage.js +25 -0
- package/lib-prod/features/withNavigatorLanguage.js.map +1 -0
- package/lib-prod/features/withPreloadScopes.d.ts +8 -0
- package/lib-prod/features/withPreloadScopes.js +21 -0
- package/lib-prod/features/withPreloadScopes.js.map +1 -0
- package/lib-prod/features/withServerSideLanguage.d.ts +6 -0
- package/lib-prod/features/withServerSideLanguage.js +25 -0
- package/lib-prod/features/withServerSideLanguage.js.map +1 -0
- package/lib-prod/features/withTranslatedTitle.d.ts +34 -0
- package/lib-prod/features/withTranslatedTitle.js +65 -0
- package/lib-prod/features/withTranslatedTitle.js.map +1 -0
- package/lib-prod/index._auto-generated_.d.ts +16 -0
- package/lib-prod/index._auto-generated_.js +22 -0
- package/lib-prod/index._auto-generated_.js.map +1 -0
- package/lib-prod/index.d.ts +4 -0
- package/lib-prod/index.js +4 -0
- package/lib-prod/index.js.map +1 -0
- package/lib-prod/internals.d.ts +2 -0
- package/lib-prod/internals.js +3 -0
- package/lib-prod/internals.js.map +1 -0
- package/lib-prod/package.json +4 -0
- package/lib-prod/start-cli.d.ts +7 -0
- package/lib-prod/start-cli.js +43 -0
- package/lib-prod/start-cli.js.map +1 -0
- package/lib-prod/transignal-config.d.ts +34 -0
- package/lib-prod/transignal-config.js +36 -0
- package/lib-prod/transignal-config.js.map +1 -0
- package/lib-prod/transignal-param-handlers.d.ts +11 -0
- package/lib-prod/transignal-param-handlers.js +25 -0
- package/lib-prod/transignal-param-handlers.js.map +1 -0
- package/lib-prod/transignal-service.d.ts +32 -0
- package/lib-prod/transignal-service.js +197 -0
- package/lib-prod/transignal-service.js.map +1 -0
- package/lib-prod/transignal-testing.d.ts +8 -0
- package/lib-prod/transignal-testing.js +10 -0
- package/lib-prod/transignal-testing.js.map +1 -0
- package/lib-prod/types.d.ts +124 -0
- package/lib-prod/types.js +2 -0
- package/lib-prod/types.js.map +1 -0
- package/lib-prod/utility-types.d.ts +29 -0
- package/lib-prod/utility-types.js +2 -0
- package/lib-prod/utility-types.js.map +1 -0
- package/lib-prod/utils.d.ts +15 -0
- package/lib-prod/utils.js +15 -0
- package/lib-prod/utils.js.map +1 -0
- package/lib-prod.re-export.json +1 -0
- package/lib-prod.split-namespaces.json +4 -0
- package/package.json +39 -0
- package/scss/global.scss +94 -0
- package/scss/index.scss +2 -0
- package/scss/lib/index.scss +2 -0
- package/scss/vars.scss +7 -0
- package/src.d.ts +6 -0
- package/src.js +4 -0
- package/websql/README.md +24 -0
- package/websql/fesm2022/i18n-websql.mjs +521 -0
- package/websql/fesm2022/i18n-websql.mjs.map +1 -0
- package/websql/package.json +23 -0
- package/websql/types/i18n-websql.d.ts +353 -0
- package/websql-prod/README.md +24 -0
- package/websql-prod/fesm2022/i18n-websql-prod.mjs +521 -0
- package/websql-prod/fesm2022/i18n-websql-prod.mjs.map +1 -0
- package/websql-prod/package.json +23 -0
- package/websql-prod/types/i18n-websql-prod.d.ts +353 -0
- package/websql-prod.re-export.json +1 -0
- package/websql-prod.split-namespaces.json +4 -0
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import * as i18n_websql_prod from 'i18n/websql-prod';
|
|
3
|
+
import * as _angular_core from '@angular/core';
|
|
4
|
+
import { EnvironmentProviders, Signal, InjectionToken } from '@angular/core';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Autogenerated by current cli tool
|
|
8
|
+
*/
|
|
9
|
+
declare const BUILD_FRAMEWORK_CLI_NAME = "tnp";
|
|
10
|
+
/**
|
|
11
|
+
* This value can be change in taon.jsonc (appId)
|
|
12
|
+
*/
|
|
13
|
+
declare const APP_ID = "com.domain.example.i18n";
|
|
14
|
+
/**
|
|
15
|
+
* Autogenerated by current cli tool
|
|
16
|
+
*/
|
|
17
|
+
declare const BUILD_BASE_HREF = "";
|
|
18
|
+
/**
|
|
19
|
+
* This value can be change in taon.jsonc (overrideNpmName)
|
|
20
|
+
*/
|
|
21
|
+
declare const PROJECT_NPM_NAME = "@taon-dev/i18n";
|
|
22
|
+
/**
|
|
23
|
+
* Taon version from you project taon.json
|
|
24
|
+
*/
|
|
25
|
+
declare const CURRENT_PACKAGE_TAON_VERSION = "v21";
|
|
26
|
+
/**
|
|
27
|
+
* Autogenerated by current cli tool. Use *tnp release* to bump version.
|
|
28
|
+
*/
|
|
29
|
+
declare const CURRENT_PACKAGE_VERSION = "0.0.1";
|
|
30
|
+
|
|
31
|
+
declare const INTERNAL_TRANSIGNAL_CONFIG: unique symbol;
|
|
32
|
+
declare const TREE_SHAKED_TRANSLATIONS: unique symbol;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
*
|
|
36
|
+
* @param argsv process.argsv
|
|
37
|
+
* @param filename needed if you want ipc communicaiton
|
|
38
|
+
*/
|
|
39
|
+
declare function startCli(argsv: string[], filename: string): Promise<void>;
|
|
40
|
+
|
|
41
|
+
type TransignalFeature<Languages extends string, Translations extends Record<string, Record<string, unknown>>> = {
|
|
42
|
+
providers: EnvironmentProviders[];
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
type ParamHandler = (translation: string, params?: TranslateParams) => string;
|
|
46
|
+
/**
|
|
47
|
+
* Param handler which allows for specification of basic params: `{name}`
|
|
48
|
+
*
|
|
49
|
+
* @param translation Translated text
|
|
50
|
+
* @param params Params provided to translation function
|
|
51
|
+
*/
|
|
52
|
+
declare const simpleParamsHandler: ParamHandler;
|
|
53
|
+
declare const noParamsHandler: ParamHandler;
|
|
54
|
+
declare const simpleParamValueStringify: (paramValue: unknown) => any;
|
|
55
|
+
|
|
56
|
+
type GetNestedType<T, P extends string> = P extends `${infer Key}.${infer Rest}` ? Key extends keyof T ? GetNestedType<T[Key], Rest> : never : P extends keyof T ? NonNullable<T[P]> : never;
|
|
57
|
+
type DotPrefix<T extends string> = T extends '' ? '' : `.${T}`;
|
|
58
|
+
type Paths<T> = T extends object ? T extends Array<infer U> ? `${number}${'' | DotPrefix<Paths<U>>}` : {
|
|
59
|
+
[K in keyof T]-?: K extends string | number ? `${K}${'' | DotPrefix<Paths<T[K]>>}` : never;
|
|
60
|
+
}[keyof T] : '';
|
|
61
|
+
type ArrayPaths<T> = {
|
|
62
|
+
[P in Paths<T>]: GetNestedType<T, P> extends Array<unknown> ? P : never;
|
|
63
|
+
}[Paths<T>];
|
|
64
|
+
type ObjectPaths<T> = {
|
|
65
|
+
[P in Paths<T>]: GetNestedType<T, P> extends Record<any, unknown> ? P : never;
|
|
66
|
+
}[Paths<T>];
|
|
67
|
+
type PluralPaths<T> = {
|
|
68
|
+
[P in Paths<T>]: GetNestedType<T, P> extends PluralTranslation ? P : never;
|
|
69
|
+
}[Paths<T>];
|
|
70
|
+
type SelectPaths<T> = {
|
|
71
|
+
[P in Paths<T>]: GetNestedType<T, P> extends SelectTranslation ? P : never;
|
|
72
|
+
}[Paths<T>];
|
|
73
|
+
type StringPaths<T> = {
|
|
74
|
+
[P in Paths<T>]: GetNestedType<T, P> extends string ? P : never;
|
|
75
|
+
}[Paths<T>];
|
|
76
|
+
type StringKeys<T> = Extract<keyof T, string>;
|
|
77
|
+
type ResourceRefLike<T> = {
|
|
78
|
+
value: Signal<T | undefined>;
|
|
79
|
+
isLoading: Signal<boolean>;
|
|
80
|
+
error: Signal<Error | undefined>;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
type TransignalError =
|
|
84
|
+
/** Error when key is not found in translations */
|
|
85
|
+
'missing_key'
|
|
86
|
+
/** Error when translation file for scope and lang has not been found */
|
|
87
|
+
| 'missing_file'
|
|
88
|
+
/** Error plural for a value is not defined for a language */
|
|
89
|
+
| 'missing_plural'
|
|
90
|
+
/** Error when plural used on a non-plural translation */
|
|
91
|
+
| 'invalid_plural'
|
|
92
|
+
/** Error select for a value is not defined for a language */
|
|
93
|
+
| 'missing_select'
|
|
94
|
+
/** Error when select used on a non-select translation */
|
|
95
|
+
| 'invalid_select'
|
|
96
|
+
/** Error when prefix chain is called more then {@link TransignalConfig.maxPrefixDepth} */
|
|
97
|
+
| 'prefix_too_deep';
|
|
98
|
+
type TranslateParams = Record<string, unknown>;
|
|
99
|
+
type Marked<K, T> = K & {
|
|
100
|
+
__marker: T;
|
|
101
|
+
};
|
|
102
|
+
type BasePluralTranslation = Partial<Record<number | 'one' | 'few' | 'many' | 'other', string>>;
|
|
103
|
+
type PluralTranslation = Marked<BasePluralTranslation, 'plural'>;
|
|
104
|
+
type BaseSelectTranslation = Partial<Record<string | number | 'null', string>>;
|
|
105
|
+
type MarkedAsSelect<T extends BaseSelectTranslation> = Marked<T, 'select'>;
|
|
106
|
+
type SelectTranslation = MarkedAsSelect<BaseSelectTranslation>;
|
|
107
|
+
type TranslateFn<Keys extends string, Result> = (key: Keys, params?: TranslateParams) => Result;
|
|
108
|
+
type TranslateObj<Context extends Record<string, any>> = TranslateFn<StringPaths<Context>, string> & {
|
|
109
|
+
/**
|
|
110
|
+
* Returns translating function that returns an array of translations
|
|
111
|
+
* @param key path of translation
|
|
112
|
+
* @param params parameters of translation in syntax defined by {@link TransignalConfig.paramHandler}
|
|
113
|
+
*/
|
|
114
|
+
arr: <ArrKey extends ArrayPaths<Context>>(key: ArrKey, params?: TranslateParams) => GetNestedType<Context, ArrKey>;
|
|
115
|
+
/**
|
|
116
|
+
* Returns translating function that returns an object of translations
|
|
117
|
+
* @param key path of translation
|
|
118
|
+
* @param params parameters of translation in syntax defined by {@link TransignalConfig.paramHandler}
|
|
119
|
+
*/
|
|
120
|
+
obj: <ObjKey extends ObjectPaths<Context>>(key: ObjKey, params?: TranslateParams) => GetNestedType<Context, ObjKey>;
|
|
121
|
+
/**
|
|
122
|
+
* Returns translating function that returns a string translation depending on a correct plural form
|
|
123
|
+
* @param key path of translation
|
|
124
|
+
* @param count count to determine correct plural form
|
|
125
|
+
* @param params parameters of translation in syntax defined by {@link TransignalConfig.paramHandler}
|
|
126
|
+
*/
|
|
127
|
+
plural: <ObjKey extends PluralPaths<Context>>(key: ObjKey, count: number, params?: TranslateParams) => string;
|
|
128
|
+
/**
|
|
129
|
+
* Returns translating function that returns a string translation depending on a selected value
|
|
130
|
+
* @param key path of translation
|
|
131
|
+
* @param value value to determine selected translation
|
|
132
|
+
* @param params parameters of translation in syntax defined by {@link TransignalConfig.paramHandler}
|
|
133
|
+
*/
|
|
134
|
+
select: <ObjKey extends SelectPaths<Context>>(key: ObjKey, value: keyof SelectTranslation | null, params?: TranslateParams) => string;
|
|
135
|
+
/**
|
|
136
|
+
* Returns translating function that is encapsulated in a selected prefix
|
|
137
|
+
* @param prefix path of new root translation
|
|
138
|
+
*/
|
|
139
|
+
prefix: <T extends ObjectPaths<Context>>(prefix: T) => TranslateObj<GetNestedType<Context, T>>;
|
|
140
|
+
};
|
|
141
|
+
type TranslationFile = Record<string, unknown>;
|
|
142
|
+
type TransignalConfig<Languages extends string, Translations extends Record<string, Record<string, unknown>>> = {
|
|
143
|
+
/**
|
|
144
|
+
* Default language code
|
|
145
|
+
*/
|
|
146
|
+
defaultLang: NoInfer<Languages>;
|
|
147
|
+
/**
|
|
148
|
+
* An array of available languages that your application supports.
|
|
149
|
+
* These should be unique string identifiers for each language (e.g., ['en', 'fr', 'es']).
|
|
150
|
+
*/
|
|
151
|
+
availableLangs: Languages[];
|
|
152
|
+
/**
|
|
153
|
+
* Defines the type of translations.
|
|
154
|
+
* Please use helper function {@link treeShakedTranslations()}
|
|
155
|
+
* @example
|
|
156
|
+
* ```typescript
|
|
157
|
+
* import type translations from './i18n/translations';
|
|
158
|
+
* ...
|
|
159
|
+
* translations: treeShakedTranslations<typeof translations>(),
|
|
160
|
+
* ```
|
|
161
|
+
*/
|
|
162
|
+
translations: Translations;
|
|
163
|
+
/**
|
|
164
|
+
* A function responsible for dynamically loading translation files.
|
|
165
|
+
* This function is called when a specific translation scope and language is requested
|
|
166
|
+
* It runs in TransignalService injection context so {@link inject()} can be used to e.g. use HttpClient
|
|
167
|
+
*
|
|
168
|
+
* @param scope The string key representing the translation scope (e.g., 'common', 'auth').
|
|
169
|
+
* @param lang The language identifier for which to load translations (e.g., 'en', 'fr').
|
|
170
|
+
* @returns A Promise that resolves to a `TranslationFile` object, which is
|
|
171
|
+
* a record of string keys to unknown values representing the translations for
|
|
172
|
+
* the given scope and language.
|
|
173
|
+
*/
|
|
174
|
+
loader: (scope: StringKeys<Translations>, lang: Languages) => Promise<TranslationFile>;
|
|
175
|
+
/**
|
|
176
|
+
* An optional function that defines how a loading message should be displayed
|
|
177
|
+
* while translations are being loaded.
|
|
178
|
+
*
|
|
179
|
+
* @param key The translation key that is currently being loaded.
|
|
180
|
+
* @returns A string representing the loading message.
|
|
181
|
+
*/
|
|
182
|
+
loadingFn?: (key: string) => string;
|
|
183
|
+
/**
|
|
184
|
+
* An optional function that defines how params should be processed
|
|
185
|
+
* Defaults to {@link simpleParamsHandler}
|
|
186
|
+
* Use {@link noParamsHandler} if you don't want to use params
|
|
187
|
+
* If you want to handle message format then you can install TODO
|
|
188
|
+
*/
|
|
189
|
+
paramHandler?: ParamHandler;
|
|
190
|
+
/**
|
|
191
|
+
* An optional error handler function that will be called when a `TransignalError` occurs.
|
|
192
|
+
* This allows you to implement custom error reporting or logging.
|
|
193
|
+
*
|
|
194
|
+
* @param errorCode Code of an error {@link TransignalError} code that occurred.
|
|
195
|
+
* @param args Any additional arguments relevant to the error.
|
|
196
|
+
*/
|
|
197
|
+
errorHandler?: (errorCode: TransignalError, ...args: unknown[]) => void;
|
|
198
|
+
/**
|
|
199
|
+
* Defines max depth of prefix functions in {@link TranslateObj}
|
|
200
|
+
* Defaults to 3, this means that if prefix function is used more than 3 time on the same t then it will fail
|
|
201
|
+
* Required for performance reasons
|
|
202
|
+
*/
|
|
203
|
+
maxPrefixDepth?: number;
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Main transignal service, used to process and cache translations
|
|
208
|
+
* Can be injected directly or with use of transignal object created with {@link prepareTransignal} function (recommended)
|
|
209
|
+
*/
|
|
210
|
+
declare class TransignalService<Languages extends string, Translations extends Record<string, Record<string, any>>, Scopes extends StringKeys<Translations>> {
|
|
211
|
+
private readonly injector;
|
|
212
|
+
private readonly config;
|
|
213
|
+
private readonly paramsHandler;
|
|
214
|
+
private readonly loadingFn;
|
|
215
|
+
private readonly errorHandler;
|
|
216
|
+
private readonly loadingCount;
|
|
217
|
+
private readonly scopeMap;
|
|
218
|
+
private readonly languageMap;
|
|
219
|
+
/**
|
|
220
|
+
* Use to set or get active language
|
|
221
|
+
*/
|
|
222
|
+
readonly activeLang: _angular_core.WritableSignal<Languages>;
|
|
223
|
+
/**
|
|
224
|
+
* Use to determine whether service is currently loading translation files
|
|
225
|
+
*/
|
|
226
|
+
readonly isLoading: _angular_core.Signal<boolean>;
|
|
227
|
+
t<Scope extends Scopes>(scope: Scope): TranslateObj<Translations[Scope]>;
|
|
228
|
+
private initT;
|
|
229
|
+
private preparePrefixFn;
|
|
230
|
+
private preparePluralFn;
|
|
231
|
+
private prepareSelectFn;
|
|
232
|
+
protected replaceParams<T>(translation: T, params?: TranslateParams): T;
|
|
233
|
+
private fetchLanguage;
|
|
234
|
+
private resolveObjectPath;
|
|
235
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TransignalService<any, any, any>, never>;
|
|
236
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<TransignalService<any, any, any>>;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Utility function to define a type of translations for type inference
|
|
241
|
+
*/
|
|
242
|
+
declare const treeShakedTranslations: <Translations extends Record<string, Record<string, unknown>>>() => Translations;
|
|
243
|
+
declare const TRANSIGNAL_CONFIG: InjectionToken<unknown>;
|
|
244
|
+
/**
|
|
245
|
+
* Use to inject transignal config
|
|
246
|
+
*/
|
|
247
|
+
declare const injectTransignalConfig: <Languages extends string, Translations extends Record<string, Record<string, unknown>>>() => TransignalConfig<Languages, Translations>;
|
|
248
|
+
/**
|
|
249
|
+
* Prepares type-safe transignal object
|
|
250
|
+
* @param config Transignal configruation {@link TransignalConfig}
|
|
251
|
+
* @param features Extra tree-shakeable features
|
|
252
|
+
* - {@link withPreloadScopes} - preloads selected scopes
|
|
253
|
+
* - {@link withServerSideLanguage} - sets language based on `document.lang` in SSR environment
|
|
254
|
+
* - {@link withNavigatorLanguage} - sets language based on `navigator.language` in browser environment
|
|
255
|
+
* - {@link withLanguageLocalStorageSync} - syncs language with localStorage
|
|
256
|
+
* - {@link withTranslatedTitle} - enables translation of page title
|
|
257
|
+
*/
|
|
258
|
+
declare const prepareTransignal: <Languages extends string, Translations extends Record<string, Record<string, unknown>>>(config: TransignalConfig<Languages, Translations>, ...features: NoInfer<TransignalFeature<Languages, Translations>[]>) => {
|
|
259
|
+
[INTERNAL_TRANSIGNAL_CONFIG]: {
|
|
260
|
+
config: TransignalConfig<Languages, Translations>;
|
|
261
|
+
features: TransignalFeature<Languages, Translations>[];
|
|
262
|
+
};
|
|
263
|
+
provide: () => _angular_core.EnvironmentProviders;
|
|
264
|
+
service: () => TransignalService<Languages, Translations, StringKeys<Translations>>;
|
|
265
|
+
t: <Scope extends StringKeys<Translations>>(scope: Scope) => i18n_websql_prod.TranslateObj<Translations[Scope]>;
|
|
266
|
+
};
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* Provides unit-test version of transignal that loads translation instantly without loading
|
|
270
|
+
*
|
|
271
|
+
* @param transignal existing transignal instance
|
|
272
|
+
* @param translations real translations in a selected language
|
|
273
|
+
*/
|
|
274
|
+
declare const provideTransignalTesting: <Languages extends string, Translations extends Record<string, Record<string, unknown>>>(transignal: ReturnType<typeof prepareTransignal<Languages, Translations>>, translations: Translations) => _angular_core.EnvironmentProviders;
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* Utility to create a plural translation that can differ between languages and includes variants of translations for different plurals
|
|
278
|
+
* Can be used with {@link TranslateObj.plural}
|
|
279
|
+
* Translations may use automatic param: `{count}`
|
|
280
|
+
* @param translation plural translation object
|
|
281
|
+
*/
|
|
282
|
+
declare const plural: (translation: BasePluralTranslation) => PluralTranslation;
|
|
283
|
+
/**
|
|
284
|
+
* Utility to create a select translation
|
|
285
|
+
* Can be used with {@link TranslateObj.select}
|
|
286
|
+
* Translations may use automatic param: `{value}`
|
|
287
|
+
* @param translation select translation object
|
|
288
|
+
*/
|
|
289
|
+
declare const select: <T extends BaseSelectTranslation>(translation: T) => MarkedAsSelect<T>;
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* Saves user selected language in selected storage e.g. localStorage
|
|
293
|
+
* Works only in browser environment
|
|
294
|
+
*
|
|
295
|
+
* @param key Key under which it should save the language in storage
|
|
296
|
+
* @param storage Storage to be used e.g. localStorage or sessionStorage
|
|
297
|
+
*/
|
|
298
|
+
declare const withLanguageLocalStorageSync: <Languages extends string, Translations extends Record<string, Record<string, unknown>>>(key?: string, storage?: "localStorage" | "sessionStorage") => TransignalFeature<Languages, Translations>;
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* Sets active language depending on `navigator.language`, which represents user defined browser settings
|
|
302
|
+
* Works only in browser environment
|
|
303
|
+
*/
|
|
304
|
+
declare const withNavigatorLanguage: <Languages extends string, Translations extends Record<string, Record<string, unknown>>>() => TransignalFeature<Languages, Translations>;
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
* Preloads selected scopes in default language
|
|
308
|
+
* Use after language init by {@link withServerSideLanguage} or {@link withNavigatorLanguage}
|
|
309
|
+
* @param scopes Scopes which should be preloaded
|
|
310
|
+
*/
|
|
311
|
+
declare const withPreloadScopes: <Languages extends string, Translations extends Record<string, Record<string, unknown>>>(scopes: StringKeys<Translations>[]) => TransignalFeature<Languages, Translations>;
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* Sets active language depending on `document.lang` attribute which should be set by the server.ts depending on `Accept-language` header
|
|
315
|
+
* Works only in SSR environment
|
|
316
|
+
*/
|
|
317
|
+
declare const withServerSideLanguage: <Languages extends string, Translations extends Record<string, Record<string, unknown>>>() => TransignalFeature<Languages, Translations>;
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Enables translation of title param in route definition with use of prepared {@link TitleStrategy}
|
|
321
|
+
* Automatically translates `title` param form route definition, sets website title and updates on language changes
|
|
322
|
+
* Also it is possible to use parameters from `navigation.extras.state`
|
|
323
|
+
*
|
|
324
|
+
* @example
|
|
325
|
+
* ```typescript
|
|
326
|
+
* // src/app/app.routes.ts
|
|
327
|
+
* export const routes = [
|
|
328
|
+
* { path: 'base', title: 'base', children: [
|
|
329
|
+
* { path: 'child', title: 'child' },
|
|
330
|
+
* ],
|
|
331
|
+
* { path: 'aux', outlet: 'popup', title: 'popupTitle' }
|
|
332
|
+
* ];
|
|
333
|
+
*
|
|
334
|
+
* // src/app/transignal.ts
|
|
335
|
+
* export const transignal = prepareTransignal(<config>, withTranslatedTitle('global'));
|
|
336
|
+
*
|
|
337
|
+
* // src/app/i18n/global/en.ts
|
|
338
|
+
* export default {
|
|
339
|
+
* title: {
|
|
340
|
+
* base: 'Base title',
|
|
341
|
+
* child: 'Child title'
|
|
342
|
+
* popupTitle: 'Popup title'
|
|
343
|
+
* }
|
|
344
|
+
* };
|
|
345
|
+
* ```
|
|
346
|
+
*
|
|
347
|
+
* @param scope scope under which there are title translations
|
|
348
|
+
* @param translationKey translation key under which there are translations, `title` by default
|
|
349
|
+
*/
|
|
350
|
+
declare const withTranslatedTitle: <Languages extends string, Translations extends Record<string, Record<string, unknown>>>(scope: StringKeys<Translations>, translationKey?: string) => TransignalFeature<Languages, Translations>;
|
|
351
|
+
|
|
352
|
+
export { APP_ID, BUILD_BASE_HREF, BUILD_FRAMEWORK_CLI_NAME, CURRENT_PACKAGE_TAON_VERSION, CURRENT_PACKAGE_VERSION, INTERNAL_TRANSIGNAL_CONFIG, PROJECT_NPM_NAME, TRANSIGNAL_CONFIG, TREE_SHAKED_TRANSLATIONS, TransignalService, injectTransignalConfig, noParamsHandler, plural, prepareTransignal, provideTransignalTesting, select, simpleParamValueStringify, simpleParamsHandler, startCli, treeShakedTranslations, withLanguageLocalStorageSync, withNavigatorLanguage, withPreloadScopes, withServerSideLanguage, withTranslatedTitle };
|
|
353
|
+
export type { ArrayPaths, BasePluralTranslation, BaseSelectTranslation, GetNestedType, Marked, MarkedAsSelect, ObjectPaths, ParamHandler, Paths, PluralPaths, PluralTranslation, ResourceRefLike, SelectPaths, SelectTranslation, StringKeys, StringPaths, TransignalConfig, TransignalError, TransignalFeature, TranslateFn, TranslateObj, TranslateParams, TranslationFile };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|