UNPKG

igir

Version:

🕹 A zero-setup ROM collection manager that sorts, filters, extracts or archives, patches, and reports on collections of any size on any OS.

207 lines (206 loc) • 4.67 kB
import ArrayUtil from "../../utils/arrayUtil.js"; class Internationalization { static REGION_OPTIONS = [ // Specific countries { region: "ARG", long: "Argentina", language: "ES", regex: /\(AR\)/i }, { region: "AUS", long: "Australia", language: "EN", regex: /\((A|AU)\)/i }, { region: "BEL", long: "Belgium", language: "FR", regex: /\(BE\)/i }, { region: "BRA", long: "Brazil", language: "PT", regex: /\((B|BR)\)/i }, { region: "CAN", long: "Canada", language: "EN", regex: /\((C|CA)\)/i }, { region: "CHN", long: "China", language: "ZH", regex: /\((C|CH|CHI|CN)\)/i }, { region: "DAN", long: "Denmark", language: "DA", regex: /\(DK\)/i }, { region: "FRA", long: "France", language: "FR", regex: /\((F|FR)\)/i }, { region: "FYN", long: "Finland", language: "FI", regex: /\((FI|FN)\)/i }, { region: "GER", long: "Germany", language: "DE", regex: /\((DE|G|GE)\)/i }, { region: "GRE", long: "Greece", language: "EL", regex: /\(GR\)/i }, { region: "HK", long: "Hong Kong", language: "ZH", regex: /\(HK\)/i }, { region: "HOL", long: "Netherlands", language: "NL", regex: /\((D|H|NL)\)/i }, { region: "ITA", long: "Italy", language: "IT", regex: /\((I|IT)\)/i }, { region: "JPN", long: "Japan", language: "JA", regex: /\((1|J|JP)\)/i }, { region: "KOR", long: "Korea", language: "KO", regex: /\((K|KR)\)/i }, { region: "MEX", long: "Mexico", language: "ES", regex: /\(MX\)/i }, { region: "NOR", long: "Norway", language: "NO", regex: /\(No\)/i }, { region: "NZ", long: "New Zealand", language: "EN" }, { region: "POR", long: "Portugal", language: "PT", regex: /\((P|PT)\)/i }, { region: "RUS", long: "Russia", language: "RU", regex: /\((R|RU)\)/i }, { region: "SPA", long: "Spain", language: "ES", regex: /\((ES|S)\)/i }, { region: "SWE", long: "Sweden", language: "SV", regex: /\((SE|SW)\)/i }, { region: "TAI", long: "Taiwan", language: "ZH", regex: /\(TW\)/i }, { region: "UK", long: "United Kingdom", language: "EN", regex: /\((GB|UK)\)/i }, { region: "UNK", long: "Unknown", language: "EN", regex: /\(Unk\)/i }, { region: "USA", long: "USA", language: "EN", regex: /\((4|5|U|US)\)/i }, // Regions { region: "ASI", long: "Asia", language: "ZH", regex: /\(As\)/i }, { region: "EUR", long: "Europe", language: "EN", regex: /\((8|E|EU|PAL)\)/i }, { region: "", long: "Scandinavia", language: "" }, { region: "WORLD", long: "World", language: "EN", regex: /\((F|W|WO)\)/i } ]; // In no particular order static LANGUAGE_OPTIONS = [ { short: "DA", long: "DAN" }, { short: "DE", long: "GER" }, { short: "EL" }, { short: "EN", long: "ENG" }, { short: "ES", long: "SPA" }, { short: "FI" }, { short: "FR", long: "FRE" }, { short: "IT", long: "ITA" }, { short: "JA" }, { short: "KO" }, { short: "NL", long: "DUT" }, { short: "NO", long: "NOR" }, { short: "PT" }, { short: "RU" }, { short: "SV", long: "SWE" }, { short: "ZH", long: "CHI" } ]; static REGION_CODES = this.REGION_OPTIONS.map( (regionOption) => regionOption.region.toUpperCase() ).filter((region) => region.length > 0).reduce(ArrayUtil.reduceUnique(), []).toSorted((a, b) => a.localeCompare(b)); static REGION_NAMES = this.REGION_OPTIONS.map((regionOption) => regionOption.long).filter((region) => region.length > 0).reduce(ArrayUtil.reduceUnique(), []).toSorted((a, b) => a.localeCompare(b)); static REGION_REGEX = this.REGION_OPTIONS.map( (regionOptions) => regionOptions.regex ).filter((regex) => regex !== void 0); static LANGUAGES = this.REGION_OPTIONS.map( (regionOption) => regionOption.language.toUpperCase() ).filter((language) => language.length > 0).reduce(ArrayUtil.reduceUnique(), []).toSorted((a, b) => a.localeCompare(b)); } export { Internationalization as default }; //# sourceMappingURL=internationalization.js.map