genshin-text 4.3.1 → 4.3.3
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/{ChineseSimplified-DHXFtB-w.js → ChineseSimplified-CVx5jK4v.js} +1 -2
- package/dist/{ChineseTraditional-Cc616fna.js → ChineseTraditional-ZmQ7LReg.js} +1 -2
- package/dist/{French-ByWjvFYt.js → French-BadOCU1j.js} +1 -2
- package/dist/{German-CRf4B687.js → German-BHIa_gzi.js} +1 -2
- package/dist/{Indonesian-B6twcDey.js → Indonesian-BnCdgB_1.js} +1 -2
- package/dist/{Italian-BWudDSrK.js → Italian-iudWBTmQ.js} +1 -2
- package/dist/{Japanese-Bf-rMnKe.js → Japanese-BQXJcAmh.js} +1 -2
- package/dist/{Korean-1Edvg-zo.js → Korean-ICETeFZ0.js} +1 -2
- package/dist/{Portuguese-cySk3kB_.js → Portuguese-Do0Kbt4o.js} +1 -2
- package/dist/{Russian-CVC2tTY9.js → Russian-CcTSYToZ.js} +1 -2
- package/dist/{Spanish-ygjQq9xS.js → Spanish-DmX6cNDk.js} +1 -2
- package/dist/{Thai-D8i-Q52U.js → Thai-BjU_lHqR.js} +1 -2
- package/dist/{Turkish-DiKPDJHC.js → Turkish-83wMf1fm.js} +1 -2
- package/dist/{Vietnamese-4IG5j9N1.js → Vietnamese-DuH7Qtyl.js} +1 -2
- package/dist/index.d.ts +1 -33
- package/dist/index.js +29 -44
- package/package.json +4 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/generated/text/ChineseSimplified.json
|
|
2
2
|
var ChineseSimplified_default = {
|
|
3
3
|
"19028052": "肉龙掌",
|
|
4
4
|
"22100332": "绝云椒椒",
|
|
@@ -678,5 +678,4 @@ var ChineseSimplified_default = {
|
|
|
678
678
|
WIDGET_QUICK_SWITCH_GUIDE2_2: "选择一个小道具进行快捷更换",
|
|
679
679
|
tips_enter_game: "%s,欢迎进入游戏"
|
|
680
680
|
};
|
|
681
|
-
//#endregion
|
|
682
681
|
export { ChineseSimplified_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/generated/text/ChineseTraditional.json
|
|
2
2
|
var ChineseTraditional_default = {
|
|
3
3
|
"19028052": "肉龍掌",
|
|
4
4
|
"22100332": "絕雲椒椒",
|
|
@@ -678,5 +678,4 @@ var ChineseTraditional_default = {
|
|
|
678
678
|
WIDGET_QUICK_SWITCH_GUIDE2_2: "選擇一個小道具進行快捷更換",
|
|
679
679
|
tips_enter_game: "%s,歡迎進入遊戲"
|
|
680
680
|
};
|
|
681
|
-
//#endregion
|
|
682
681
|
export { ChineseTraditional_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/generated/text/French.json
|
|
2
2
|
var French_default = {
|
|
3
3
|
"19028052": "Patte saurienne",
|
|
4
4
|
"22100332": "Piment de Jueyun",
|
|
@@ -678,5 +678,4 @@ var French_default = {
|
|
|
678
678
|
WIDGET_QUICK_SWITCH_GUIDE2_2: "Sélectionnez un gadget pour échanger rapidement",
|
|
679
679
|
tips_enter_game: "Bienvenue, %s."
|
|
680
680
|
};
|
|
681
|
-
//#endregion
|
|
682
681
|
export { French_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/generated/text/German.json
|
|
2
2
|
var German_default = {
|
|
3
3
|
"19028052": "Saurierklauen-Sukkulente",
|
|
4
4
|
"22100332": "Jueyun-Peperoni",
|
|
@@ -678,5 +678,4 @@ var German_default = {
|
|
|
678
678
|
WIDGET_QUICK_SWITCH_GUIDE2_2: "Wähle ein Hilfsmittel aus, um es einzuwechseln.",
|
|
679
679
|
tips_enter_game: "Willkommen, %s"
|
|
680
680
|
};
|
|
681
|
-
//#endregion
|
|
682
681
|
export { German_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/generated/text/Indonesian.json
|
|
2
2
|
var Indonesian_default = {
|
|
3
3
|
"19028052": "Saurian Claw Succulent",
|
|
4
4
|
"22100332": "Jueyun Chili",
|
|
@@ -678,5 +678,4 @@ var Indonesian_default = {
|
|
|
678
678
|
WIDGET_QUICK_SWITCH_GUIDE2_2: "Pilih Peralatan yang mau diganti cepat",
|
|
679
679
|
tips_enter_game: "Selamat datang, %s!"
|
|
680
680
|
};
|
|
681
|
-
//#endregion
|
|
682
681
|
export { Indonesian_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/generated/text/Italian.json
|
|
2
2
|
var Italian_default = {
|
|
3
3
|
"19028052": "Pianta grassa Artiglio di Saurico",
|
|
4
4
|
"22100332": "Peperoncino di Jueyun",
|
|
@@ -678,5 +678,4 @@ var Italian_default = {
|
|
|
678
678
|
WIDGET_QUICK_SWITCH_GUIDE2_2: "Seleziona un gadget con cui effettuare il cambio rapido",
|
|
679
679
|
tips_enter_game: "Ti diamo il benvenuto, %s!"
|
|
680
680
|
};
|
|
681
|
-
//#endregion
|
|
682
681
|
export { Italian_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/generated/text/Japanese.json
|
|
2
2
|
var Japanese_default = {
|
|
3
3
|
"19028052": "サウリアンサキュレント",
|
|
4
4
|
"22100332": "絶雲の唐辛子",
|
|
@@ -678,5 +678,4 @@ var Japanese_default = {
|
|
|
678
678
|
WIDGET_QUICK_SWITCH_GUIDE2_2: "便利アイテムを1つ選択してクイック切替",
|
|
679
679
|
tips_enter_game: "%s、ようこそ"
|
|
680
680
|
};
|
|
681
|
-
//#endregion
|
|
682
681
|
export { Japanese_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/generated/text/Korean.json
|
|
2
2
|
var Korean_default = {
|
|
3
3
|
"19028052": "뚱룡장",
|
|
4
4
|
"22100332": "절운고추",
|
|
@@ -678,5 +678,4 @@ var Korean_default = {
|
|
|
678
678
|
WIDGET_QUICK_SWITCH_GUIDE2_2: "간편 아이템을 선택해서 빠른 교체",
|
|
679
679
|
tips_enter_game: "%s 님, 게임에 오신 걸 환영합니다"
|
|
680
680
|
};
|
|
681
|
-
//#endregion
|
|
682
681
|
export { Korean_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/generated/text/Portuguese.json
|
|
2
2
|
var Portuguese_default = {
|
|
3
3
|
"19028052": "Suculenta de Garra Sauriana",
|
|
4
4
|
"22100332": "Pimenta de Jueyun",
|
|
@@ -678,5 +678,4 @@ var Portuguese_default = {
|
|
|
678
678
|
WIDGET_QUICK_SWITCH_GUIDE2_2: "Selecione um item para trocar rapidamente",
|
|
679
679
|
tips_enter_game: "%s, seja bem-vindo(a)"
|
|
680
680
|
};
|
|
681
|
-
//#endregion
|
|
682
681
|
export { Portuguese_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/generated/text/Russian.json
|
|
2
2
|
var Russian_default = {
|
|
3
3
|
"19028052": "Лапа завриана",
|
|
4
4
|
"22100332": "Заоблачный перчик",
|
|
@@ -678,5 +678,4 @@ var Russian_default = {
|
|
|
678
678
|
WIDGET_QUICK_SWITCH_GUIDE2_2: "Выберите инструмент для быстрой смены",
|
|
679
679
|
tips_enter_game: "Добро пожаловать, %s!"
|
|
680
680
|
};
|
|
681
|
-
//#endregion
|
|
682
681
|
export { Russian_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/generated/text/Spanish.json
|
|
2
2
|
var Spanish_default = {
|
|
3
3
|
"19028052": "Pata de saurio",
|
|
4
4
|
"22100332": "Chile de Jueyun",
|
|
@@ -678,5 +678,4 @@ var Spanish_default = {
|
|
|
678
678
|
WIDGET_QUICK_SWITCH_GUIDE2_2: "Elige un artilugio para cambiar rápidamente",
|
|
679
679
|
tips_enter_game: "¡%s, bienvenido!"
|
|
680
680
|
};
|
|
681
|
-
//#endregion
|
|
682
681
|
export { Spanish_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/generated/text/Thai.json
|
|
2
2
|
var Thai_default = {
|
|
3
3
|
"19028052": "Saurian Claw Succulent",
|
|
4
4
|
"22100332": "Jueyun Chili",
|
|
@@ -678,5 +678,4 @@ var Thai_default = {
|
|
|
678
678
|
WIDGET_QUICK_SWITCH_GUIDE2_2: "เลือกไอเทมขนาดเล็ก 1 ชิ้น เพื่อเปลี่ยนอย่างรวดเร็ว",
|
|
679
679
|
tips_enter_game: "ยินดีต้อนรับ %s"
|
|
680
680
|
};
|
|
681
|
-
//#endregion
|
|
682
681
|
export { Thai_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/generated/text/Turkish.json
|
|
2
2
|
var Turkish_default = {
|
|
3
3
|
"19028052": "Sürüngen Pençesi Kaktüsü",
|
|
4
4
|
"22100332": "Jueyun Biberi",
|
|
@@ -678,5 +678,4 @@ var Turkish_default = {
|
|
|
678
678
|
WIDGET_QUICK_SWITCH_GUIDE2_2: "Hızlıca değiştirmek için bir Aygıt seç",
|
|
679
679
|
tips_enter_game: "Hoş geldin %s!"
|
|
680
680
|
};
|
|
681
|
-
//#endregion
|
|
682
681
|
export { Turkish_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/generated/text/Vietnamese.json
|
|
2
2
|
var Vietnamese_default = {
|
|
3
3
|
"19028052": "Sen Đá Saurian",
|
|
4
4
|
"22100332": "Ớt Tuyệt Vân",
|
|
@@ -678,5 +678,4 @@ var Vietnamese_default = {
|
|
|
678
678
|
WIDGET_QUICK_SWITCH_GUIDE2_2: "Chọn 1 đạo cụ để đổi nhanh",
|
|
679
679
|
tips_enter_game: "Chào mừng %s"
|
|
680
680
|
};
|
|
681
|
-
//#endregion
|
|
682
681
|
export { Vietnamese_default as default };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/models/GameTextKey.d.ts
|
|
2
1
|
export declare enum GameTextKey {
|
|
3
2
|
AbyssBenedictionHint = "UI_TOWER_HINT_BATTLEBUFF",
|
|
4
3
|
AbyssCorridor = "UI_TOWER_CORRIDOR",
|
|
@@ -679,11 +678,7 @@ export declare enum GameTextKey {
|
|
|
679
678
|
Zoom = "UI_BUTTON_ZOOM"
|
|
680
679
|
}
|
|
681
680
|
export declare const GameTextKeys: readonly GameTextKey[];
|
|
682
|
-
//#endregion
|
|
683
|
-
//#region src/models/GameText.d.ts
|
|
684
681
|
export type GameText = Record<GameTextKey, string>;
|
|
685
|
-
//#endregion
|
|
686
|
-
//#region src/models/GameLanguage.d.ts
|
|
687
682
|
export declare enum GameLanguage {
|
|
688
683
|
ChineseSimplified = "ChineseSimplified",
|
|
689
684
|
ChineseTraditional = "ChineseTraditional",
|
|
@@ -702,50 +697,23 @@ export declare enum GameLanguage {
|
|
|
702
697
|
Vietnamese = "Vietnamese"
|
|
703
698
|
}
|
|
704
699
|
export declare const GameLanguages: readonly GameLanguage[];
|
|
705
|
-
//#endregion
|
|
706
|
-
//#region src/generated/GameTextLoaderMap.d.ts
|
|
707
700
|
export declare const ENGLISH_GAME_TEXT: GameText;
|
|
708
701
|
export declare const GameTextLoaderMap: Record<GameLanguage, () => Promise<GameText>>;
|
|
709
|
-
//#endregion
|
|
710
|
-
//#region src/models/GameTextSegment.d.ts
|
|
711
702
|
export interface GameTextSegment {
|
|
712
703
|
color?: string;
|
|
713
704
|
text: string;
|
|
714
705
|
}
|
|
715
|
-
//#endregion
|
|
716
|
-
//#region src/models/TravelerGender.d.ts
|
|
717
706
|
export declare enum TravelerGender {
|
|
718
707
|
Female = "female",
|
|
719
708
|
Male = "male"
|
|
720
709
|
}
|
|
721
|
-
//#endregion
|
|
722
|
-
//#region src/services/ElementColorMap.d.ts
|
|
723
710
|
export declare const ElementColorMap: Record<string, string>;
|
|
724
|
-
//#endregion
|
|
725
|
-
//#region src/services/GameLanguageTagMap.d.ts
|
|
726
711
|
export declare const GameLanguageTagMap: Record<GameLanguage, string>;
|
|
727
|
-
//#endregion
|
|
728
|
-
//#region src/services/checkIsGameLanguage.d.ts
|
|
729
712
|
export declare const checkIsGameLanguage: (name: string) => name is GameLanguage;
|
|
730
|
-
//#endregion
|
|
731
|
-
//#region src/services/fillGameTextValues.d.ts
|
|
732
713
|
export declare const fillGameTextValues: (text: string, ...values: (number | string)[]) => string;
|
|
733
|
-
//#endregion
|
|
734
|
-
//#region src/services/fillLinePlaceholders.d.ts
|
|
735
714
|
export declare const fillLinePlaceholders: (text: string, nickname: string, gender: TravelerGender) => string;
|
|
736
|
-
//#endregion
|
|
737
|
-
//#region src/services/getAcceptLanguageTags.d.ts
|
|
738
715
|
export declare const getAcceptLanguageTags: (header: string) => string[];
|
|
739
|
-
//#endregion
|
|
740
|
-
//#region src/services/getCanonicalLanguage.d.ts
|
|
741
716
|
export declare const getCanonicalLanguage: (name: string) => GameLanguage | undefined;
|
|
742
|
-
//#endregion
|
|
743
|
-
//#region src/services/getLanguageDisplayName.d.ts
|
|
744
717
|
export declare const getLanguageDisplayName: (languageName: string, inLanguageName: string) => string;
|
|
745
|
-
//#endregion
|
|
746
|
-
//#region src/services/matchGameLanguage.d.ts
|
|
747
718
|
export declare const matchGameLanguage: (preferredTags: readonly string[]) => GameLanguage;
|
|
748
|
-
|
|
749
|
-
//#region src/services/splitGameTextColors.d.ts
|
|
750
|
-
export declare const splitGameTextColors: (text: string) => GameTextSegment[];
|
|
751
|
-
//#endregion
|
|
719
|
+
export declare const splitGameTextColors: (text: string) => GameTextSegment[];
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getResult } from "@esposter/shared";
|
|
2
|
-
|
|
2
|
+
// src/generated/text/English.json
|
|
3
3
|
var English_default = {
|
|
4
4
|
"19028052": "Saurian Claw Succulent",
|
|
5
5
|
"22100332": "Jueyun Chili",
|
|
@@ -679,8 +679,7 @@ var English_default = {
|
|
|
679
679
|
WIDGET_QUICK_SWITCH_GUIDE2_2: "Select a Gadget to quickswap",
|
|
680
680
|
tips_enter_game: "Welcome, %s!"
|
|
681
681
|
};
|
|
682
|
-
|
|
683
|
-
//#region src/models/GameLanguage.ts
|
|
682
|
+
// src/models/GameLanguage.ts
|
|
684
683
|
let GameLanguage = /* @__PURE__ */ function(GameLanguage) {
|
|
685
684
|
GameLanguage["ChineseSimplified"] = "ChineseSimplified";
|
|
686
685
|
GameLanguage["ChineseTraditional"] = "ChineseTraditional";
|
|
@@ -700,28 +699,26 @@ let GameLanguage = /* @__PURE__ */ function(GameLanguage) {
|
|
|
700
699
|
return GameLanguage;
|
|
701
700
|
}({});
|
|
702
701
|
const GameLanguages = Object.values(GameLanguage);
|
|
703
|
-
|
|
704
|
-
//#region src/generated/GameTextLoaderMap.ts
|
|
702
|
+
// src/generated/GameTextLoaderMap.ts
|
|
705
703
|
const ENGLISH_GAME_TEXT = English_default;
|
|
706
704
|
const GameTextLoaderMap = {
|
|
707
|
-
["ChineseSimplified"]: async () => (await import("./ChineseSimplified-
|
|
708
|
-
["ChineseTraditional"]: async () => (await import("./ChineseTraditional-
|
|
705
|
+
["ChineseSimplified"]: async () => (await import("./ChineseSimplified-CVx5jK4v.js")).default,
|
|
706
|
+
["ChineseTraditional"]: async () => (await import("./ChineseTraditional-ZmQ7LReg.js")).default,
|
|
709
707
|
["English"]: () => Promise.resolve(ENGLISH_GAME_TEXT),
|
|
710
|
-
["French"]: async () => (await import("./French-
|
|
711
|
-
["German"]: async () => (await import("./German-
|
|
712
|
-
["Indonesian"]: async () => (await import("./Indonesian-
|
|
713
|
-
["Italian"]: async () => (await import("./Italian-
|
|
714
|
-
["Japanese"]: async () => (await import("./Japanese-
|
|
715
|
-
["Korean"]: async () => (await import("./Korean-
|
|
716
|
-
["Portuguese"]: async () => (await import("./Portuguese-
|
|
717
|
-
["Russian"]: async () => (await import("./Russian-
|
|
718
|
-
["Spanish"]: async () => (await import("./Spanish-
|
|
719
|
-
["Thai"]: async () => (await import("./Thai-
|
|
720
|
-
["Turkish"]: async () => (await import("./Turkish-
|
|
721
|
-
["Vietnamese"]: async () => (await import("./Vietnamese-
|
|
708
|
+
["French"]: async () => (await import("./French-BadOCU1j.js")).default,
|
|
709
|
+
["German"]: async () => (await import("./German-BHIa_gzi.js")).default,
|
|
710
|
+
["Indonesian"]: async () => (await import("./Indonesian-BnCdgB_1.js")).default,
|
|
711
|
+
["Italian"]: async () => (await import("./Italian-iudWBTmQ.js")).default,
|
|
712
|
+
["Japanese"]: async () => (await import("./Japanese-BQXJcAmh.js")).default,
|
|
713
|
+
["Korean"]: async () => (await import("./Korean-ICETeFZ0.js")).default,
|
|
714
|
+
["Portuguese"]: async () => (await import("./Portuguese-Do0Kbt4o.js")).default,
|
|
715
|
+
["Russian"]: async () => (await import("./Russian-CcTSYToZ.js")).default,
|
|
716
|
+
["Spanish"]: async () => (await import("./Spanish-DmX6cNDk.js")).default,
|
|
717
|
+
["Thai"]: async () => (await import("./Thai-BjU_lHqR.js")).default,
|
|
718
|
+
["Turkish"]: async () => (await import("./Turkish-83wMf1fm.js")).default,
|
|
719
|
+
["Vietnamese"]: async () => (await import("./Vietnamese-DuH7Qtyl.js")).default
|
|
722
720
|
};
|
|
723
|
-
|
|
724
|
-
//#region src/models/GameTextKey.ts
|
|
721
|
+
// src/models/GameTextKey.ts
|
|
725
722
|
let GameTextKey = /* @__PURE__ */ function(GameTextKey) {
|
|
726
723
|
GameTextKey["AbyssBenedictionHint"] = "UI_TOWER_HINT_BATTLEBUFF";
|
|
727
724
|
GameTextKey["AbyssCorridor"] = "UI_TOWER_CORRIDOR";
|
|
@@ -1403,15 +1400,13 @@ let GameTextKey = /* @__PURE__ */ function(GameTextKey) {
|
|
|
1403
1400
|
return GameTextKey;
|
|
1404
1401
|
}({});
|
|
1405
1402
|
const GameTextKeys = Object.values(GameTextKey);
|
|
1406
|
-
|
|
1407
|
-
//#region src/models/TravelerGender.ts
|
|
1403
|
+
// src/models/TravelerGender.ts
|
|
1408
1404
|
let TravelerGender = /* @__PURE__ */ function(TravelerGender) {
|
|
1409
1405
|
TravelerGender["Female"] = "female";
|
|
1410
1406
|
TravelerGender["Male"] = "male";
|
|
1411
1407
|
return TravelerGender;
|
|
1412
1408
|
}({});
|
|
1413
|
-
|
|
1414
|
-
//#region src/services/ElementColorMap.ts
|
|
1409
|
+
// src/services/ElementColorMap.ts
|
|
1415
1410
|
const ElementColorMap = {
|
|
1416
1411
|
Anemo: "#33ccb3",
|
|
1417
1412
|
Cryo: "#98c8e8",
|
|
@@ -1421,8 +1416,7 @@ const ElementColorMap = {
|
|
|
1421
1416
|
Hydro: "#1c72fd",
|
|
1422
1417
|
Pyro: "#e2311d"
|
|
1423
1418
|
};
|
|
1424
|
-
|
|
1425
|
-
//#region src/services/GameLanguageTagMap.ts
|
|
1419
|
+
// src/services/GameLanguageTagMap.ts
|
|
1426
1420
|
const GameLanguageTagMap = {
|
|
1427
1421
|
["ChineseSimplified"]: "zh-Hans",
|
|
1428
1422
|
["ChineseTraditional"]: "zh-Hant",
|
|
@@ -1440,16 +1434,13 @@ const GameLanguageTagMap = {
|
|
|
1440
1434
|
["Turkish"]: "tr",
|
|
1441
1435
|
["Vietnamese"]: "vi"
|
|
1442
1436
|
};
|
|
1443
|
-
|
|
1444
|
-
//#region src/services/checkIsGameLanguage.ts
|
|
1437
|
+
// src/services/checkIsGameLanguage.ts
|
|
1445
1438
|
const GAME_LANGUAGE_NAMES = GameLanguages;
|
|
1446
1439
|
const checkIsGameLanguage = (name) => GAME_LANGUAGE_NAMES.includes(name);
|
|
1447
|
-
|
|
1448
|
-
//#region src/services/fillGameTextValues.ts
|
|
1440
|
+
// src/services/fillGameTextValues.ts
|
|
1449
1441
|
const VALUE_PLACEHOLDER_REGEX = /\{(?<index>\d+)\}/gu;
|
|
1450
1442
|
const fillGameTextValues = (text, ...values) => text.replaceAll(VALUE_PLACEHOLDER_REGEX, (placeholder, index) => String(values[Number(index)] ?? placeholder));
|
|
1451
|
-
|
|
1452
|
-
//#region src/services/fillLinePlaceholders.ts
|
|
1443
|
+
// src/services/fillLinePlaceholders.ts
|
|
1453
1444
|
const NICKNAME_PLACEHOLDER = "{NICKNAME}";
|
|
1454
1445
|
const GENDERED_WORD_REGEX = /\{(?<initial>[FM])#(?<word>[^}]*)\}/gu;
|
|
1455
1446
|
const TravelerGenderInitialMap = {
|
|
@@ -1457,8 +1448,7 @@ const TravelerGenderInitialMap = {
|
|
|
1457
1448
|
["male"]: "M"
|
|
1458
1449
|
};
|
|
1459
1450
|
const fillLinePlaceholders = (text, nickname, gender) => text.replaceAll(NICKNAME_PLACEHOLDER, () => nickname).replaceAll(GENDERED_WORD_REGEX, (_placeholder, initial, word) => initial === TravelerGenderInitialMap[gender] ? word : "");
|
|
1460
|
-
|
|
1461
|
-
//#region src/services/getAcceptLanguageTags.ts
|
|
1451
|
+
// src/services/getAcceptLanguageTags.ts
|
|
1462
1452
|
const DEFAULT_QUALITY = 1;
|
|
1463
1453
|
const getAcceptLanguageTags = (header) => header.split(",").map((part) => {
|
|
1464
1454
|
const [tag = "", ...parameters] = part.split(";").map((piece) => piece.trim());
|
|
@@ -1469,17 +1459,14 @@ const getAcceptLanguageTags = (header) => header.split(",").map((part) => {
|
|
|
1469
1459
|
tag
|
|
1470
1460
|
};
|
|
1471
1461
|
}).filter(({ quality, tag }) => tag && quality > 0).toSorted((firstTag, secondTag) => secondTag.quality - firstTag.quality).map(({ tag }) => tag);
|
|
1472
|
-
|
|
1473
|
-
//#region src/services/getLanguageDisplayName.ts
|
|
1462
|
+
// src/services/getLanguageDisplayName.ts
|
|
1474
1463
|
const getLanguageDisplayName = (languageName, inLanguageName) => {
|
|
1475
1464
|
if (!checkIsGameLanguage(languageName) || !checkIsGameLanguage(inLanguageName)) return languageName;
|
|
1476
1465
|
return new Intl.DisplayNames([GameLanguageTagMap[inLanguageName]], { type: "language" }).of(GameLanguageTagMap[languageName]) ?? languageName;
|
|
1477
1466
|
};
|
|
1478
|
-
|
|
1479
|
-
//#region src/services/getCanonicalLanguage.ts
|
|
1467
|
+
// src/services/getCanonicalLanguage.ts
|
|
1480
1468
|
const getCanonicalLanguage = (name) => GameLanguages.find((language) => language.toLowerCase() === name.toLowerCase() || getLanguageDisplayName(language, language).toLowerCase() === name.toLowerCase());
|
|
1481
|
-
|
|
1482
|
-
//#region src/services/matchGameLanguage.ts
|
|
1469
|
+
// src/services/matchGameLanguage.ts
|
|
1483
1470
|
const getMaximizedLocale = (tag) => getResult(() => new Intl.Locale(tag).maximize()).unwrapOr(void 0);
|
|
1484
1471
|
const GAME_LANGUAGE_LOCALES = GameLanguages.map((gameLanguage) => [gameLanguage, new Intl.Locale(GameLanguageTagMap[gameLanguage]).maximize()]);
|
|
1485
1472
|
const matchGameLanguage = (preferredTags) => {
|
|
@@ -1491,8 +1478,7 @@ const matchGameLanguage = (preferredTags) => {
|
|
|
1491
1478
|
}
|
|
1492
1479
|
return "English";
|
|
1493
1480
|
};
|
|
1494
|
-
|
|
1495
|
-
//#region src/services/splitGameTextColors.ts
|
|
1481
|
+
// src/services/splitGameTextColors.ts
|
|
1496
1482
|
const COLOR_TAG_REGEX = /<color=(?<color>#[\dA-Fa-f]{6}(?:[\dA-Fa-f]{2})?)>(?<text>.*?)<\/color>/gsu;
|
|
1497
1483
|
const splitGameTextColors = (text) => {
|
|
1498
1484
|
const segments = [];
|
|
@@ -1508,5 +1494,4 @@ const splitGameTextColors = (text) => {
|
|
|
1508
1494
|
segments.push({ text: text.slice(plainStart) });
|
|
1509
1495
|
return segments.filter(({ text: segmentText }) => segmentText !== "");
|
|
1510
1496
|
};
|
|
1511
|
-
//#endregion
|
|
1512
1497
|
export { ENGLISH_GAME_TEXT, ElementColorMap, GameLanguage, GameLanguageTagMap, GameLanguages, GameTextKey, GameTextKeys, GameTextLoaderMap, TravelerGender, checkIsGameLanguage, fillGameTextValues, fillLinePlaceholders, getAcceptLanguageTags, getCanonicalLanguage, getLanguageDisplayName, matchGameLanguage, splitGameTextColors };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "genshin-text",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.3",
|
|
4
4
|
"description": "Genshin Impact's own text in its fifteen languages: the language registry, a matcher from a browser's locale, and the game's strings looked up by the game's own text id, one lazily loaded chunk per language.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"genshin",
|
|
@@ -46,11 +46,11 @@
|
|
|
46
46
|
"typecheck": "tsc"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@esposter/shared": "4.3.
|
|
49
|
+
"@esposter/shared": "4.3.3"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@esposter/configuration": "4.3.
|
|
52
|
+
"@esposter/configuration": "4.3.3",
|
|
53
53
|
"tsdown": "^0.23.1"
|
|
54
54
|
},
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "955bbc130ad9b28877fd4ae8efc73a045141ce01"
|
|
56
56
|
}
|