generaltranslation 2.0.69 → 3.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/LICENSE.md ADDED
@@ -0,0 +1,105 @@
1
+ # Functional Source License, Version 1.1, ALv2 Future License
2
+
3
+ ## Abbreviation
4
+
5
+ FSL-1.1-ALv2
6
+
7
+ ## Notice
8
+
9
+ Copyright 2024 General Translation, Inc.
10
+
11
+ ## Terms and Conditions
12
+
13
+ ### Licensor ("We")
14
+
15
+ The party offering the Software under these Terms and Conditions.
16
+
17
+ ### The Software
18
+
19
+ The "Software" is each version of the software that we make available under
20
+ these Terms and Conditions, as indicated by our inclusion of these Terms and
21
+ Conditions with the Software.
22
+
23
+ ### License Grant
24
+
25
+ Subject to your compliance with this License Grant and the Patents,
26
+ Redistribution and Trademark clauses below, we hereby grant you the right to
27
+ use, copy, modify, create derivative works, publicly perform, publicly display
28
+ and redistribute the Software for any Permitted Purpose identified below.
29
+
30
+ ### Permitted Purpose
31
+
32
+ A Permitted Purpose is any purpose other than a Competing Use. A Competing Use
33
+ means making the Software available to others in a commercial product or
34
+ service that:
35
+
36
+ 1. substitutes for the Software;
37
+
38
+ 2. substitutes for any other product or service we offer using the Software
39
+ that exists as of the date we make the Software available; or
40
+
41
+ 3. offers the same or substantially similar functionality as the Software.
42
+
43
+ Permitted Purposes specifically include using the Software:
44
+
45
+ 1. for your internal use and access;
46
+
47
+ 2. for non-commercial education;
48
+
49
+ 3. for non-commercial research; and
50
+
51
+ 4. in connection with professional services that you provide to a licensee
52
+ using the Software in accordance with these Terms and Conditions.
53
+
54
+ ### Patents
55
+
56
+ To the extent your use for a Permitted Purpose would necessarily infringe our
57
+ patents, the license grant above includes a license under our patents. If you
58
+ make a claim against any party that the Software infringes or contributes to
59
+ the infringement of any patent, then your patent license to the Software ends
60
+ immediately.
61
+
62
+ ### Redistribution
63
+
64
+ The Terms and Conditions apply to all copies, modifications and derivatives of
65
+ the Software.
66
+
67
+ If you redistribute any copies, modifications or derivatives of the Software,
68
+ you must include a copy of or a link to these Terms and Conditions and not
69
+ remove any copyright notices provided in or with the Software.
70
+
71
+ ### Disclaimer
72
+
73
+ THE SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR
74
+ IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR
75
+ PURPOSE, MERCHANTABILITY, TITLE OR NON-INFRINGEMENT.
76
+
77
+ IN NO EVENT WILL WE HAVE ANY LIABILITY TO YOU ARISING OUT OF OR RELATED TO THE
78
+ SOFTWARE, INCLUDING INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES,
79
+ EVEN IF WE HAVE BEEN INFORMED OF THEIR POSSIBILITY IN ADVANCE.
80
+
81
+ ### Trademarks
82
+
83
+ Except for displaying the License Details and identifying us as the origin of
84
+ the Software, you have no right under these Terms and Conditions to use our
85
+ trademarks, trade names, service marks or product names.
86
+
87
+ ## Grant of Future License
88
+
89
+ We hereby irrevocably grant you an additional license to use the Software under
90
+ the Apache License, Version 2.0 that is effective on the second anniversary of
91
+ the date we make the Software available. On or after that date, you may use the
92
+ Software under the Apache License, Version 2.0, in which case the following
93
+ will apply:
94
+
95
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
96
+ this file except in compliance with the License.
97
+
98
+ You may obtain a copy of the License at
99
+
100
+ http://www.apache.org/licenses/LICENSE-2.0
101
+
102
+ Unless required by applicable law or agreed to in writing, software distributed
103
+ under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
104
+ CONDITIONS OF ANY KIND, either express or implied. See the License for the
105
+ specific language governing permissions and limitations under the License.
@@ -1,16 +1,10 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = _determineLanguage;
7
- var _isSameLanguage_1 = __importDefault(require("./_isSameLanguage"));
1
+ import isSameLanguage from './_isSameLanguage';
8
2
  /**
9
3
  * Given a list of language and a list of approved language, sorted in preference order
10
4
  * Determines which language of the given languages is the best match in the approvedLanguages, prioritizing exact matches and falling back to dialects of the same language
11
5
  * @internal
12
6
  */
13
- function _determineLanguage(languages, approvedLanguages) {
7
+ export default function _determineLanguage(languages, approvedLanguages) {
14
8
  if (typeof languages === 'string')
15
9
  languages = [languages];
16
10
  if (!approvedLanguages)
@@ -19,7 +13,7 @@ function _determineLanguage(languages, approvedLanguages) {
19
13
  var exactMatch = approvedLanguages.find(function (approvedLanguage) { return approvedLanguage === language; });
20
14
  if (exactMatch)
21
15
  return { value: exactMatch };
22
- var sameLanguage = approvedLanguages.find(function (approvedLanguage) { return (0, _isSameLanguage_1.default)(approvedLanguage, language); });
16
+ var sameLanguage = approvedLanguages.find(function (approvedLanguage) { return isSameLanguage(approvedLanguage, language); });
23
17
  if (sameLanguage)
24
18
  return { value: sameLanguage };
25
19
  };
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = _isSameLanguage;
4
1
  /**
5
2
  * @internal
6
3
  */
7
- function _isSameLanguage() {
4
+ export default function _isSameLanguage() {
8
5
  var codes = [];
9
6
  for (var _i = 0; _i < arguments.length; _i++) {
10
7
  codes[_i] = arguments[_i];
@@ -1,35 +1,39 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports._standardizeLanguageCode = exports._isValidLanguageCode = void 0;
7
- exports._getLanguageName = _getLanguageName;
8
- exports._getLanguageDirection = _getLanguageDirection;
9
- var libraryDefaultLanguage_1 = __importDefault(require("../settings/libraryDefaultLanguage"));
1
+ import libraryDefaultLanguage from "../settings/libraryDefaultLanguage";
10
2
  /**
11
3
  * Checks if a given BCP 47 language code is valid.
12
4
  * @param {string} code - The BCP 47 language code to validate.
13
5
  * @returns {boolean} True if the BCP 47 code is valid, false otherwise.
14
6
  * @internal
15
7
  */
16
- var _isValidLanguageCode = function (code) {
8
+ export var _isValidLanguageCode = function (code) {
17
9
  try {
18
- var displayNames = new Intl.DisplayNames([libraryDefaultLanguage_1.default], { type: 'language' });
19
- return displayNames.of(code) !== code.toLowerCase();
10
+ var _a = new Intl.Locale(code), language = _a.language, region = _a.region, script = _a.script;
11
+ var displayLanguageNames = new Intl.DisplayNames([libraryDefaultLanguage], { type: 'language' });
12
+ if (displayLanguageNames.of(language) === language)
13
+ return false;
14
+ if (region) {
15
+ var displayRegionNames = new Intl.DisplayNames([libraryDefaultLanguage], { type: 'region' });
16
+ if (displayRegionNames.of(region) === region)
17
+ return false;
18
+ }
19
+ if (script) {
20
+ var displayScriptNames = new Intl.DisplayNames([libraryDefaultLanguage], { type: 'script' });
21
+ if (displayScriptNames.of(script) === script)
22
+ return false;
23
+ }
24
+ return true;
20
25
  }
21
- catch (_a) {
26
+ catch (_b) {
22
27
  return false;
23
28
  }
24
29
  };
25
- exports._isValidLanguageCode = _isValidLanguageCode;
26
30
  /**
27
31
  * Standardizes a BCP 47 language code to ensure correct formatting.
28
32
  * @param {string} code - The BCP 47 language code to standardize.
29
33
  * @returns {string} The standardized BCP 47 language code, or an empty string if invalid.
30
34
  * @internal
31
35
  */
32
- var _standardizeLanguageCode = function (code) {
36
+ export var _standardizeLanguageCode = function (code) {
33
37
  try {
34
38
  return new Intl.Locale(code).toString();
35
39
  }
@@ -38,7 +42,6 @@ var _standardizeLanguageCode = function (code) {
38
42
  return '';
39
43
  }
40
44
  };
41
- exports._standardizeLanguageCode = _standardizeLanguageCode;
42
45
  /**
43
46
  * Retrieves the display name(s) of language code(s) using Intl.DisplayNames.
44
47
  *
@@ -47,8 +50,8 @@ exports._standardizeLanguageCode = _standardizeLanguageCode;
47
50
  * @returns {string | string[]} The display name(s) corresponding to the code(s), or empty string(s) if invalid.
48
51
  * @internal
49
52
  */
50
- function _getLanguageName(code, defaultLanguage) {
51
- if (defaultLanguage === void 0) { defaultLanguage = libraryDefaultLanguage_1.default; }
53
+ export function _getLanguageName(code, defaultLanguage) {
54
+ if (defaultLanguage === void 0) { defaultLanguage = libraryDefaultLanguage; }
52
55
  try {
53
56
  var displayNames_1 = new Intl.DisplayNames([defaultLanguage], { type: 'language' });
54
57
  if (typeof code === 'string') {
@@ -81,7 +84,7 @@ function _getLanguageName(code, defaultLanguage) {
81
84
  * @returns {string} - 'rtl' if the language is right-to-left, otherwise 'ltr'.
82
85
  * @internal
83
86
  */
84
- function _getLanguageDirection(code) {
87
+ export function _getLanguageDirection(code) {
85
88
  var _a;
86
89
  try {
87
90
  var locale = new Intl.Locale(code);
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __assign = (this && this.__assign) || function () {
3
2
  __assign = Object.assign || function(t) {
4
3
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -10,16 +9,7 @@ var __assign = (this && this.__assign) || function () {
10
9
  };
11
10
  return __assign.apply(this, arguments);
12
11
  };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports._formatNum = _formatNum;
18
- exports._formatDateTime = _formatDateTime;
19
- exports._formatCurrency = _formatCurrency;
20
- exports._formatList = _formatList;
21
- exports._formatRelativeTime = _formatRelativeTime;
22
- var libraryDefaultLanguage_1 = __importDefault(require("../settings/libraryDefaultLanguage"));
12
+ import libraryDefaultLanguage from '../settings/libraryDefaultLanguage';
23
13
  /**
24
14
  * Formats a number according to the specified languages and options.
25
15
  *
@@ -31,8 +21,8 @@ var libraryDefaultLanguage_1 = __importDefault(require("../settings/libraryDefau
31
21
  * @returns {string} The formatted number.
32
22
  * @internal
33
23
  */
34
- function _formatNum(_a) {
35
- var value = _a.value, _b = _a.languages, languages = _b === void 0 ? [libraryDefaultLanguage_1.default] : _b, _c = _a.options, options = _c === void 0 ? {} : _c;
24
+ export function _formatNum(_a) {
25
+ var value = _a.value, _b = _a.languages, languages = _b === void 0 ? [libraryDefaultLanguage] : _b, _c = _a.options, options = _c === void 0 ? {} : _c;
36
26
  return new Intl.NumberFormat(languages, __assign({ numberingSystem: 'latn' }, options)).format(value);
37
27
  }
38
28
  /**
@@ -46,8 +36,8 @@ function _formatNum(_a) {
46
36
  * @returns {string} The formatted date.
47
37
  * @internal
48
38
  */
49
- function _formatDateTime(_a) {
50
- var value = _a.value, _b = _a.languages, languages = _b === void 0 ? [libraryDefaultLanguage_1.default] : _b, _c = _a.options, options = _c === void 0 ? {} : _c;
39
+ export function _formatDateTime(_a) {
40
+ var value = _a.value, _b = _a.languages, languages = _b === void 0 ? [libraryDefaultLanguage] : _b, _c = _a.options, options = _c === void 0 ? {} : _c;
51
41
  return new Intl.DateTimeFormat(languages, __assign({ calendar: "gregory", numberingSystem: "latn" }, options)).format(value);
52
42
  }
53
43
  /**
@@ -62,8 +52,8 @@ function _formatDateTime(_a) {
62
52
  * @returns {string} The formatted currency value.
63
53
  * @internal
64
54
  */
65
- function _formatCurrency(_a) {
66
- var value = _a.value, _b = _a.languages, languages = _b === void 0 ? [libraryDefaultLanguage_1.default] : _b, _c = _a.currency, currency = _c === void 0 ? 'USD' : _c, _d = _a.options, options = _d === void 0 ? {} : _d;
55
+ export function _formatCurrency(_a) {
56
+ var value = _a.value, _b = _a.languages, languages = _b === void 0 ? [libraryDefaultLanguage] : _b, _c = _a.currency, currency = _c === void 0 ? 'USD' : _c, _d = _a.options, options = _d === void 0 ? {} : _d;
67
57
  return new Intl.NumberFormat(languages, __assign({ style: 'currency', currency: currency, numberingSystem: 'latn' }, options)).format(value);
68
58
  }
69
59
  /**
@@ -77,8 +67,8 @@ function _formatCurrency(_a) {
77
67
  * @returns {string} The formatted list.
78
68
  * @internal
79
69
  */
80
- function _formatList(_a) {
81
- var value = _a.value, _b = _a.languages, languages = _b === void 0 ? [libraryDefaultLanguage_1.default] : _b, _c = _a.options, options = _c === void 0 ? {} : _c;
70
+ export function _formatList(_a) {
71
+ var value = _a.value, _b = _a.languages, languages = _b === void 0 ? [libraryDefaultLanguage] : _b, _c = _a.options, options = _c === void 0 ? {} : _c;
82
72
  return new Intl.ListFormat(languages, __assign({ type: 'conjunction', style: 'long' }, options)).format(value);
83
73
  }
84
74
  /**
@@ -93,7 +83,7 @@ function _formatList(_a) {
93
83
  * @returns {string} The formatted relative time string.
94
84
  * @internal
95
85
  */
96
- function _formatRelativeTime(_a) {
97
- var value = _a.value, unit = _a.unit, _b = _a.languages, languages = _b === void 0 ? [libraryDefaultLanguage_1.default] : _b, _c = _a.options, options = _c === void 0 ? {} : _c;
86
+ export function _formatRelativeTime(_a) {
87
+ var value = _a.value, unit = _a.unit, _b = _a.languages, languages = _b === void 0 ? [libraryDefaultLanguage] : _b, _c = _a.options, options = _c === void 0 ? {} : _c;
98
88
  return new Intl.RelativeTimeFormat(languages, __assign({ style: "long", numeric: 'auto' }, options)).format(value, unit);
99
89
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __assign = (this && this.__assign) || function () {
3
2
  __assign = Object.assign || function(t) {
4
3
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -10,14 +9,8 @@ var __assign = (this && this.__assign) || function () {
10
9
  };
11
10
  return __assign.apply(this, arguments);
12
11
  };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports._splitStringToContent = _splitStringToContent;
18
- exports._renderContentToString = _renderContentToString;
19
- var libraryDefaultLanguage_1 = __importDefault(require("../settings/libraryDefaultLanguage"));
20
- var format_1 = require("./format");
12
+ import libraryDefaultLanguage from '../settings/libraryDefaultLanguage';
13
+ import { _formatCurrency, _formatDateTime, _formatNum, _formatList } from './format';
21
14
  // Variable types mapping
22
15
  var variableTypeMap = {
23
16
  var: "variable",
@@ -31,7 +24,7 @@ var variableTypeMap = {
31
24
  /**
32
25
  * @internal
33
26
  */
34
- function _splitStringToContent(string) {
27
+ export function _splitStringToContent(string) {
35
28
  if (typeof string !== 'string')
36
29
  throw new Error("splitStringToContent: ".concat(string, " is not a string!"));
37
30
  var result = [];
@@ -73,8 +66,8 @@ function _splitStringToContent(string) {
73
66
  /**
74
67
  * @internal
75
68
  */
76
- function _renderContentToString(content, languages, variables, variableOptions) {
77
- if (languages === void 0) { languages = libraryDefaultLanguage_1.default; }
69
+ export function _renderContentToString(content, languages, variables, variableOptions) {
70
+ if (languages === void 0) { languages = libraryDefaultLanguage; }
78
71
  if (variables === void 0) { variables = {}; }
79
72
  if (variableOptions === void 0) { variableOptions = {}; }
80
73
  if (typeof content === 'string')
@@ -92,20 +85,20 @@ function _renderContentToString(content, languages, variables, variableOptions)
92
85
  if (!item.variable)
93
86
  return value;
94
87
  else if (item.variable === "number") {
95
- return (0, format_1._formatNum)({
88
+ return _formatNum({
96
89
  value: value,
97
90
  languages: languages,
98
91
  options: variableOptions[item.key]
99
92
  });
100
93
  }
101
94
  else if (item.variable === "currency") {
102
- return (0, format_1._formatCurrency)(__assign(__assign({ value: value, languages: languages }, (variableOptions[item.key] && { options: variableOptions[item.key] })), (((_a = variableOptions[item.key]) === null || _a === void 0 ? void 0 : _a.currency) && { currency: variableOptions[item.key].currency })));
95
+ return _formatCurrency(__assign(__assign({ value: value, languages: languages }, (variableOptions[item.key] && { options: variableOptions[item.key] })), (((_a = variableOptions[item.key]) === null || _a === void 0 ? void 0 : _a.currency) && { currency: variableOptions[item.key].currency })));
103
96
  }
104
97
  else if (item.variable === "datetime") {
105
- return (0, format_1._formatDateTime)(__assign({ value: value, languages: languages }, (variableOptions[item.key] && { options: variableOptions[item.key] })));
98
+ return _formatDateTime(__assign({ value: value, languages: languages }, (variableOptions[item.key] && { options: variableOptions[item.key] })));
106
99
  }
107
100
  else if (item.variable === "list") {
108
- return (0, format_1._formatList)(__assign({ value: value, languages: languages }, (variableOptions[item.key] && { options: variableOptions[item.key] })));
101
+ return _formatList(__assign({ value: value, languages: languages }, (variableOptions[item.key] && { options: variableOptions[item.key] })));
109
102
  }
110
103
  return value;
111
104
  }
package/dist/index.d.ts CHANGED
@@ -77,7 +77,6 @@ declare class GT {
77
77
  */
78
78
  updateProjectDictionary(updates: Update[], languages?: string[], replace?: boolean): Promise<string[]>;
79
79
  }
80
- export default GT;
81
80
  /**
82
81
  * Get the text direction for a given language code using the Intl.Locale API.
83
82
  *
@@ -202,3 +201,4 @@ export declare function renderContentToString(content: Content, languages?: stri
202
201
  * @returns {string | undefined} - The best matching language from the approvedLanguages list, or undefined if no match is found.
203
202
  */
204
203
  export declare function determineLanguage(languages: string | string[], approvedLanguages: string[]): string | undefined;
204
+ export default GT;
package/dist/index.js CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  // `generaltranslation` language toolkit
3
2
  // © 2024, General Translation, Inc.
4
3
  var __assign = (this && this.__assign) || function () {
@@ -48,34 +47,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
48
47
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
49
48
  }
50
49
  };
51
- var __importDefault = (this && this.__importDefault) || function (mod) {
52
- return (mod && mod.__esModule) ? mod : { "default": mod };
53
- };
54
- Object.defineProperty(exports, "__esModule", { value: true });
55
- exports.getLanguageDirection = getLanguageDirection;
56
- exports.getLanguageName = getLanguageName;
57
- exports.isValidLanguageCode = isValidLanguageCode;
58
- exports.standardizeLanguageCode = standardizeLanguageCode;
59
- exports.isSameLanguage = isSameLanguage;
60
- exports.formatNum = formatNum;
61
- exports.formatDateTime = formatDateTime;
62
- exports.formatCurrency = formatCurrency;
63
- exports.formatList = formatList;
64
- exports.formatRelativeTime = formatRelativeTime;
65
- exports.splitStringToContent = splitStringToContent;
66
- exports.renderContentToString = renderContentToString;
67
- exports.determineLanguage = determineLanguage;
68
50
  // ----- IMPORTS ----- //
69
- var _translateBundle_1 = __importDefault(require("./translation/dictionaries/_translateBundle"));
70
- var _translate_1 = __importDefault(require("./translation/strings/_translate"));
71
- var _translateReact_1 = __importDefault(require("./translation/react/_translateReact"));
72
- var _updateProjectDictionary_1 = __importDefault(require("./translation/dictionaries/_updateProjectDictionary"));
73
- var _determineLanguage_1 = __importDefault(require("./codes/_determineLanguage"));
74
- var format_1 = require("./formatting/format");
75
- var string_content_1 = require("./formatting/string_content");
76
- var codes_1 = require("./codes/codes");
77
- var _isSameLanguage_1 = __importDefault(require("./codes/_isSameLanguage"));
78
- var libraryDefaultLanguage_1 = __importDefault(require("./settings/libraryDefaultLanguage"));
51
+ import _translateBundle from './translation/dictionaries/_translateBundle';
52
+ import _translate from './translation/strings/_translate';
53
+ import _translateReact from './translation/react/_translateReact';
54
+ import _updateProjectDictionary from './translation/dictionaries/_updateProjectDictionary';
55
+ import _determineLanguage from './codes/_determineLanguage';
56
+ import { _formatNum, _formatCurrency, _formatList, _formatRelativeTime, _formatDateTime } from './formatting/format';
57
+ import { _splitStringToContent, _renderContentToString } from './formatting/string_content';
58
+ import { _getLanguageName, _isValidLanguageCode, _getLanguageDirection, _standardizeLanguageCode } from './codes/codes';
59
+ import _isSameLanguage from './codes/_isSameLanguage';
60
+ import libraryDefaultLanguage from './settings/libraryDefaultLanguage';
79
61
  // ----- CORE CLASS ----- //
80
62
  var getDefaultFromEnv = function (VARIABLE) {
81
63
  if (typeof process !== 'undefined' && process.env) {
@@ -97,7 +79,7 @@ var GT = /** @class */ (function () {
97
79
  * @param {string} [params.baseURL='https://prod.gtx.dev'] - The base URL for the translation service.
98
80
  */
99
81
  function GT(_a) {
100
- var _b = _a === void 0 ? {} : _a, _c = _b.apiKey, apiKey = _c === void 0 ? '' : _c, _d = _b.defaultLanguage, defaultLanguage = _d === void 0 ? libraryDefaultLanguage_1.default : _d, _e = _b.projectID, projectID = _e === void 0 ? '' : _e, _f = _b.baseURL, baseURL = _f === void 0 ? 'https://prod.gtx.dev' : _f;
82
+ var _b = _a === void 0 ? {} : _a, _c = _b.apiKey, apiKey = _c === void 0 ? '' : _c, _d = _b.defaultLanguage, defaultLanguage = _d === void 0 ? libraryDefaultLanguage : _d, _e = _b.projectID, projectID = _e === void 0 ? '' : _e, _f = _b.baseURL, baseURL = _f === void 0 ? 'https://prod.gtx.dev' : _f;
101
83
  this.apiKey = apiKey || getDefaultFromEnv('GT_API_KEY');
102
84
  this.projectID = projectID || getDefaultFromEnv('GT_PROJECT_ID');
103
85
  this.defaultLanguage = defaultLanguage.toLowerCase();
@@ -119,7 +101,7 @@ var GT = /** @class */ (function () {
119
101
  return __awaiter(this, void 0, void 0, function () {
120
102
  return __generator(this, function (_a) {
121
103
  switch (_a.label) {
122
- case 0: return [4 /*yield*/, (0, _translate_1.default)(this, content, language, __assign({ projectID: this.projectID, defaultLanguage: this.defaultLanguage }, metadata))];
104
+ case 0: return [4 /*yield*/, _translate(this, content, language, __assign({ projectID: this.projectID, defaultLanguage: this.defaultLanguage }, metadata))];
123
105
  case 1: return [2 /*return*/, _a.sent()];
124
106
  }
125
107
  });
@@ -139,7 +121,7 @@ var GT = /** @class */ (function () {
139
121
  return __awaiter(this, void 0, void 0, function () {
140
122
  return __generator(this, function (_a) {
141
123
  switch (_a.label) {
142
- case 0: return [4 /*yield*/, (0, _translateReact_1.default)(this, children, language, __assign({ projectID: this.projectID, defaultLanguage: this.defaultLanguage }, metadata))];
124
+ case 0: return [4 /*yield*/, _translateReact(this, children, language, __assign({ projectID: this.projectID, defaultLanguage: this.defaultLanguage }, metadata))];
143
125
  case 1: return [2 /*return*/, _a.sent()];
144
126
  }
145
127
  });
@@ -153,7 +135,7 @@ var GT = /** @class */ (function () {
153
135
  GT.prototype.translateBundle = function (requests) {
154
136
  return __awaiter(this, void 0, void 0, function () {
155
137
  return __generator(this, function (_a) {
156
- return [2 /*return*/, (0, _translateBundle_1.default)(this, requests)];
138
+ return [2 /*return*/, _translateBundle(this, requests)];
157
139
  });
158
140
  });
159
141
  };
@@ -170,22 +152,21 @@ var GT = /** @class */ (function () {
170
152
  if (languages === void 0) { languages = []; }
171
153
  if (replace === void 0) { replace = false; }
172
154
  return __generator(this, function (_a) {
173
- return [2 /*return*/, (0, _updateProjectDictionary_1.default)(this, updates, languages, replace)];
155
+ return [2 /*return*/, _updateProjectDictionary(this, updates, languages, replace)];
174
156
  });
175
157
  });
176
158
  };
177
159
  return GT;
178
160
  }());
179
161
  // ----- EXPORTS ----- //
180
- exports.default = GT;
181
162
  /**
182
163
  * Get the text direction for a given language code using the Intl.Locale API.
183
164
  *
184
165
  * @param {string} code - The language code to check.
185
166
  * @returns {string} - 'rtl' if the language is right-to-left, otherwise 'ltr'.
186
167
  */
187
- function getLanguageDirection(code) {
188
- return (0, codes_1._getLanguageDirection)(code);
168
+ export function getLanguageDirection(code) {
169
+ return _getLanguageDirection(code);
189
170
  }
190
171
  ;
191
172
  /**
@@ -195,8 +176,8 @@ function getLanguageDirection(code) {
195
176
  * @param {string} [language = 'en'] - The language for display names.
196
177
  * @returns {string | string[]} The display name(s) corresponding to the code(s), or empty string(s) if invalid.
197
178
  */
198
- function getLanguageName(code, language) {
199
- return (0, codes_1._getLanguageName)(code, language);
179
+ export function getLanguageName(code, language) {
180
+ return _getLanguageName(code, language);
200
181
  }
201
182
  ;
202
183
  /**
@@ -204,8 +185,8 @@ function getLanguageName(code, language) {
204
185
  * @param {string} code - The BCP 47 language code to validate.
205
186
  * @returns {boolean} True if the BCP 47 code is valid, false otherwise.
206
187
  */
207
- function isValidLanguageCode(code) {
208
- return (0, codes_1._isValidLanguageCode)(code);
188
+ export function isValidLanguageCode(code) {
189
+ return _isValidLanguageCode(code);
209
190
  }
210
191
  ;
211
192
  /**
@@ -213,8 +194,8 @@ function isValidLanguageCode(code) {
213
194
  * @param {string} code - The BCP 47 language code to standardize.
214
195
  * @returns {string} The standardized BCP 47 language code.
215
196
  */
216
- function standardizeLanguageCode(code) {
217
- return (0, codes_1._standardizeLanguageCode)(code);
197
+ export function standardizeLanguageCode(code) {
198
+ return _standardizeLanguageCode(code);
218
199
  }
219
200
  ;
220
201
  /**
@@ -222,12 +203,12 @@ function standardizeLanguageCode(code) {
222
203
  * @param {string[]} codes - The BCP 47 language codes to compare.
223
204
  * @returns {boolean} True if all BCP 47 codes represent the same language, false otherwise.
224
205
  */
225
- function isSameLanguage() {
206
+ export function isSameLanguage() {
226
207
  var codes = [];
227
208
  for (var _i = 0; _i < arguments.length; _i++) {
228
209
  codes[_i] = arguments[_i];
229
210
  }
230
- return _isSameLanguage_1.default.apply(void 0, codes);
211
+ return _isSameLanguage.apply(void 0, codes);
231
212
  }
232
213
  ;
233
214
  /**
@@ -238,8 +219,8 @@ function isSameLanguage() {
238
219
  * @param {Intl.NumberFormatOptions} [params.options={}] - Additional options for number formatting.
239
220
  * @returns {string} The formatted number.
240
221
  */
241
- function formatNum(params) {
242
- return (0, format_1._formatNum)(params);
222
+ export function formatNum(params) {
223
+ return _formatNum(params);
243
224
  }
244
225
  ;
245
226
  /**
@@ -250,8 +231,8 @@ function formatNum(params) {
250
231
  * @param {Intl.DateTimeFormatOptions} [params.options={}] - Additional options for date formatting.
251
232
  * @returns {string} The formatted date.
252
233
  */
253
- function formatDateTime(params) {
254
- return (0, format_1._formatDateTime)(params);
234
+ export function formatDateTime(params) {
235
+ return _formatDateTime(params);
255
236
  }
256
237
  ;
257
238
  /**
@@ -263,8 +244,8 @@ function formatDateTime(params) {
263
244
  * @param {Intl.NumberFormatOptions} [params.options={}] - Additional options for currency formatting.
264
245
  * @returns {string} The formatted currency value.
265
246
  */
266
- function formatCurrency(params) {
267
- return (0, format_1._formatCurrency)(params);
247
+ export function formatCurrency(params) {
248
+ return _formatCurrency(params);
268
249
  }
269
250
  ;
270
251
  /**
@@ -275,8 +256,8 @@ function formatCurrency(params) {
275
256
  * @param {Intl.ListFormatOptions} [params.options={}] - Additional options for list formatting.
276
257
  * @returns {string} The formatted list.
277
258
  */
278
- function formatList(params) {
279
- return (0, format_1._formatList)(params);
259
+ export function formatList(params) {
260
+ return _formatList(params);
280
261
  }
281
262
  ;
282
263
  /**
@@ -288,8 +269,8 @@ function formatList(params) {
288
269
  * @param {Intl.RelativeTimeFormatOptions} [params.options={}] - Additional options for relative time formatting.
289
270
  * @returns {string} The formatted relative time string.
290
271
  */
291
- function formatRelativeTime(params) {
292
- return (0, format_1._formatRelativeTime)(params);
272
+ export function formatRelativeTime(params) {
273
+ return _formatRelativeTime(params);
293
274
  }
294
275
  ;
295
276
  /**
@@ -297,8 +278,8 @@ function formatRelativeTime(params) {
297
278
  * @param {string} string - The input string to split.
298
279
  * @returns {Content} - An array containing strings and VariableObjects.
299
280
  */
300
- function splitStringToContent(string) {
301
- return (0, string_content_1._splitStringToContent)(string);
281
+ export function splitStringToContent(string) {
282
+ return _splitStringToContent(string);
302
283
  }
303
284
  ;
304
285
  /**
@@ -309,8 +290,8 @@ function splitStringToContent(string) {
309
290
  * @param {Record<string, any>} [variableOptions={}] - An object containing options for formatting variables.
310
291
  * @returns {string} - The rendered string with variables replaced by their formatted values.
311
292
  */
312
- function renderContentToString(content, languages, variables, variableOptions) {
313
- return (0, string_content_1._renderContentToString)(content, languages, variables, variableOptions);
293
+ export function renderContentToString(content, languages, variables, variableOptions) {
294
+ return _renderContentToString(content, languages, variables, variableOptions);
314
295
  }
315
296
  ;
316
297
  /**
@@ -319,7 +300,9 @@ function renderContentToString(content, languages, variables, variableOptions) {
319
300
  * @param {string[]} approvedLanguages - An array of approved languages, also sorted by preference.
320
301
  * @returns {string | undefined} - The best matching language from the approvedLanguages list, or undefined if no match is found.
321
302
  */
322
- function determineLanguage(languages, approvedLanguages) {
323
- return (0, _determineLanguage_1.default)(languages, approvedLanguages);
303
+ export function determineLanguage(languages, approvedLanguages) {
304
+ return _determineLanguage(languages, approvedLanguages);
324
305
  }
325
306
  ;
307
+ // DEFAULT EXPORT
308
+ export default GT;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Calculates a unique hash for a given string using xxhash.
3
+ *
4
+ * @param {string} string - The string to be hashed.
5
+ * @returns {string} - The resulting hash as a hexadecimal string.
6
+ */
7
+ export declare function hashString(string: string): string;
@@ -0,0 +1,11 @@
1
+ // Functions provided to other GT libraries
2
+ import XXH from 'xxhashjs';
3
+ /**
4
+ * Calculates a unique hash for a given string using xxhash.
5
+ *
6
+ * @param {string} string - The string to be hashed.
7
+ * @returns {string} - The resulting hash as a hexadecimal string.
8
+ */
9
+ export function hashString(string) {
10
+ return XXH.h64().update(string).digest().toString(16);
11
+ }
@@ -1,4 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  var libraryDefaultLanguage = "en";
4
- exports.default = libraryDefaultLanguage;
2
+ export default libraryDefaultLanguage;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -35,12 +34,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
34
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
35
  }
37
36
  };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = _translateBundle;
40
37
  /**
41
38
  * @internal
42
39
  */
43
- function _translateBundle(gt, requests) {
40
+ export default function _translateBundle(gt, requests) {
44
41
  return __awaiter(this, void 0, void 0, function () {
45
42
  var controller, signal, response, _a, _b, _c, resultArray;
46
43
  var _d, _e, _f;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -35,12 +34,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
34
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
35
  }
37
36
  };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = _updateProjectDictionary;
40
37
  /**
41
38
  * @internal
42
39
  */
43
- function _updateProjectDictionary(gt, updates, languages, replace) {
40
+ export default function _updateProjectDictionary(gt, updates, languages, replace) {
44
41
  return __awaiter(this, void 0, void 0, function () {
45
42
  var response, _a, _b, _c, result;
46
43
  return __generator(this, function (_d) {
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -35,12 +34,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
34
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
35
  }
37
36
  };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = _translateReact;
40
37
  /**
41
38
  * @internal
42
39
  **/
43
- function _translateReact(gt, content, targetLanguage, metadata) {
40
+ export default function _translateReact(gt, content, targetLanguage, metadata) {
44
41
  return __awaiter(this, void 0, void 0, function () {
45
42
  var controller, signal, response, _a, _b, _c;
46
43
  return __generator(this, function (_d) {
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -35,12 +34,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
34
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
35
  }
37
36
  };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = _translate;
40
37
  /**
41
38
  * @internal
42
39
  **/
43
- function _translate(gt, content, targetLanguage, metadata) {
40
+ export default function _translate(gt, content, targetLanguage, metadata) {
44
41
  return __awaiter(this, void 0, void 0, function () {
45
42
  var controller, signal, response, _a, _b, _c, result;
46
43
  return __generator(this, function (_d) {
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
package/package.json CHANGED
@@ -1,23 +1,18 @@
1
1
  {
2
2
  "name": "generaltranslation",
3
- "version": "2.0.69",
3
+ "version": "3.0.1",
4
4
  "description": "A language toolkit for AI developers",
5
- "main": "dist/index.js",
5
+ "main": "dist/index.cjs.min.cjs",
6
+ "module": "dist/index.esm.min.mjs",
6
7
  "types": "dist/index.d.ts",
7
8
  "files": [
8
9
  "dist"
9
10
  ],
10
11
  "scripts": {
12
+ "build": "rm -r -f dist; rollup -c",
11
13
  "transpile": "rm -r -f dist; tsc;",
12
14
  "prepublishOnly": "npm run transpile"
13
15
  },
14
- "exports": {
15
- ".": {
16
- "import": "./dist/index.js",
17
- "require": "./dist/index.js",
18
- "types": "./dist/index.d.ts"
19
- }
20
- },
21
16
  "repository": {
22
17
  "type": "git",
23
18
  "url": "git+https://github.com/General-Translation/generaltranslation.git"
@@ -38,10 +33,47 @@
38
33
  },
39
34
  "homepage": "https://github.com/General-Translation/generaltranslation#readme",
40
35
  "devDependencies": {
36
+ "@rollup/plugin-commonjs": "^28.0.1",
37
+ "@rollup/plugin-terser": "^0.4.4",
38
+ "@rollup/plugin-typescript": "^12.1.1",
41
39
  "@types/node": "^20.14.9",
40
+ "@types/xxhashjs": "^0.2.4",
41
+ "rollup": "^4.24.0",
42
+ "rollup-plugin-dts": "^6.1.1",
43
+ "tslib": "^2.8.0",
42
44
  "typescript": "^5.6.2"
43
45
  },
44
46
  "typescript": {
45
47
  "definition": "dist/index.d.ts"
48
+ },
49
+ "dependencies": {
50
+ "xxhashjs": "^0.2.2"
51
+ },
52
+ "exports": {
53
+ ".": {
54
+ "types": "./dist/index.d.ts",
55
+ "require": "./dist/index.cjs.min.cjs",
56
+ "import": "./dist/index.esm.min.mjs"
57
+ },
58
+ "./internal": {
59
+ "types": "./dist/internal.d.ts",
60
+ "require": "./dist/internal.cjs.min.cjs",
61
+ "import": "./dist/internal.esm.min.mjs"
62
+ }
63
+ },
64
+ "typesVersions": {
65
+ "*": {
66
+ "internal": [
67
+ "./dist/internal.d.ts"
68
+ ]
69
+ }
70
+ },
71
+ "compilerOptions": {
72
+ "baseUrl": ".",
73
+ "paths": {
74
+ "generaltranslation/internal": [
75
+ "/dist/internal"
76
+ ]
77
+ }
46
78
  }
47
79
  }