feat: localize game assets

This commit is contained in:
tresabhi committed 2025-01-14 19:22:41 -06:00
1 parent d8459d373c
commit ef9778ea96
90 files changed
+336 -251

No files matched your search

-1
View File
@@ -46,5 +46,4 @@ export * from './votes';
export * from './createDefaultProvisions';
export * from './metaSortTank';
export * from './romanize';
export * from './supportedLocales';
export * from './youtubers';
@@ -1,36 +0,0 @@
export const SUPPORTED_LOCALES = [
'en',
'es',
'fr',
'ja',
'pt',
'ru',
'uk',
'zh',
] as const;
export type SupportedLocale = (typeof SUPPORTED_LOCALES)[number];
export const DEFAULT_LOCALE = SUPPORTED_LOCALES[0];
export const SUPPORTED_LOCALE_BLITZ_MAP: Record<SupportedLocale, string> = {
en: 'en',
es: 'es',
fr: 'fr',
ja: 'ja',
pt: 'pt',
ru: 'ru',
uk: 'uk',
zh: 'zh-Hans',
};
export const SUPPORTED_LOCALE_FLAGS: Record<SupportedLocale, string> = {
en: '🇺🇸',
es: '🇪🇸',
fr: '🇫🇷',
ja: '🇯🇵',
pt: '🇵🇹',
ru: '🇷🇺',
uk: '🇺🇦',
zh: '🇨🇳',
};
+8 -1
View File
@@ -1,4 +1,5 @@
import { deburr } from 'lodash-es';
import { I18nString } from '../protos';
import { fetchCamouflageDefinitions } from './camouflageDefinitions';
import { fetchTankDefinitions } from './tankDefinitions';
@@ -11,12 +12,18 @@ export async function fetchTankNames() {
return await Promise.all(
tankDefinitionsArray.map(async (tank) => {
const searchableNameDeburr: I18nString = { locales: {} };
Object.entries(tank.name_full ?? tank.name).forEach(([key, value]) => {
searchableNameDeburr.locales[key] = deburr(value);
});
return {
id: tank.id,
name: tank.name,
nameFull: tank.name_full,
searchableName: tank.name_full ?? tank.name,
searchableNameDeburr: deburr(tank.name_full ?? tank.name),
searchableNameDeburr,
camouflages: tank.camouflages
?.map((id) => camouflageDefinitions.camouflages[id]?.name)
.filter(Boolean)
+1
View File
@@ -1,6 +1,7 @@
export * from './blitz';
export * from './blitzkit';
export * from './databases';
export * from './imgur';
export * from './math';
export * from './patreon';
export * from './protobuf';
@@ -6,7 +6,7 @@
/* eslint-disable */
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
import { I18nString } from "./i18n";
import { I18nString, createBaseI18nString } from "./i18n";
export const protobufPackage = "blitzkit";
@@ -6,7 +6,7 @@
/* eslint-disable */
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
import { I18nString } from "./i18n";
import { I18nString, createBaseI18nString } from "./i18n";
export const protobufPackage = "blitzkit";
@@ -6,7 +6,7 @@
/* eslint-disable */
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
import { I18nString } from "./i18n";
import { I18nString, createBaseI18nString } from "./i18n";
export const protobufPackage = "blitzkit";
+1 -1
View File
@@ -6,7 +6,7 @@
/* eslint-disable */
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
import { I18nString } from "./i18n";
import { I18nString, createBaseI18nString } from "./i18n";
export const protobufPackage = "blitzkit";
+1 -1
View File
@@ -18,7 +18,7 @@ export interface I18nString_LocalesEntry {
value: string;
}
function createBaseI18nString(): I18nString {
export function createBaseI18nString(): I18nString {
return { locales: {} };
}
+1 -1
View File
@@ -6,7 +6,7 @@
/* eslint-disable */
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
import { I18nString } from "./i18n";
import { I18nString, createBaseI18nString } from "./i18n";
export const protobufPackage = "blitzkit";
@@ -7,7 +7,7 @@
/* eslint-disable */
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
import { ConsumableTankFilter } from "./consumable_definitions";
import { I18nString } from "./i18n";
import { I18nString, createBaseI18nString } from "./i18n";
export const protobufPackage = "blitzkit";
+1 -1
View File
@@ -6,7 +6,7 @@
/* eslint-disable */
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
import { I18nString } from "./i18n";
import { I18nString, createBaseI18nString } from "./i18n";
export const protobufPackage = "blitzkit";