@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
package/bin/i18n
ADDED
package/bin/i18n-debug
ADDED
package/bin/start.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
global.frameworkName = 'i18n';
|
|
2
|
+
Error.stackTraceLimit = 100;
|
|
3
|
+
global.i0 = {
|
|
4
|
+
defineInjectable: function () { }
|
|
5
|
+
}
|
|
6
|
+
const process= require('process');
|
|
7
|
+
global.currentTaonScriptStartDateTime = process.hrtime.bigint();
|
|
8
|
+
|
|
9
|
+
process.removeAllListeners('warning');
|
|
10
|
+
var argv = process.argv;
|
|
11
|
+
|
|
12
|
+
global.hideLog = true;
|
|
13
|
+
global.verboseLevel = 0;
|
|
14
|
+
var verboseLevel = argv.find(a => a.startsWith('-verbose='));
|
|
15
|
+
if (typeof verboseLevel !== 'undefined') {
|
|
16
|
+
global.hideLog = false;
|
|
17
|
+
verboseLevel = Number(verboseLevel.replace('-verbose=', ''));
|
|
18
|
+
if (!isNaN(verboseLevel)) {
|
|
19
|
+
global.verboseLevel = verboseLevel;
|
|
20
|
+
}
|
|
21
|
+
argv = argv.filter(a => !a.startsWith('-verbose='));
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if (argv.includes('-verbose')) {
|
|
25
|
+
global.hideLog = false;
|
|
26
|
+
argv = argv.filter(a => a !== '-verbose');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const fs = require('fs');
|
|
30
|
+
const path = require('path');
|
|
31
|
+
var pathToCliJS = {
|
|
32
|
+
distDev: path.join(__dirname, '../dist/cli.js'),
|
|
33
|
+
localOrNPm: path.join(__dirname, '../cli.js')
|
|
34
|
+
}
|
|
35
|
+
var p = fs.existsSync(pathToCliJS.distDev) ? pathToCliJS.distDev : pathToCliJS.localOrNPm;
|
|
36
|
+
global.globalSystemToolMode = true;
|
|
37
|
+
var run = require(p).startCli;
|
|
38
|
+
run(argv,__filename);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# MyLib
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
|
|
8
|
+
> Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -0,0 +1,521 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, EnvironmentInjector, signal, computed, runInInjectionContext, untracked, resource, Injectable, InjectionToken, makeEnvironmentProviders, provideAppInitializer, PLATFORM_ID, effect, DOCUMENT } from '@angular/core';
|
|
3
|
+
import { isPlatformBrowser, isPlatformServer } from '@angular/common';
|
|
4
|
+
import { Title } from '@angular/platform-browser';
|
|
5
|
+
import { TitleStrategy, Router } from '@angular/router';
|
|
6
|
+
|
|
7
|
+
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
8
|
+
/**
|
|
9
|
+
* Autogenerated by current cli tool
|
|
10
|
+
*/
|
|
11
|
+
const BUILD_FRAMEWORK_CLI_NAME = 'tnp';
|
|
12
|
+
/**
|
|
13
|
+
* This value can be change in taon.jsonc (appId)
|
|
14
|
+
*/
|
|
15
|
+
const APP_ID = 'com.domain.example.i18n';
|
|
16
|
+
/**
|
|
17
|
+
* Autogenerated by current cli tool
|
|
18
|
+
*/
|
|
19
|
+
const BUILD_BASE_HREF = '';
|
|
20
|
+
/**
|
|
21
|
+
* This value can be change in taon.jsonc (overrideNpmName)
|
|
22
|
+
*/
|
|
23
|
+
const PROJECT_NPM_NAME = '@taon-dev/i18n';
|
|
24
|
+
/**
|
|
25
|
+
* Taon version from you project taon.json
|
|
26
|
+
*/
|
|
27
|
+
const CURRENT_PACKAGE_TAON_VERSION = 'v21';
|
|
28
|
+
/**
|
|
29
|
+
* Autogenerated by current cli tool. Use *tnp release* to bump version.
|
|
30
|
+
*/
|
|
31
|
+
const CURRENT_PACKAGE_VERSION = '0.0.1';
|
|
32
|
+
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
33
|
+
|
|
34
|
+
const INTERNAL_TRANSIGNAL_CONFIG = Symbol('INTERNAL_TRANSIGNAL_CONFIG');
|
|
35
|
+
const TREE_SHAKED_TRANSLATIONS = Symbol('TREE_SHAKED_TRANSLATIONS');
|
|
36
|
+
|
|
37
|
+
//#region tnp-helpers cli template
|
|
38
|
+
// import { Helpers, BaseCommandLineFeature } from 'tnp-helpers/src';
|
|
39
|
+
// import { BaseProject, BaseStartConfig } from 'tnp-helpers/src'; // @backend
|
|
40
|
+
// class $Version extends BaseCommandLineFeature<{}> {
|
|
41
|
+
// public _() {
|
|
42
|
+
// console.log(`Hello world from cli`);
|
|
43
|
+
// this._exit();
|
|
44
|
+
// }
|
|
45
|
+
// }
|
|
46
|
+
//#endregion
|
|
47
|
+
/**
|
|
48
|
+
*
|
|
49
|
+
* @param argsv process.argsv
|
|
50
|
+
* @param filename needed if you want ipc communicaiton
|
|
51
|
+
*/
|
|
52
|
+
async function startCli(argsv, filename) {
|
|
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
|
+
return (void 0);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Param handler which allows for specification of basic params: `{name}`
|
|
82
|
+
*
|
|
83
|
+
* @param translation Translated text
|
|
84
|
+
* @param params Params provided to translation function
|
|
85
|
+
*/
|
|
86
|
+
const simpleParamsHandler = (translation, params) => {
|
|
87
|
+
if (!params)
|
|
88
|
+
return translation;
|
|
89
|
+
for (const [key, value] of Object.entries(params)) {
|
|
90
|
+
translation = translation.replaceAll(`{${key}}`, simpleParamValueStringify(value));
|
|
91
|
+
}
|
|
92
|
+
return translation;
|
|
93
|
+
};
|
|
94
|
+
const noParamsHandler = translation => translation;
|
|
95
|
+
const simpleParamValueStringify = (paramValue) => {
|
|
96
|
+
if (typeof paramValue === 'string') {
|
|
97
|
+
return paramValue;
|
|
98
|
+
}
|
|
99
|
+
if (paramValue == null) {
|
|
100
|
+
return '';
|
|
101
|
+
}
|
|
102
|
+
return paramValue.toString();
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Main transignal service, used to process and cache translations
|
|
107
|
+
* Can be injected directly or with use of transignal object created with {@link prepareTransignal} function (recommended)
|
|
108
|
+
*/
|
|
109
|
+
class TransignalService {
|
|
110
|
+
constructor() {
|
|
111
|
+
this.injector = inject(EnvironmentInjector);
|
|
112
|
+
this.config = injectTransignalConfig();
|
|
113
|
+
this.paramsHandler = this.config.paramHandler ?? simpleParamsHandler;
|
|
114
|
+
this.loadingFn = this.config.loadingFn ?? (() => '...');
|
|
115
|
+
// eslint-disable-next-line no-console
|
|
116
|
+
this.errorHandler = this.config.errorHandler ?? console.error; // TODO maybe add a link to error page in docs
|
|
117
|
+
this.loadingCount = signal(0, ...(ngDevMode ? [{ debugName: "loadingCount" }] : []));
|
|
118
|
+
this.scopeMap = new Map();
|
|
119
|
+
this.languageMap = new Map();
|
|
120
|
+
/**
|
|
121
|
+
* Use to set or get active language
|
|
122
|
+
*/
|
|
123
|
+
this.activeLang = signal(this.config.defaultLang, ...(ngDevMode ? [{ debugName: "activeLang" }] : []));
|
|
124
|
+
/**
|
|
125
|
+
* Use to determine whether service is currently loading translation files
|
|
126
|
+
*/
|
|
127
|
+
this.isLoading = computed(() => this.loadingCount() > 0, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
|
|
128
|
+
}
|
|
129
|
+
t(scope) {
|
|
130
|
+
const existing = this.scopeMap.get(scope);
|
|
131
|
+
if (existing) {
|
|
132
|
+
return existing;
|
|
133
|
+
}
|
|
134
|
+
const scopeObj = this.initT(scope);
|
|
135
|
+
this.scopeMap.set(scope, scopeObj);
|
|
136
|
+
return scopeObj;
|
|
137
|
+
}
|
|
138
|
+
initT(scope) {
|
|
139
|
+
const cache = new Map();
|
|
140
|
+
const t = ((key, params) => {
|
|
141
|
+
const lang = this.activeLang();
|
|
142
|
+
const baseKey = `${lang}/${key}`;
|
|
143
|
+
const memoKey = params ? `${baseKey}_${JSON.stringify(params)}` : baseKey;
|
|
144
|
+
const alreadyComputed = cache.get(memoKey);
|
|
145
|
+
if (alreadyComputed) {
|
|
146
|
+
return alreadyComputed;
|
|
147
|
+
}
|
|
148
|
+
const { isLoading, error, value } = this.fetchLanguage(scope, lang);
|
|
149
|
+
if (isLoading()) {
|
|
150
|
+
return this.loadingFn?.(key);
|
|
151
|
+
}
|
|
152
|
+
if (error() || !value()) {
|
|
153
|
+
this.errorHandler('missing_file', error());
|
|
154
|
+
return '';
|
|
155
|
+
}
|
|
156
|
+
const result = this.replaceParams(this.resolveObjectPath(value(), key), params);
|
|
157
|
+
cache.set(memoKey, result);
|
|
158
|
+
return result;
|
|
159
|
+
}); // needed as other props are assigned below
|
|
160
|
+
t.arr = t;
|
|
161
|
+
t.obj = t;
|
|
162
|
+
t.prefix = this.preparePrefixFn(t, 1);
|
|
163
|
+
t.plural = this.preparePluralFn(t);
|
|
164
|
+
t.select = this.prepareSelectFn(t);
|
|
165
|
+
return t;
|
|
166
|
+
}
|
|
167
|
+
preparePrefixFn(t, depth) {
|
|
168
|
+
return (prefix) => {
|
|
169
|
+
const prefixedT = (key, params) => t(`${prefix}.${key}`, params);
|
|
170
|
+
prefixedT.arr = prefixedT;
|
|
171
|
+
prefixedT.obj = prefixedT;
|
|
172
|
+
prefixedT.plural = this.preparePluralFn(prefixedT);
|
|
173
|
+
prefixedT.select = this.prepareSelectFn(prefixedT);
|
|
174
|
+
prefixedT.prefix =
|
|
175
|
+
this.config.maxPrefixDepth || 3 >= depth
|
|
176
|
+
? this.preparePrefixFn(prefixedT, depth + 1)
|
|
177
|
+
: () => {
|
|
178
|
+
this.errorHandler('prefix_too_deep');
|
|
179
|
+
const t = () => '';
|
|
180
|
+
t.arr = () => [];
|
|
181
|
+
t.obj = () => ({});
|
|
182
|
+
t.plural = () => '';
|
|
183
|
+
return t;
|
|
184
|
+
};
|
|
185
|
+
return prefixedT;
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
preparePluralFn(t) {
|
|
189
|
+
return (key, count, params) => {
|
|
190
|
+
const plurals = t(key, { count, ...params });
|
|
191
|
+
if (typeof plurals === 'string') {
|
|
192
|
+
if (plurals === this.loadingFn(key)) {
|
|
193
|
+
return plurals;
|
|
194
|
+
}
|
|
195
|
+
this.errorHandler('invalid_plural', key, plurals);
|
|
196
|
+
return plurals;
|
|
197
|
+
}
|
|
198
|
+
if (plurals[count]) {
|
|
199
|
+
return plurals[count];
|
|
200
|
+
}
|
|
201
|
+
const valueLastDigit = +count.toFixed(0).at(-1);
|
|
202
|
+
if (plurals.one && valueLastDigit === 1) {
|
|
203
|
+
return plurals.one;
|
|
204
|
+
}
|
|
205
|
+
if (plurals.many && valueLastDigit >= 5) {
|
|
206
|
+
return plurals.many;
|
|
207
|
+
}
|
|
208
|
+
if (plurals.few && valueLastDigit > 1 && valueLastDigit < 5) {
|
|
209
|
+
return plurals.few;
|
|
210
|
+
}
|
|
211
|
+
if (plurals.other) {
|
|
212
|
+
return plurals.other;
|
|
213
|
+
}
|
|
214
|
+
this.errorHandler('missing_plural', key, plurals, count);
|
|
215
|
+
return '';
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
prepareSelectFn(t) {
|
|
219
|
+
return (key, value, params) => {
|
|
220
|
+
const selects = t(key, { value, ...params });
|
|
221
|
+
if (typeof selects === 'string') {
|
|
222
|
+
if (selects === this.loadingFn(key)) {
|
|
223
|
+
return selects;
|
|
224
|
+
}
|
|
225
|
+
this.errorHandler('invalid_select', key, selects);
|
|
226
|
+
return selects;
|
|
227
|
+
}
|
|
228
|
+
if (value !== null) {
|
|
229
|
+
if (selects[value]) {
|
|
230
|
+
return selects[value];
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
else if (selects['null']) {
|
|
234
|
+
return selects['null'];
|
|
235
|
+
}
|
|
236
|
+
this.errorHandler('missing_select', key, selects, value);
|
|
237
|
+
return '';
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
replaceParams(translation, params) {
|
|
241
|
+
if (!translation)
|
|
242
|
+
return translation;
|
|
243
|
+
if (typeof translation === 'string') {
|
|
244
|
+
return this.paramsHandler(translation, params);
|
|
245
|
+
}
|
|
246
|
+
if (Array.isArray(translation)) {
|
|
247
|
+
return translation.map(val => this.replaceParams(val, params));
|
|
248
|
+
}
|
|
249
|
+
if (typeof translation === 'object') {
|
|
250
|
+
return Object.entries(translation).reduce((prev, [objKey, objVal]) => {
|
|
251
|
+
prev[objKey] = this.replaceParams(objVal, params);
|
|
252
|
+
return prev;
|
|
253
|
+
}, {});
|
|
254
|
+
}
|
|
255
|
+
return translation;
|
|
256
|
+
}
|
|
257
|
+
fetchLanguage(scope, lang) {
|
|
258
|
+
const cacheKey = `${scope}/${lang}`;
|
|
259
|
+
const existing = this.languageMap.get(cacheKey);
|
|
260
|
+
if (existing)
|
|
261
|
+
return existing;
|
|
262
|
+
const { translations, loader } = this.config;
|
|
263
|
+
const translation = runInInjectionContext(this.injector, () => translations === TREE_SHAKED_TRANSLATIONS
|
|
264
|
+
? untracked(() => resource({
|
|
265
|
+
loader: async () => {
|
|
266
|
+
this.loadingCount.update(count => ++count);
|
|
267
|
+
const file = await runInInjectionContext(this.injector, () => loader(scope, lang));
|
|
268
|
+
this.loadingCount.update(count => --count);
|
|
269
|
+
return file;
|
|
270
|
+
},
|
|
271
|
+
}))
|
|
272
|
+
: {
|
|
273
|
+
value: signal(translations[scope]),
|
|
274
|
+
isLoading: signal(false),
|
|
275
|
+
error: signal(undefined),
|
|
276
|
+
});
|
|
277
|
+
this.languageMap.set(cacheKey, translation);
|
|
278
|
+
return translation;
|
|
279
|
+
}
|
|
280
|
+
resolveObjectPath(obj, path) {
|
|
281
|
+
const keys = path.split('.');
|
|
282
|
+
let current = obj;
|
|
283
|
+
for (const key of keys) {
|
|
284
|
+
if (current && typeof current === 'object') {
|
|
285
|
+
current = current[key];
|
|
286
|
+
}
|
|
287
|
+
else {
|
|
288
|
+
this.errorHandler('missing_key', { obj, path });
|
|
289
|
+
return undefined;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
return current;
|
|
293
|
+
}
|
|
294
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TransignalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
295
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TransignalService }); }
|
|
296
|
+
}
|
|
297
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TransignalService, decorators: [{
|
|
298
|
+
type: Injectable
|
|
299
|
+
}] });
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
* Utility function to define a type of translations for type inference
|
|
303
|
+
*/
|
|
304
|
+
const treeShakedTranslations = () => TREE_SHAKED_TRANSLATIONS;
|
|
305
|
+
const TRANSIGNAL_CONFIG = new InjectionToken('TRANSIGNAL_CONFIG');
|
|
306
|
+
/**
|
|
307
|
+
* Use to inject transignal config
|
|
308
|
+
*/
|
|
309
|
+
const injectTransignalConfig = () => inject(TRANSIGNAL_CONFIG);
|
|
310
|
+
/**
|
|
311
|
+
* Prepares type-safe transignal object
|
|
312
|
+
* @param config Transignal configruation {@link TransignalConfig}
|
|
313
|
+
* @param features Extra tree-shakeable features
|
|
314
|
+
* - {@link withPreloadScopes} - preloads selected scopes
|
|
315
|
+
* - {@link withServerSideLanguage} - sets language based on `document.lang` in SSR environment
|
|
316
|
+
* - {@link withNavigatorLanguage} - sets language based on `navigator.language` in browser environment
|
|
317
|
+
* - {@link withLanguageLocalStorageSync} - syncs language with localStorage
|
|
318
|
+
* - {@link withTranslatedTitle} - enables translation of page title
|
|
319
|
+
*/
|
|
320
|
+
const prepareTransignal = (config, ...features) => {
|
|
321
|
+
const service = () => inject(TransignalService);
|
|
322
|
+
return {
|
|
323
|
+
[INTERNAL_TRANSIGNAL_CONFIG]: { config, features },
|
|
324
|
+
provide: () => makeEnvironmentProviders([
|
|
325
|
+
{ provide: TRANSIGNAL_CONFIG, useValue: config },
|
|
326
|
+
TransignalService,
|
|
327
|
+
features.map(feature => feature.providers),
|
|
328
|
+
]),
|
|
329
|
+
service,
|
|
330
|
+
t: (scope) => service().t(scope),
|
|
331
|
+
};
|
|
332
|
+
};
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* Provides unit-test version of transignal that loads translation instantly without loading
|
|
336
|
+
*
|
|
337
|
+
* @param transignal existing transignal instance
|
|
338
|
+
* @param translations real translations in a selected language
|
|
339
|
+
*/
|
|
340
|
+
const provideTransignalTesting = (transignal, translations) => prepareTransignal({ ...transignal[INTERNAL_TRANSIGNAL_CONFIG].config, translations }, ...transignal[INTERNAL_TRANSIGNAL_CONFIG].features).provide();
|
|
341
|
+
|
|
342
|
+
/**
|
|
343
|
+
* Utility to create a plural translation that can differ between languages and includes variants of translations for different plurals
|
|
344
|
+
* Can be used with {@link TranslateObj.plural}
|
|
345
|
+
* Translations may use automatic param: `{count}`
|
|
346
|
+
* @param translation plural translation object
|
|
347
|
+
*/
|
|
348
|
+
const plural = (translation) => translation;
|
|
349
|
+
/**
|
|
350
|
+
* Utility to create a select translation
|
|
351
|
+
* Can be used with {@link TranslateObj.select}
|
|
352
|
+
* Translations may use automatic param: `{value}`
|
|
353
|
+
* @param translation select translation object
|
|
354
|
+
*/
|
|
355
|
+
const select = (translation) => translation;
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
* Saves user selected language in selected storage e.g. localStorage
|
|
359
|
+
* Works only in browser environment
|
|
360
|
+
*
|
|
361
|
+
* @param key Key under which it should save the language in storage
|
|
362
|
+
* @param storage Storage to be used e.g. localStorage or sessionStorage
|
|
363
|
+
*/
|
|
364
|
+
const withLanguageLocalStorageSync = (key = 'LANG', storage = 'localStorage') => {
|
|
365
|
+
return {
|
|
366
|
+
providers: [
|
|
367
|
+
provideAppInitializer(() => {
|
|
368
|
+
if (isPlatformBrowser(inject(PLATFORM_ID))) {
|
|
369
|
+
const transignalService = inject(TransignalService);
|
|
370
|
+
const store = window[storage];
|
|
371
|
+
const savedLanguage = store.getItem(key);
|
|
372
|
+
if (savedLanguage) {
|
|
373
|
+
const { availableLangs } = injectTransignalConfig();
|
|
374
|
+
if (availableLangs.includes(savedLanguage)) {
|
|
375
|
+
transignalService.activeLang.set(savedLanguage);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
effect(() => {
|
|
379
|
+
const updatedLang = transignalService.activeLang();
|
|
380
|
+
store.setItem(key, updatedLang);
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
}),
|
|
384
|
+
],
|
|
385
|
+
};
|
|
386
|
+
};
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* Sets active language depending on `navigator.language`, which represents user defined browser settings
|
|
390
|
+
* Works only in browser environment
|
|
391
|
+
*/
|
|
392
|
+
const withNavigatorLanguage = () => {
|
|
393
|
+
return {
|
|
394
|
+
providers: [
|
|
395
|
+
provideAppInitializer(() => {
|
|
396
|
+
if (isPlatformBrowser(inject(PLATFORM_ID))) {
|
|
397
|
+
const transignalService = inject(TransignalService);
|
|
398
|
+
const { availableLangs } = injectTransignalConfig();
|
|
399
|
+
const preferredLanguage = navigator.languages.map(language => language.split('-')[0].toLowerCase()).find(language => availableLangs.includes(language));
|
|
400
|
+
if (preferredLanguage) {
|
|
401
|
+
transignalService.activeLang.set(preferredLanguage);
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
}),
|
|
405
|
+
],
|
|
406
|
+
};
|
|
407
|
+
};
|
|
408
|
+
|
|
409
|
+
/**
|
|
410
|
+
* Preloads selected scopes in default language
|
|
411
|
+
* Use after language init by {@link withServerSideLanguage} or {@link withNavigatorLanguage}
|
|
412
|
+
* @param scopes Scopes which should be preloaded
|
|
413
|
+
*/
|
|
414
|
+
const withPreloadScopes = (scopes) => {
|
|
415
|
+
return {
|
|
416
|
+
providers: [
|
|
417
|
+
provideAppInitializer(() => {
|
|
418
|
+
const transignalService = inject(TransignalService);
|
|
419
|
+
effect(() => {
|
|
420
|
+
const _activeLang = transignalService.activeLang();
|
|
421
|
+
scopes.forEach(scope => transignalService.t(scope)(''));
|
|
422
|
+
});
|
|
423
|
+
}),
|
|
424
|
+
],
|
|
425
|
+
};
|
|
426
|
+
};
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* Sets active language depending on `document.lang` attribute which should be set by the server.ts depending on `Accept-language` header
|
|
430
|
+
* Works only in SSR environment
|
|
431
|
+
*/
|
|
432
|
+
const withServerSideLanguage = () => {
|
|
433
|
+
return {
|
|
434
|
+
providers: [
|
|
435
|
+
provideAppInitializer(() => {
|
|
436
|
+
if (isPlatformServer(inject(PLATFORM_ID))) {
|
|
437
|
+
const transignalService = inject(TransignalService);
|
|
438
|
+
const { documentElement } = inject(DOCUMENT);
|
|
439
|
+
const { availableLangs } = injectTransignalConfig();
|
|
440
|
+
if (availableLangs.includes(documentElement.lang)) {
|
|
441
|
+
transignalService.activeLang.set(documentElement.lang);
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
}),
|
|
445
|
+
],
|
|
446
|
+
};
|
|
447
|
+
};
|
|
448
|
+
|
|
449
|
+
class TransignalTitleStrategy extends TitleStrategy {
|
|
450
|
+
constructor(t) {
|
|
451
|
+
super();
|
|
452
|
+
this.t = t;
|
|
453
|
+
this.title = inject(Title);
|
|
454
|
+
this.injector = inject(EnvironmentInjector);
|
|
455
|
+
}
|
|
456
|
+
updateTitle(routerState) {
|
|
457
|
+
this.effectRef?.destroy();
|
|
458
|
+
const router = this.injector.get(Router);
|
|
459
|
+
const title = this.buildTitle(routerState) || 'default';
|
|
460
|
+
const translation = computed(() => this.t(title, router.getCurrentNavigation()?.extras.state), ...(ngDevMode ? [{ debugName: "translation" }] : []));
|
|
461
|
+
this.effectRef = runInInjectionContext(this.injector, () => effect(() => this.title.setTitle(translation()), { manualCleanup: true }));
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* Enables translation of title param in route definition with use of prepared {@link TitleStrategy}
|
|
466
|
+
* Automatically translates `title` param form route definition, sets website title and updates on language changes
|
|
467
|
+
* Also it is possible to use parameters from `navigation.extras.state`
|
|
468
|
+
*
|
|
469
|
+
* @example
|
|
470
|
+
* ```typescript
|
|
471
|
+
* // src/app/app.routes.ts
|
|
472
|
+
* export const routes = [
|
|
473
|
+
* { path: 'base', title: 'base', children: [
|
|
474
|
+
* { path: 'child', title: 'child' },
|
|
475
|
+
* ],
|
|
476
|
+
* { path: 'aux', outlet: 'popup', title: 'popupTitle' }
|
|
477
|
+
* ];
|
|
478
|
+
*
|
|
479
|
+
* // src/app/transignal.ts
|
|
480
|
+
* export const transignal = prepareTransignal(<config>, withTranslatedTitle('global'));
|
|
481
|
+
*
|
|
482
|
+
* // src/app/i18n/global/en.ts
|
|
483
|
+
* export default {
|
|
484
|
+
* title: {
|
|
485
|
+
* base: 'Base title',
|
|
486
|
+
* child: 'Child title'
|
|
487
|
+
* popupTitle: 'Popup title'
|
|
488
|
+
* }
|
|
489
|
+
* };
|
|
490
|
+
* ```
|
|
491
|
+
*
|
|
492
|
+
* @param scope scope under which there are title translations
|
|
493
|
+
* @param translationKey translation key under which there are translations, `title` by default
|
|
494
|
+
*/
|
|
495
|
+
const withTranslatedTitle = (scope, translationKey = 'title') => {
|
|
496
|
+
return {
|
|
497
|
+
providers: [
|
|
498
|
+
makeEnvironmentProviders([
|
|
499
|
+
{
|
|
500
|
+
provide: TitleStrategy,
|
|
501
|
+
useFactory: (service = inject(TransignalService)) => new TransignalTitleStrategy(service.t(scope).prefix(translationKey)),
|
|
502
|
+
},
|
|
503
|
+
]),
|
|
504
|
+
],
|
|
505
|
+
};
|
|
506
|
+
};
|
|
507
|
+
|
|
508
|
+
// @ts-nocheck
|
|
509
|
+
// This file is auto-generated during init process. Do not modify.
|
|
510
|
+
// This disable this auto generate file.
|
|
511
|
+
// set property "shouldGenerateAutogenIndexFile: false"
|
|
512
|
+
// in taon.jsonc of your project.
|
|
513
|
+
|
|
514
|
+
var index = {};
|
|
515
|
+
|
|
516
|
+
/**
|
|
517
|
+
* Generated bundle index. Do not edit.
|
|
518
|
+
*/
|
|
519
|
+
|
|
520
|
+
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 };
|
|
521
|
+
//# sourceMappingURL=i18n-browser.mjs.map
|