@forge/api
6.4.1-next.0-experimental-90651456.4.1
~
Modified (5 files)
Index: package/out/api/i18n.js
===================================================================
--- package/out/api/i18n.js
+++ package/out/api/i18n.js
@@ -45,23 +45,33 @@
translationsGetter.reset();
translationsFunctionCache.clear();
};
exports.resetTranslationsCache = resetTranslationsCache;
-const getTranslations = async (locale, options = {
+const getTranslations = async (rawLocale, options = {
fallback: true
}) => {
+ const locale = doEnsureLocale(rawLocale);
return await translationsGetter.getTranslations(locale, options);
};
exports.getTranslations = getTranslations;
-const createTranslationFunction = async (locale) => {
+const createTranslationFunction = async (rawLocale) => {
+ const locale = doEnsureLocale(rawLocale);
let translator = translationsFunctionCache.get(locale);
if (!translator) {
translator = await createTranslationFunctionImpl(locale);
translationsFunctionCache.set(locale, translator);
}
return translator;
};
exports.createTranslationFunction = createTranslationFunction;
+const doEnsureLocale = (rawLocale) => {
+ const ensuredLocale = (0, i18n_1.ensureLocale)(rawLocale);
+ if (!ensuredLocale) {
+ console.warn(`The locale "${rawLocale}" is not supported, defaulting to the default locale.`);
+ return rawLocale;
+ }
+ return ensuredLocale;
+};
const createTranslationFunctionImpl = async (locale) => {
const translator = new i18n_1.Translator(locale, translationsGetter);
await translator.init();
return (i18nKey, defaultValue) => translator.translate(i18nKey) ?? defaultValue ?? i18nKey; Index: package/package.json
===================================================================
--- package/package.json
+++ package/package.json
@@ -1,7 +1,7 @@
{
"name": "@forge/api",
- "version": "6.4.1-next.0-experimental-9065145",
+ "version": "6.4.1",
"description": "Forge API methods",
"author": "Atlassian",
"license": "SEE LICENSE IN LICENSE.txt",
"main": "out/index.js",
@@ -15,9 +15,9 @@
"devDependencies": {
"@atlassian/ari": "^2.199.0",
"@atlassian/in-memory-metrics": "0.1.0",
"@atlassian/metrics-interface": "4.0.0",
- "@forge/runtime": "6.1.1",
+ "@forge/runtime": "6.1.2",
"@types/node": "20.19.1",
"@types/node-fetch": "^2.6.12",
"expect-type": "^0.17.3",
"express": "^4.18.3",
@@ -27,9 +27,9 @@
"dependencies": {
"@forge/auth": "0.0.9",
"@forge/egress": "2.3.0",
"@forge/i18n": "0.0.7",
- "@forge/manifest": "^11.3.0-next.2-experimental-9065145",
+ "@forge/manifest": "^11.3.0",
"@forge/storage": "2.0.3",
"headers-utils": "^3.0.2",
"minimatch": "^9.0.5"
}, Index: package/out/api/i18n.d.ts.map
===================================================================
--- package/out/api/i18n.d.ts.map
+++ package/out/api/i18n.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/api/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAO3B,MAAM,aAAa,CAAC;AAmDrB,eAAO,MAAM,sBAAsB,QAAO,IAGzC,CAAC;AAEF,eAAO,MAAM,eAAe,WAClB,wBAAwB,YACvB,sBAAsB,KAG9B,QAAQ,qBAAqB,CAE/B,CAAC;AAUF,oBAAY,mBAAmB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;AASrF,eAAO,MAAM,yBAAyB,WAAkB,wBAAwB,KAAG,QAAQ,mBAAmB,CAO7G,CAAC;AAQF,eAAO,MAAM,IAAI;wCAfuC,wBAAwB,KAAG,QAAQ,mBAAmB,CAAC;8BAzBrG,wBAAwB,YACvB,sBAAsB,KAG9B,QAAQ,qBAAqB,CAAC;CAuChC,CAAC"}
\ No newline at end of file
+{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/api/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAQ3B,MAAM,aAAa,CAAC;AAmDrB,eAAO,MAAM,sBAAsB,QAAO,IAGzC,CAAC;AAEF,eAAO,MAAM,eAAe,cACf,MAAM,YACR,sBAAsB,KAG9B,QAAQ,qBAAqB,CAG/B,CAAC;AAUF,oBAAY,mBAAmB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;AASrF,eAAO,MAAM,yBAAyB,cAAqB,MAAM,KAAG,QAAQ,mBAAmB,CAQ9F,CAAC;AAkBF,eAAO,MAAM,IAAI;2CA1B0C,MAAM,KAAG,QAAQ,mBAAmB,CAAC;iCA1BnF,MAAM,YACR,sBAAsB,KAG9B,QAAQ,qBAAqB,CAAC;CAmDhC,CAAC"}
\ No newline at end of file Index: package/CHANGELOG.md
===================================================================
--- package/CHANGELOG.md
+++ package/CHANGELOG.md
@@ -1,15 +1,23 @@
# @forge/api
-## 6.4.1-next.0-experimental-9065145
+## 6.4.1
### Patch Changes
+- 6f348d9: Updated i18n.createTranslationFunction and i18n.getTranslations in @forge/api to automatically convert input locales to Forge supported locale codes when applicable. If an unsupported locale is provided, a warning will now be logged to the browser console.
- Updated dependencies [c7544d8]
- Updated dependencies [7c2186c]
- Updated dependencies [0c3a0df]
- - @forge/[email protected]
+- Updated dependencies [bb5cb57]
+ - @forge/[email protected]
+## 6.4.1-next.1
+
+### Patch Changes
+
+- 6f348d9: Updated i18n.createTranslationFunction and i18n.getTranslations in @forge/api to automatically convert input locales to Forge supported locale codes when applicable. If an unsupported locale is provided, a warning will now be logged to the browser console.
+
## 6.4.1-next.0
### Patch Changes Index: package/out/api/i18n.d.ts
===================================================================
--- package/out/api/i18n.d.ts
+++ package/out/api/i18n.d.ts
@@ -1,10 +1,10 @@
-import { type ForgeSupportedLocaleCode, type GetTranslationsOptions, type GetTranslationsResult } from '@forge/i18n';
+import { type GetTranslationsOptions, type GetTranslationsResult } from '@forge/i18n';
export declare const resetTranslationsCache: () => void;
-export declare const getTranslations: (locale: ForgeSupportedLocaleCode, options?: GetTranslationsOptions) => Promise<GetTranslationsResult>;
+export declare const getTranslations: (rawLocale: string, options?: GetTranslationsOptions) => Promise<GetTranslationsResult>;
export declare type TranslationFunction = (i18nKey: string, defaultValue?: string) => string;
-export declare const createTranslationFunction: (locale: ForgeSupportedLocaleCode) => Promise<TranslationFunction>;
+export declare const createTranslationFunction: (rawLocale: string) => Promise<TranslationFunction>;
export declare const i18n: {
- createTranslationFunction: (locale: ForgeSupportedLocaleCode) => Promise<TranslationFunction>;
- getTranslations: (locale: ForgeSupportedLocaleCode, options?: GetTranslationsOptions) => Promise<GetTranslationsResult>;
+ createTranslationFunction: (rawLocale: string) => Promise<TranslationFunction>;
+ getTranslations: (rawLocale: string, options?: GetTranslationsOptions) => Promise<GetTranslationsResult>;
};
//# sourceMappingURL=i18n.d.ts.map
\ No newline at end of file