Files
AutonetSellCar/frontend/src/lib/useTranslate.ts
AutonetSellCar Deploy 3f27297c4a refactor: Remove unused DB translation system
Static dictionary (i18n.ts CAR_TRANSLATIONS) already covers all terms.
DB translations table had only 179 entries used as fallback and was
never actually reached. Simplifies useTranslate hook to static-only.
DB table preserved for safety.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 23:24:38 +09:00

53 lines
1.5 KiB
TypeScript

import { useCallback } from 'react';
import { useLanguageStore, translateCarName, Language } from './i18n';
export function useTranslate() {
const { language } = useLanguageStore();
// Translate a single text using static dictionary
const translate = useCallback((text: string | undefined | null): string => {
if (!text) return '';
if (language === 'ko') return text; // Korean is source, no translation needed
return translateCarName(text, language as Language);
}, [language]);
// Translate car object fields
const translateCar = useCallback((car: {
car_name?: string;
fuel?: string;
transmission?: string;
color?: string;
maker?: { name: string };
model?: { name: string };
}) => {
return {
car_name: translate(car.car_name),
fuel: translate(car.fuel),
transmission: translate(car.transmission),
color: translate(car.color),
maker_name: translate(car.maker?.name),
model_name: translate(car.model?.name),
};
}, [translate]);
// Kept for API compatibility - static translations are synchronous, so this is a no-op
const preloadCarTranslations = useCallback(async (_cars: Array<{
car_name?: string;
fuel?: string;
transmission?: string;
color?: string;
maker?: { name: string };
model?: { name: string };
}>) => {
// No-op: static dictionary translations are synchronous
}, []);
return {
translate,
translateCar,
preloadCarTranslations,
loading: false,
};
}