feat: filter localizations

This commit is contained in:
TrèsAbhi committed 2024-03-06 16:11:08 -06:00
1 parent 49d0dbe86d
commit 96a9e5b938
6 files changed
+65 -22

No files matched your search

+19 -15
View File
@@ -1,24 +1,28 @@
import { TREE_TYPE_NAMES } from '../../components/Tanks';
import { encyclopediaInfo } from '../blitz/encyclopediaInfo';
import { Locale } from 'discord.js';
import { translator } from '../localization/translator';
import { StatFilters } from '../statistics/filterStats';
import { TIER_ROMAN_NUMERALS, Tier, tankDefinitions } from './tankDefinitions';
export async function filtersToDescription({
nation,
tier,
tankType,
treeType,
tank,
}: StatFilters) {
const awaitedEncyclopediaInfo = await encyclopediaInfo;
export async function filtersToDescription(
{ nation, tier, tankType, treeType, tank }: StatFilters,
locale: Locale,
) {
const { translate } = translator(locale);
const awaitedTankDefinitions = await tankDefinitions;
const info: string[] = [];
// TODO: somehow localize tank names?
if (tank) return awaitedTankDefinitions[tank].name;
if (nation) info.push(awaitedEncyclopediaInfo.vehicle_nations[nation]);
if (tier) info.push(`Tier ${TIER_ROMAN_NUMERALS[tier as Tier]}`);
if (tankType) info.push(awaitedEncyclopediaInfo.vehicle_types[tankType]);
if (treeType) info.push(TREE_TYPE_NAMES[treeType]);
if (nation) info.push(translate(`common.nations.${nation}`));
if (tier) {
info.push(
translate('bot.common.filters.tier', [TIER_ROMAN_NUMERALS[tier as Tier]]),
);
}
if (tankType) info.push(translate(`common.tank_type_short.${tankType}`));
if (treeType) info.push(translate(`common.tree_type.${treeType}`));
return info.length === 0 ? 'No filters' : info.join(', ');
return info.length === 0
? translate('bot.common.filters.none')
: info.join(', ');
}