@better-translate/core 1.0.0 → 2.1.0
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/dist/{chunk-PE2HFT6R.js → chunk-GVC3VHIX.js} +6 -0
- package/dist/core.d.ts +5 -0
- package/dist/core.js +1 -1
- package/dist/index.js +1 -1
- package/dist/types.d.ts +18 -1
- package/package.json +18 -5
|
@@ -157,6 +157,9 @@ function createConfiguredTranslator(config) {
|
|
|
157
157
|
};
|
|
158
158
|
const translate = ((...args) => {
|
|
159
159
|
const [key, options] = args;
|
|
160
|
+
if (options?.bt === true) {
|
|
161
|
+
return key;
|
|
162
|
+
}
|
|
160
163
|
const locale = resolveLocale(options);
|
|
161
164
|
const activeValue = resolveMessageValue(messageCache[locale], key);
|
|
162
165
|
if (typeof activeValue === "string") {
|
|
@@ -365,6 +368,9 @@ function getTranslator() {
|
|
|
365
368
|
return translator;
|
|
366
369
|
}
|
|
367
370
|
function t(key, options) {
|
|
371
|
+
if (options?.bt === true) {
|
|
372
|
+
return key;
|
|
373
|
+
}
|
|
368
374
|
return getTranslator().t(key, options);
|
|
369
375
|
}
|
|
370
376
|
async function loadLocale(locale) {
|
package/dist/core.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type {
|
|
2
2
|
AnyConfiguredTranslator,
|
|
3
3
|
AnyTranslationHelpers,
|
|
4
|
+
BtTranslateOptions,
|
|
4
5
|
CachedMessages,
|
|
5
6
|
ConfiguredTranslator,
|
|
6
7
|
DeepPartialMessages,
|
|
@@ -17,6 +18,8 @@ import type {
|
|
|
17
18
|
} from "./types.js";
|
|
18
19
|
|
|
19
20
|
export type {
|
|
21
|
+
BtTranslateCall,
|
|
22
|
+
BtTranslateOptions,
|
|
20
23
|
AnyTranslationHelpers,
|
|
21
24
|
CachedMessages,
|
|
22
25
|
ConfiguredTranslator,
|
|
@@ -138,6 +141,8 @@ export declare function createTranslationJsonSchema(
|
|
|
138
141
|
|
|
139
142
|
export declare function getTranslator(): AnyConfiguredTranslator;
|
|
140
143
|
|
|
144
|
+
export declare function t(key: string, options: BtTranslateOptions): string;
|
|
145
|
+
|
|
141
146
|
export declare function t(
|
|
142
147
|
key: string,
|
|
143
148
|
options?: TranslateOptions<string>,
|
package/dist/core.js
CHANGED
package/dist/index.js
CHANGED
package/dist/types.d.ts
CHANGED
|
@@ -55,6 +55,9 @@ export type TranslationPlaceholderNames<TMessages extends TranslationMessages, T
|
|
|
55
55
|
export type TranslationParamsForKey<TMessages extends TranslationMessages, TKey extends string> = string extends TranslationPlaceholderNames<TMessages, TKey> ? TranslationParams : TranslationParamsObject<TranslationPlaceholderNames<TMessages, TKey>>;
|
|
56
56
|
export type TranslationKeysWithRequiredParams<TMessages extends TranslationMessages> = TranslationKey<TMessages> extends infer TKey ? TKey extends string ? [TranslationPlaceholderNames<TMessages, TKey>] extends [never] ? never : string extends TranslationPlaceholderNames<TMessages, TKey> ? never : TKey : never : never;
|
|
57
57
|
export type TranslationKeysWithOptionalParams<TMessages extends TranslationMessages> = Exclude<TranslationKey<TMessages>, TranslationKeysWithRequiredParams<TMessages>>;
|
|
58
|
+
export type BtTranslateOptions<TLocale extends string = string> = Simplify<TranslateOptions<TLocale> & {
|
|
59
|
+
bt: true;
|
|
60
|
+
}>;
|
|
58
61
|
export type TranslateOptionsForKey<TLocale extends string, TMessages extends TranslationMessages, TKey extends string> = [TranslationPlaceholderNames<TMessages, TKey>] extends [never] ? Simplify<TranslateOptions<TLocale> & {
|
|
59
62
|
params?: never;
|
|
60
63
|
}> : string extends TranslationPlaceholderNames<TMessages, TKey> ? Simplify<TranslateOptions<TLocale> & {
|
|
@@ -64,7 +67,14 @@ export type TranslateOptionsForKey<TLocale extends string, TMessages extends Tra
|
|
|
64
67
|
}>;
|
|
65
68
|
export type TranslateArgs<TLocale extends string, TMessages extends TranslationMessages, TKey extends string> = [TranslationPlaceholderNames<TMessages, TKey>] extends [never] ? [options?: TranslateOptionsForKey<TLocale, TMessages, TKey>] : string extends TranslationPlaceholderNames<TMessages, TKey> ? [options?: TranslateOptionsForKey<TLocale, TMessages, TKey>] : [options: TranslateOptionsForKey<TLocale, TMessages, TKey>];
|
|
66
69
|
export type TranslateCall<TLocale extends string, TMessages extends TranslationMessages, TKey extends TranslationKey<TMessages> = TranslationKey<TMessages>> = [key: TKey, ...args: TranslateArgs<TLocale, TMessages, TKey>];
|
|
67
|
-
export type
|
|
70
|
+
export type BtTranslateCall<TLocale extends string = string> = [
|
|
71
|
+
value: string,
|
|
72
|
+
options: BtTranslateOptions<TLocale>
|
|
73
|
+
];
|
|
74
|
+
export type TranslateFunction<TLocale extends string, TMessages extends TranslationMessages> = {
|
|
75
|
+
<TKey extends TranslationKey<TMessages>>(...args: TranslateCall<TLocale, TMessages, TKey>): string;
|
|
76
|
+
(...args: BtTranslateCall<TLocale>): string;
|
|
77
|
+
};
|
|
68
78
|
export interface TranslationJsonStringSchema {
|
|
69
79
|
type: "string";
|
|
70
80
|
}
|
|
@@ -92,6 +102,13 @@ export interface TranslationConfig<TLocale extends string> {
|
|
|
92
102
|
* Optional overrides for a single translation lookup.
|
|
93
103
|
*/
|
|
94
104
|
export interface TranslateOptions<TLocale extends string> {
|
|
105
|
+
/**
|
|
106
|
+
* Marks this call for `bt extract`.
|
|
107
|
+
*
|
|
108
|
+
* When true, `t(...)` returns the provided string unchanged until the CLI
|
|
109
|
+
* rewrites it to a strict keyed call.
|
|
110
|
+
*/
|
|
111
|
+
bt?: true;
|
|
95
112
|
/**
|
|
96
113
|
* Uses a specific locale for this call instead of the configured default locale.
|
|
97
114
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@better-translate/core",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Framework-agnostic translation configuration runtime for TypeScript projects.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -10,8 +10,12 @@
|
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
11
|
"typesVersions": {
|
|
12
12
|
"*": {
|
|
13
|
-
"core": [
|
|
14
|
-
|
|
13
|
+
"core": [
|
|
14
|
+
"./dist/core.d.ts"
|
|
15
|
+
],
|
|
16
|
+
"server": [
|
|
17
|
+
"./dist/server.d.ts"
|
|
18
|
+
]
|
|
15
19
|
}
|
|
16
20
|
},
|
|
17
21
|
"exports": {
|
|
@@ -29,7 +33,11 @@
|
|
|
29
33
|
},
|
|
30
34
|
"./package.json": "./package.json"
|
|
31
35
|
},
|
|
32
|
-
"files": [
|
|
36
|
+
"files": [
|
|
37
|
+
"dist",
|
|
38
|
+
"LICENSE",
|
|
39
|
+
"README.md"
|
|
40
|
+
],
|
|
33
41
|
"scripts": {
|
|
34
42
|
"build": "tsup src/index.ts src/core.ts src/server.ts --format esm --clean && bun x tsc --declaration --emitDeclarationOnly --module NodeNext --moduleResolution NodeNext --target ES2022 --outDir dist src/types.ts && cp src/core.d.ts src/index.d.ts src/server.d.ts dist/",
|
|
35
43
|
"check-types": "tsc --noEmit",
|
|
@@ -51,5 +59,10 @@
|
|
|
51
59
|
"devDependencies": {
|
|
52
60
|
"@repo/typescript-config": "*"
|
|
53
61
|
},
|
|
54
|
-
"keywords": [
|
|
62
|
+
"keywords": [
|
|
63
|
+
"i18n",
|
|
64
|
+
"l10n",
|
|
65
|
+
"translations",
|
|
66
|
+
"typescript"
|
|
67
|
+
]
|
|
55
68
|
}
|