@wix/multilingual-manager 1.0.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/README.md +154 -0
- package/dist/cjs/index.d.ts +34 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +36 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/languages-display-names.d.ts +2 -0
- package/dist/cjs/languages-display-names.d.ts.map +1 -0
- package/dist/cjs/languages-display-names.js +186 -0
- package/dist/cjs/languages-display-names.js.map +1 -0
- package/dist/cjs/multilingual.d.ts +37 -0
- package/dist/cjs/multilingual.d.ts.map +1 -0
- package/dist/cjs/multilingual.js +166 -0
- package/dist/cjs/multilingual.js.map +1 -0
- package/dist/cjs/types.d.ts +165 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +13 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/esm/index.d.ts +34 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +32 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/languages-display-names.d.ts +2 -0
- package/dist/esm/languages-display-names.d.ts.map +1 -0
- package/dist/esm/languages-display-names.js +183 -0
- package/dist/esm/languages-display-names.js.map +1 -0
- package/dist/esm/multilingual.d.ts +37 -0
- package/dist/esm/multilingual.d.ts.map +1 -0
- package/dist/esm/multilingual.js +161 -0
- package/dist/esm/multilingual.js.map +1 -0
- package/dist/esm/types.d.ts +165 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +10 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +79 -0
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a language available on the site.
|
|
3
|
+
*
|
|
4
|
+
* An object containing information about a language, including its identifier,
|
|
5
|
+
* display name, regional format, URL, and whether it's the primary language.
|
|
6
|
+
*/
|
|
7
|
+
export interface Language {
|
|
8
|
+
/**
|
|
9
|
+
* The language identifier (e.g., "en", "fr", "es", "en-AU").
|
|
10
|
+
*/
|
|
11
|
+
id: string | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* The display name of the language (e.g., "English", "Français", "Español", "English (Australia)").
|
|
14
|
+
*/
|
|
15
|
+
displayName: string | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* The regional format identifier (e.g., "en-US", "fr-FR", "es-ES").
|
|
18
|
+
*/
|
|
19
|
+
regionalFormat: string | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* The URL for the language version of the site. Supports URLs for sites hosted outside Wix.
|
|
22
|
+
* (e.g., "https://mysite.com/en", "https://mysite.com/fr").
|
|
23
|
+
*/
|
|
24
|
+
url: string | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Whether this is the primary language for the site.
|
|
27
|
+
*/
|
|
28
|
+
primary: boolean | undefined;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Locale information
|
|
32
|
+
*/
|
|
33
|
+
export interface Locale {
|
|
34
|
+
/**
|
|
35
|
+
* Language code (e.g., "en", "fr")
|
|
36
|
+
*/
|
|
37
|
+
languageCode?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Country code (e.g., "US", "FR")
|
|
40
|
+
*/
|
|
41
|
+
country?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Resolution method for language detection
|
|
45
|
+
*/
|
|
46
|
+
export declare enum ResolutionMethod {
|
|
47
|
+
QUERY_PARAM = "QUERY_PARAM",
|
|
48
|
+
SUBDOMAIN = "SUBDOMAIN",
|
|
49
|
+
SUBDIRECTORY = "SUBDIRECTORY"
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Supported language from the multilingual API
|
|
53
|
+
*/
|
|
54
|
+
export interface GlobalThisSupportedLanguage {
|
|
55
|
+
/**
|
|
56
|
+
* Country code (e.g., "USA", "ISR")
|
|
57
|
+
*/
|
|
58
|
+
countryCode?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Whether this is the primary language
|
|
61
|
+
*/
|
|
62
|
+
isPrimary?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Whether this is the visitor's primary language
|
|
65
|
+
*/
|
|
66
|
+
isVisitorPrimary?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Language code (e.g., "en", "he")
|
|
69
|
+
*/
|
|
70
|
+
languageCode?: string;
|
|
71
|
+
/**
|
|
72
|
+
* URL (e.g., "https://mysite.com/en", "https://mysite.com/he")
|
|
73
|
+
*/
|
|
74
|
+
url?: string;
|
|
75
|
+
/**
|
|
76
|
+
* Locale information
|
|
77
|
+
*/
|
|
78
|
+
locale?: Locale;
|
|
79
|
+
/**
|
|
80
|
+
* Resolution method for language detection
|
|
81
|
+
*/
|
|
82
|
+
resolutionMethod?: ResolutionMethod;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Site language from the multilingual API (siteLanguages format)
|
|
86
|
+
*/
|
|
87
|
+
export interface VeloGlobalsSiteLanguage {
|
|
88
|
+
/**
|
|
89
|
+
* Country code (e.g., "USA", "ISR")
|
|
90
|
+
*/
|
|
91
|
+
countryCode?: string;
|
|
92
|
+
/**
|
|
93
|
+
* Whether this is the primary language
|
|
94
|
+
*/
|
|
95
|
+
isPrimaryLanguage?: boolean;
|
|
96
|
+
/**
|
|
97
|
+
* Language code (e.g., "en", "he")
|
|
98
|
+
*/
|
|
99
|
+
languageCode?: string;
|
|
100
|
+
/**
|
|
101
|
+
* Locale string (e.g., "en-us", "he-il")
|
|
102
|
+
*/
|
|
103
|
+
locale?: string;
|
|
104
|
+
/**
|
|
105
|
+
* Localized name of the language (e.g., "עברית")
|
|
106
|
+
*/
|
|
107
|
+
localizedName?: string;
|
|
108
|
+
/**
|
|
109
|
+
* Name of the language (e.g., "English", "Hebrew")
|
|
110
|
+
*/
|
|
111
|
+
name?: string;
|
|
112
|
+
/**
|
|
113
|
+
* Resolution method (e.g., "QueryParam", "Subdomain", "Subdirectory")
|
|
114
|
+
*/
|
|
115
|
+
resolutionMethod?: string;
|
|
116
|
+
/**
|
|
117
|
+
* SEO language code (e.g., "en-us", "he-il")
|
|
118
|
+
*/
|
|
119
|
+
seoLang?: string;
|
|
120
|
+
/**
|
|
121
|
+
* Status of the language (e.g., "Active")
|
|
122
|
+
*/
|
|
123
|
+
status?: string;
|
|
124
|
+
/**
|
|
125
|
+
* URL for the language version of the site
|
|
126
|
+
*/
|
|
127
|
+
url?: string;
|
|
128
|
+
/**
|
|
129
|
+
* Whether this is the visitor's primary language
|
|
130
|
+
*/
|
|
131
|
+
visitorPrimary?: boolean;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Multilingual API object
|
|
135
|
+
*/
|
|
136
|
+
export interface Multilingual {
|
|
137
|
+
/**
|
|
138
|
+
* Whether auto-redirect is enabled
|
|
139
|
+
*/
|
|
140
|
+
autoRedirect?: boolean;
|
|
141
|
+
/**
|
|
142
|
+
* Array of supported languages (supportedLanguages format)
|
|
143
|
+
*/
|
|
144
|
+
supportedLanguages?: GlobalThisSupportedLanguage[];
|
|
145
|
+
/**
|
|
146
|
+
* Array of site languages (siteLanguages format)
|
|
147
|
+
*/
|
|
148
|
+
siteLanguages?: VeloGlobalsSiteLanguage[];
|
|
149
|
+
}
|
|
150
|
+
interface Essentials {
|
|
151
|
+
multilingual?: Multilingual;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Global object extensions for Wix Multilingual Manager
|
|
155
|
+
*/
|
|
156
|
+
declare global {
|
|
157
|
+
interface Window {
|
|
158
|
+
essentials?: Essentials;
|
|
159
|
+
}
|
|
160
|
+
var __wix_site_metadata__: {
|
|
161
|
+
multilingual?: Multilingual;
|
|
162
|
+
} | undefined;
|
|
163
|
+
}
|
|
164
|
+
export {};
|
|
165
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC;;OAEG;IACH,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC;;;OAGG;IACH,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB;;OAEG;IACH,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,YAAY,iBAAiB;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,kBAAkB,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACnD;;OAEG;IACH,aAAa,CAAC,EAAE,uBAAuB,EAAE,CAAC;CAC3C;AAED,UAAU,UAAU;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;GAEG;AACH,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB;IAGD,IAAI,qBAAqB,EACrB;QACE,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,GACD,SAAS,CAAC;CACf"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResolutionMethod = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Resolution method for language detection
|
|
6
|
+
*/
|
|
7
|
+
var ResolutionMethod;
|
|
8
|
+
(function (ResolutionMethod) {
|
|
9
|
+
ResolutionMethod["QUERY_PARAM"] = "QUERY_PARAM";
|
|
10
|
+
ResolutionMethod["SUBDOMAIN"] = "SUBDOMAIN";
|
|
11
|
+
ResolutionMethod["SUBDIRECTORY"] = "SUBDIRECTORY";
|
|
12
|
+
})(ResolutionMethod || (exports.ResolutionMethod = ResolutionMethod = {}));
|
|
13
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AA4CA;;GAEG;AACH,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,+CAA2B,CAAA;IAC3B,2CAAuB,CAAA;IACvB,iDAA6B,CAAA;AAC/B,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @wix/multilingual - Wix Multilingual SDK
|
|
3
|
+
*
|
|
4
|
+
* This package provides a type-safe interface for accessing available languages
|
|
5
|
+
* by proxying to the browser's window.multilingual methods.
|
|
6
|
+
*/
|
|
7
|
+
import type { Language } from "./types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Gets an array of all available languages as defined in ML.
|
|
10
|
+
*
|
|
11
|
+
* Provides an array of all the available languages as defined in ML. Array of Language object.
|
|
12
|
+
* Supports URLs for sites hosted outside Wix.
|
|
13
|
+
*
|
|
14
|
+
* @returns Array of Language objects
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import { listSupportedLanguages } from '@wix/site';
|
|
19
|
+
*
|
|
20
|
+
* const languages = listSupportedLanguages();
|
|
21
|
+
* languages.forEach(lang => {
|
|
22
|
+
* console.log(`${lang.displayName} (${lang.id}): ${lang.URL}`);
|
|
23
|
+
* });
|
|
24
|
+
*
|
|
25
|
+
* // Find primary language
|
|
26
|
+
* const primaryLanguage = languages.find(lang => lang.primary);
|
|
27
|
+
* if (primaryLanguage) {
|
|
28
|
+
* console.log('Primary language:', primaryLanguage.displayName);
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export { listSupportedLanguages } from "./multilingual.js";
|
|
33
|
+
export type { Language };
|
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAO,mBAAmB,CAAC;AAG5D,YAAY,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @wix/multilingual - Wix Multilingual SDK
|
|
3
|
+
*
|
|
4
|
+
* This package provides a type-safe interface for accessing available languages
|
|
5
|
+
* by proxying to the browser's window.multilingual methods.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Gets an array of all available languages as defined in ML.
|
|
9
|
+
*
|
|
10
|
+
* Provides an array of all the available languages as defined in ML. Array of Language object.
|
|
11
|
+
* Supports URLs for sites hosted outside Wix.
|
|
12
|
+
*
|
|
13
|
+
* @returns Array of Language objects
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import { listSupportedLanguages } from '@wix/site';
|
|
18
|
+
*
|
|
19
|
+
* const languages = listSupportedLanguages();
|
|
20
|
+
* languages.forEach(lang => {
|
|
21
|
+
* console.log(`${lang.displayName} (${lang.id}): ${lang.URL}`);
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* // Find primary language
|
|
25
|
+
* const primaryLanguage = languages.find(lang => lang.primary);
|
|
26
|
+
* if (primaryLanguage) {
|
|
27
|
+
* console.log('Primary language:', primaryLanguage.displayName);
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export { listSupportedLanguages } from "./multilingual.js";
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAO,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"languages-display-names.d.ts","sourceRoot":"","sources":["../../src/languages-display-names.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqLxD,CAAC"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
export const languagesDisplayNames = {
|
|
2
|
+
"cs": "Čeština",
|
|
3
|
+
"da": "Dansk",
|
|
4
|
+
"de": "Deutsch",
|
|
5
|
+
"en": "English",
|
|
6
|
+
"es": "Español",
|
|
7
|
+
"fr": "Français",
|
|
8
|
+
"hi": "हिन्दी",
|
|
9
|
+
"id": "Bahasa Indonesia",
|
|
10
|
+
"it": "Italiano",
|
|
11
|
+
"ja": "日本語",
|
|
12
|
+
"ko": "한국어",
|
|
13
|
+
"nl": "Nederlands",
|
|
14
|
+
"no": "Norsk",
|
|
15
|
+
"pl": "Polski",
|
|
16
|
+
"pt": "Português",
|
|
17
|
+
"ru": "Русский",
|
|
18
|
+
"sv": "Svenska",
|
|
19
|
+
"th": "ไทย",
|
|
20
|
+
"tr": "Türkçe",
|
|
21
|
+
"uk": "Українська",
|
|
22
|
+
"vi": "Tiếng Việt",
|
|
23
|
+
"zh": "繁體中文",
|
|
24
|
+
"sq": "Shqip",
|
|
25
|
+
"am": "አማርኛ",
|
|
26
|
+
"ar": "العربية",
|
|
27
|
+
"hy": "Հայերեն",
|
|
28
|
+
"az": "Azərbaycan dili",
|
|
29
|
+
"eu": "Euskara",
|
|
30
|
+
"be": "Беларуская",
|
|
31
|
+
"bn": "বাংলা",
|
|
32
|
+
"bs": "Bosanski",
|
|
33
|
+
"bg": "Български",
|
|
34
|
+
"ca": "Català",
|
|
35
|
+
"ny": "ChiCheŵa",
|
|
36
|
+
"co": "Corsu",
|
|
37
|
+
"hr": "Hrvatski",
|
|
38
|
+
"et": "Eesti",
|
|
39
|
+
"fj": "Vosa Vakaviti",
|
|
40
|
+
"fi": "Suomi",
|
|
41
|
+
"ga": "Gaeilge",
|
|
42
|
+
"gl": "Galego",
|
|
43
|
+
"ka": "ქართული",
|
|
44
|
+
"el": "Ελληνικά",
|
|
45
|
+
"gu": "ગુજરાતી",
|
|
46
|
+
"ht": "Kreyòl Ayisyen",
|
|
47
|
+
"ha": "Hausa",
|
|
48
|
+
"he": "עברית",
|
|
49
|
+
"hu": "Magyar",
|
|
50
|
+
"is": "Íslenska",
|
|
51
|
+
"ig": "Igbo",
|
|
52
|
+
"kn": "ಕನ್ನಡ",
|
|
53
|
+
"kk": "Қазақ тілі",
|
|
54
|
+
"km": "ភាសាខ្មែរ",
|
|
55
|
+
"ku": "Kurdî",
|
|
56
|
+
"ky": "Кыргызча",
|
|
57
|
+
"lb": "Lëtzebuergesch",
|
|
58
|
+
"lo": "ລາວ",
|
|
59
|
+
"la": "Latina",
|
|
60
|
+
"lv": "Latviešu",
|
|
61
|
+
"lt": "Lietuvių",
|
|
62
|
+
"mk": "Македонски",
|
|
63
|
+
"mg": "Malagasy",
|
|
64
|
+
"ms": "Bahasa Melayu",
|
|
65
|
+
"ml": "മലയാളം",
|
|
66
|
+
"mt": "Malti",
|
|
67
|
+
"mn": "Монгол",
|
|
68
|
+
"ne": "नेपाली",
|
|
69
|
+
"ps": "پښتو",
|
|
70
|
+
"fa": "فارسی",
|
|
71
|
+
"ro": "Română",
|
|
72
|
+
"sm": "Gagana Samoa",
|
|
73
|
+
"sr": "Српски",
|
|
74
|
+
"sn": "Shona",
|
|
75
|
+
"sd": "سنڌي",
|
|
76
|
+
"si": "සිංහල",
|
|
77
|
+
"sk": "Slovenčina",
|
|
78
|
+
"sl": "Slovenščina",
|
|
79
|
+
"so": "Soomaaliga",
|
|
80
|
+
"su": "Basa Sunda",
|
|
81
|
+
"sw": "Kiswahili",
|
|
82
|
+
"tl": "Filipino",
|
|
83
|
+
"tg": "Тоҷикӣ",
|
|
84
|
+
"ta": "தமிழ்",
|
|
85
|
+
"te": "తెలుగు",
|
|
86
|
+
"tk": "Türkmen",
|
|
87
|
+
"ur": "اردو",
|
|
88
|
+
"uz": "O'zbek",
|
|
89
|
+
"cy": "Cymraeg",
|
|
90
|
+
"xh": "isiXhosa",
|
|
91
|
+
"yi": "ייִדיש",
|
|
92
|
+
"yo": "Yorùbá",
|
|
93
|
+
"zu": "isiZulu",
|
|
94
|
+
"kl": "Kalaallisut",
|
|
95
|
+
"fo": "Føroyskt",
|
|
96
|
+
"ln": "Lingála",
|
|
97
|
+
"mi": "Māori",
|
|
98
|
+
"mr": "मराठी",
|
|
99
|
+
"my": "မြန်မာ",
|
|
100
|
+
"se": "Sámegiella",
|
|
101
|
+
"ug": "ئۇيغۇرچە",
|
|
102
|
+
"qu": "Runa Simi",
|
|
103
|
+
"aa": "Afar",
|
|
104
|
+
"ab": "Аҧсуа",
|
|
105
|
+
"ae": "Avestan",
|
|
106
|
+
"ak": "Akan",
|
|
107
|
+
"an": "Aragonés",
|
|
108
|
+
"as": "অসমীয়া",
|
|
109
|
+
"av": "Авар",
|
|
110
|
+
"ay": "Aymar aru",
|
|
111
|
+
"ba": "Башҡортса",
|
|
112
|
+
"bh": "भोजपुरी",
|
|
113
|
+
"bi": "Bislama",
|
|
114
|
+
"bm": "Bamanankan",
|
|
115
|
+
"bo": "བོད་སྐད་",
|
|
116
|
+
"br": "Brezhoneg",
|
|
117
|
+
"ce": "Нохчийн",
|
|
118
|
+
"ch": "Chamoru",
|
|
119
|
+
"cr": "ᓀᐦᐃᔭᐍᐏᐣ",
|
|
120
|
+
"cu": "Црькъвьнословѣньскъ",
|
|
121
|
+
"cv": "Чӑвашла",
|
|
122
|
+
"dv": "ދިވެހިބަސް",
|
|
123
|
+
"dz": "རྫོང་ཁ",
|
|
124
|
+
"ee": "Eʋegbe",
|
|
125
|
+
"eo": "Esperanto",
|
|
126
|
+
"ff": "Fulah",
|
|
127
|
+
"fy": "Frysk",
|
|
128
|
+
"gd": "Gàidhlig",
|
|
129
|
+
"gn": "Avañe'ẽ",
|
|
130
|
+
"gv": "Gaelg",
|
|
131
|
+
"ho": "Hiri Motu",
|
|
132
|
+
"hz": "Otjiherero",
|
|
133
|
+
"ia": "Interlingua",
|
|
134
|
+
"ie": "Interlingue",
|
|
135
|
+
"ii": "ꆈꌠꉙ",
|
|
136
|
+
"ik": "Iñupiaq",
|
|
137
|
+
"io": "Ido",
|
|
138
|
+
"iu": "ᐃᓄᒃᑎᑐᑦ",
|
|
139
|
+
"jv": "Basa Jawa",
|
|
140
|
+
"ki": "Gikuyu",
|
|
141
|
+
"kr": "Kanuri",
|
|
142
|
+
"ks": "کٲشُر",
|
|
143
|
+
"kw": "Kernewek",
|
|
144
|
+
"lg": "Luganda",
|
|
145
|
+
"li": "Limburgs",
|
|
146
|
+
"lu": "Tshiluba",
|
|
147
|
+
"mh": "Kajin M̧ajeļ",
|
|
148
|
+
"na": "Dorerin Naoero",
|
|
149
|
+
"nb": "Norsk Bokmål",
|
|
150
|
+
"nd": "isiNdebele",
|
|
151
|
+
"ng": "Oshiwambo",
|
|
152
|
+
"nn": "Norsk Nynorsk",
|
|
153
|
+
"nr": "isiNdebele (South)",
|
|
154
|
+
"nv": "Diné Bizaad",
|
|
155
|
+
"oc": "Occitan",
|
|
156
|
+
"oj": "Anishinaabemowin",
|
|
157
|
+
"om": "Afaan Oromoo",
|
|
158
|
+
"or": "ଓଡ଼ିଆ",
|
|
159
|
+
"os": "Ирон",
|
|
160
|
+
"pa": "ਪੰਜਾਬੀ",
|
|
161
|
+
"pi": "𑀅𑀯𑀢",
|
|
162
|
+
"rm": "Rumantsch",
|
|
163
|
+
"rn": "Ikirundi",
|
|
164
|
+
"rw": "Kinyarwanda",
|
|
165
|
+
"sa": "संस्कृतम्",
|
|
166
|
+
"sc": "Sardu",
|
|
167
|
+
"sg": "Sängö",
|
|
168
|
+
"ss": "SiSwati",
|
|
169
|
+
"st": "Sesotho",
|
|
170
|
+
"ti": "ትግርኛ",
|
|
171
|
+
"tn": "Setswana",
|
|
172
|
+
"to": "Faka Tonga",
|
|
173
|
+
"ts": "Xitsonga",
|
|
174
|
+
"tt": "Татарча",
|
|
175
|
+
"tw": "Twi",
|
|
176
|
+
"ty": "Reo Tahiti",
|
|
177
|
+
"ve": "Tshivenḓa",
|
|
178
|
+
"vo": "Volapük",
|
|
179
|
+
"wa": "Walon",
|
|
180
|
+
"wo": "Wolof",
|
|
181
|
+
"za": "Saɯ cueŋƅ"
|
|
182
|
+
};
|
|
183
|
+
//# sourceMappingURL=languages-display-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"languages-display-names.js","sourceRoot":"","sources":["../../src/languages-display-names.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { GlobalThisSupportedLanguage, VeloGlobalsSiteLanguage, Language } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Gets an array of all available languages as defined in ML.
|
|
4
|
+
*
|
|
5
|
+
* Provides an array of all the available languages as defined in ML. Array of Language object.
|
|
6
|
+
* Supports URLs for sites hosted outside Wix.
|
|
7
|
+
*
|
|
8
|
+
* @returns Array of Language objects, or empty array if not available
|
|
9
|
+
*
|
|
10
|
+
* @example Get available languages
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { listSupportedLanguages } from '@wix/site';
|
|
13
|
+
*
|
|
14
|
+
* const languages = listSupportedLanguages();
|
|
15
|
+
* console.log('Available languages:', languages);
|
|
16
|
+
* // [
|
|
17
|
+
* // {
|
|
18
|
+
* // id: "en",
|
|
19
|
+
* // displayName: "English",
|
|
20
|
+
* // regionalFormat: "en-US",
|
|
21
|
+
* // URL: "https://mysite.com/en",
|
|
22
|
+
* // primary: true
|
|
23
|
+
* // },
|
|
24
|
+
* // {
|
|
25
|
+
* // id: "fr",
|
|
26
|
+
* // displayName: "Français",
|
|
27
|
+
* // regionalFormat: "fr-FR",
|
|
28
|
+
* // URL: "https://mysite.com/fr",
|
|
29
|
+
* // primary: false
|
|
30
|
+
* // }
|
|
31
|
+
* // ]
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function listSupportedLanguages(): Language[];
|
|
35
|
+
export declare function buildDisplayName(language: VeloGlobalsSiteLanguage | GlobalThisSupportedLanguage): string | undefined;
|
|
36
|
+
export declare function buildUrlForLanguage(language: VeloGlobalsSiteLanguage | GlobalThisSupportedLanguage, cleanUrl: string): string | undefined;
|
|
37
|
+
//# sourceMappingURL=multilingual.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multilingual.d.ts","sourceRoot":"","sources":["../../src/multilingual.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAC3B,uBAAuB,EACvB,QAAQ,EAET,MAAM,YAAY,CAAC;AAMpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,sBAAsB,IAAI,QAAQ,EAAE,CASnD;AAoED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,2BAA2B,GAAG,MAAM,GAAG,SAAS,CAapH;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,2BAA2B,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA0BzI"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { ResolutionMethod } from "./types.js";
|
|
2
|
+
import { languagesDisplayNames } from "./languages-display-names.js";
|
|
3
|
+
import { applyLanguageToUrl, clearLanguageFromUrl } from '@wix/headless-localization-utils';
|
|
4
|
+
/**
|
|
5
|
+
* Gets an array of all available languages as defined in ML.
|
|
6
|
+
*
|
|
7
|
+
* Provides an array of all the available languages as defined in ML. Array of Language object.
|
|
8
|
+
* Supports URLs for sites hosted outside Wix.
|
|
9
|
+
*
|
|
10
|
+
* @returns Array of Language objects, or empty array if not available
|
|
11
|
+
*
|
|
12
|
+
* @example Get available languages
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import { listSupportedLanguages } from '@wix/site';
|
|
15
|
+
*
|
|
16
|
+
* const languages = listSupportedLanguages();
|
|
17
|
+
* console.log('Available languages:', languages);
|
|
18
|
+
* // [
|
|
19
|
+
* // {
|
|
20
|
+
* // id: "en",
|
|
21
|
+
* // displayName: "English",
|
|
22
|
+
* // regionalFormat: "en-US",
|
|
23
|
+
* // URL: "https://mysite.com/en",
|
|
24
|
+
* // primary: true
|
|
25
|
+
* // },
|
|
26
|
+
* // {
|
|
27
|
+
* // id: "fr",
|
|
28
|
+
* // displayName: "Français",
|
|
29
|
+
* // regionalFormat: "fr-FR",
|
|
30
|
+
* // URL: "https://mysite.com/fr",
|
|
31
|
+
* // primary: false
|
|
32
|
+
* // }
|
|
33
|
+
* // ]
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export function listSupportedLanguages() {
|
|
37
|
+
const multilingualObject = getMultilingualObject();
|
|
38
|
+
if (!multilingualObject) {
|
|
39
|
+
return [];
|
|
40
|
+
}
|
|
41
|
+
const languages = getLanguages(multilingualObject);
|
|
42
|
+
return languages;
|
|
43
|
+
}
|
|
44
|
+
function getMultilingualObject() {
|
|
45
|
+
const maybeMultilingualVeloObject =
|
|
46
|
+
// @ts-expect-error - ignoring globals type error
|
|
47
|
+
typeof globals !== "undefined"
|
|
48
|
+
? // @ts-expect-error - ignoring globals type error
|
|
49
|
+
globals?.$ns?.["wix-window"]?.multilingual
|
|
50
|
+
: undefined;
|
|
51
|
+
const maybeMultilingualWindowObject = typeof window !== "undefined" ? window?.essentials?.multilingual : undefined;
|
|
52
|
+
return (maybeMultilingualVeloObject ?? maybeMultilingualWindowObject ?? globalThis?.__wix_site_metadata__?.multilingual);
|
|
53
|
+
}
|
|
54
|
+
function getLanguages(multilingualObject) {
|
|
55
|
+
try {
|
|
56
|
+
// GlobalThisSupportedLanguage
|
|
57
|
+
if (multilingualObject?.supportedLanguages?.length) {
|
|
58
|
+
const supportedLanguages = multilingualObject.supportedLanguages;
|
|
59
|
+
const availableLanguageCodes = supportedLanguages.map(lang => lang.languageCode).filter(Boolean);
|
|
60
|
+
const cleanUrl = cleanCurrentUrl(availableLanguageCodes);
|
|
61
|
+
return supportedLanguages.map((language) => {
|
|
62
|
+
return {
|
|
63
|
+
id: language.languageCode,
|
|
64
|
+
displayName: buildDisplayName(language),
|
|
65
|
+
regionalFormat: [
|
|
66
|
+
language.locale?.languageCode,
|
|
67
|
+
language.locale?.country,
|
|
68
|
+
]
|
|
69
|
+
.filter(Boolean)
|
|
70
|
+
.join("-"),
|
|
71
|
+
url: buildUrlForLanguage(language, cleanUrl),
|
|
72
|
+
primary: language.isPrimary,
|
|
73
|
+
};
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
// VeloGlobalsSiteLanguage
|
|
77
|
+
else if (multilingualObject?.siteLanguages?.length) {
|
|
78
|
+
const siteLanguages = multilingualObject.siteLanguages;
|
|
79
|
+
const availableLanguageCodes = siteLanguages.map(lang => lang.languageCode).filter(Boolean);
|
|
80
|
+
const cleanUrl = cleanCurrentUrl(availableLanguageCodes);
|
|
81
|
+
return siteLanguages.map((language) => {
|
|
82
|
+
return {
|
|
83
|
+
id: language.languageCode,
|
|
84
|
+
displayName: buildDisplayName(language),
|
|
85
|
+
regionalFormat: language.locale,
|
|
86
|
+
url: buildUrlForLanguage(language, cleanUrl),
|
|
87
|
+
primary: language.isPrimaryLanguage,
|
|
88
|
+
};
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
console.warn("[Multilingual Manager] listSupportedLanguages failed", error);
|
|
94
|
+
return [];
|
|
95
|
+
}
|
|
96
|
+
console.warn("[Multilingual Manager] listSupportedLanguages is not available");
|
|
97
|
+
return [];
|
|
98
|
+
}
|
|
99
|
+
export function buildDisplayName(language) {
|
|
100
|
+
const staticDisplayName = languagesDisplayNames[language.languageCode];
|
|
101
|
+
if (staticDisplayName) {
|
|
102
|
+
return staticDisplayName;
|
|
103
|
+
}
|
|
104
|
+
const dynamicDisplayName = language.name ?? language.countryCode;
|
|
105
|
+
if (dynamicDisplayName) {
|
|
106
|
+
return dynamicDisplayName;
|
|
107
|
+
}
|
|
108
|
+
return undefined;
|
|
109
|
+
}
|
|
110
|
+
export function buildUrlForLanguage(language, cleanUrl) {
|
|
111
|
+
// If language already has a URL, or we don't have the necessary data, return as is
|
|
112
|
+
if (language.url || typeof window === "undefined" || !window.location.href || !language.resolutionMethod) {
|
|
113
|
+
return language.url;
|
|
114
|
+
}
|
|
115
|
+
const targetLangCode = language.languageCode;
|
|
116
|
+
if (!targetLangCode) {
|
|
117
|
+
return undefined;
|
|
118
|
+
}
|
|
119
|
+
try {
|
|
120
|
+
return applyLanguageToUrl(cleanUrl, {
|
|
121
|
+
languageCode: language.languageCode,
|
|
122
|
+
countryCode: language.countryCode,
|
|
123
|
+
resolutionMethod: toResolutionMethodEnum(language.resolutionMethod),
|
|
124
|
+
locale: {
|
|
125
|
+
languageCode: language.languageCode,
|
|
126
|
+
country: language.countryCode,
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
console.warn("[Multilingual Manager] buildUrlForLanguage failed", error);
|
|
132
|
+
return undefined;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
function toResolutionMethodEnum(resolutionMethod) {
|
|
136
|
+
switch (resolutionMethod) {
|
|
137
|
+
case "QUERY_PARAM":
|
|
138
|
+
case "QueryParam":
|
|
139
|
+
return ResolutionMethod.QUERY_PARAM;
|
|
140
|
+
case "SUBDOMAIN":
|
|
141
|
+
case "Subdomain":
|
|
142
|
+
return ResolutionMethod.SUBDOMAIN;
|
|
143
|
+
case "SUBDIRECTORY":
|
|
144
|
+
case "Subdirectory":
|
|
145
|
+
return ResolutionMethod.SUBDIRECTORY;
|
|
146
|
+
default:
|
|
147
|
+
return undefined;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
function cleanCurrentUrl(supportedLanguageCodes) {
|
|
151
|
+
const currentUrl = typeof window !== "undefined" && window.location?.href ? window.location.href : "";
|
|
152
|
+
try {
|
|
153
|
+
return clearLanguageFromUrl(currentUrl, supportedLanguageCodes);
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
// If clearLanguageFromUrl fails (e.g., invalid URL), just return the current URL
|
|
157
|
+
console.warn("[Multilingual Manager] cleanCurrentUrl failed", error);
|
|
158
|
+
return currentUrl;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=multilingual.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multilingual.js","sourceRoot":"","sources":["../../src/multilingual.ts"],"names":[],"mappings":"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"}
|