fix: add built-in Thai banner translations
Some checks failed
CI / Detect changes (push) Has been cancelled
CI / API Lint (push) Has been cancelled
CI / API Tests (push) Has been cancelled
CI / Scanner Lint (push) Has been cancelled
CI / Scanner Tests (push) Has been cancelled
CI / Banner Lint & Typecheck (push) Has been cancelled
CI / Banner Tests (push) Has been cancelled
CI / Banner Build (push) Has been cancelled
CI / Admin UI Typecheck (push) Has been cancelled
CI / Admin UI Tests (push) Has been cancelled
CI / Admin UI Build (push) Has been cancelled
Some checks failed
CI / Detect changes (push) Has been cancelled
CI / API Lint (push) Has been cancelled
CI / API Tests (push) Has been cancelled
CI / Scanner Lint (push) Has been cancelled
CI / Scanner Tests (push) Has been cancelled
CI / Banner Lint & Typecheck (push) Has been cancelled
CI / Banner Tests (push) Has been cancelled
CI / Banner Build (push) Has been cancelled
CI / Admin UI Typecheck (push) Has been cancelled
CI / Admin UI Tests (push) Has been cancelled
CI / Admin UI Build (push) Has been cancelled
This commit is contained in:
@@ -51,6 +51,36 @@ export const DEFAULT_TRANSLATIONS: TranslationStrings = {
|
||||
cookieCount: '{{count}} cookies used on this site',
|
||||
};
|
||||
|
||||
/** Built-in Thai translations — no API call needed. */
|
||||
export const THAI_TRANSLATIONS: TranslationStrings = {
|
||||
title: 'เรามีการใช้คุ๊กกี้เพื่อเก็บข้อมูล',
|
||||
description:
|
||||
'เว็บไซซ์นี้ใช้คุกกี้เพื่อปรับปรุงประสบการณ์การใช้งาน วิเคราะห์การเข้าชม และแสดงโฆษณาที่เหมาะกับคุณ คุณสามารถเลือกได้ว่าจะอนุญาตคุกกี้ประเภทใด คุกกี้ที่จำเป็นจะถูกเปิดใช้งานเสมอเพื่อให้เว็บไซต์ทำงานได้ [นโยบายความเป็นส่วนตัว]({{privacy_policy}}) [ข้อกำหนดและเงื่อนไข]({{terms}})',
|
||||
acceptAll: 'ยอมรับทั้งหมด',
|
||||
rejectAll: 'ปฏิเสธทั้งหมด',
|
||||
managePreferences: 'ตั้งค่า',
|
||||
savePreferences: 'บันทึก',
|
||||
privacyPolicyLink: 'นโยบายความเป็นส่วนตัว',
|
||||
closeLabel: 'ปิด',
|
||||
categoryNecessary: 'จำเป็น',
|
||||
categoryNecessaryDesc: 'คุกกี้ที่จำเป็นสำหรับการทำงานพื้นฐานของเว็บไซต์ เช่น การจดจำตะกร้าสินค้า การเข้าสู่ระบบ และความปลอดภัย — เปิดใช้งานเสมอเพราะเว็บไซต์ไม่สามารถทำงานได้ถ้าไม่มี',
|
||||
categoryFunctional: 'ฟังก์ชั่น',
|
||||
categoryFunctionalDesc: 'คุกกี้การตลาดใช้เพื่อให้เว็บไชต์มีฟังก์ชั่นพิเศษ ถ้าปิดการทำงานอาจจะทำให้บางฟังก์ชั่นของเว็บไซต์ใช้งานไม่ได้',
|
||||
categoryAnalytics: 'การวิเคราะห์',
|
||||
categoryAnalyticsDesc: 'คุกกี้เหล่านี้ช่วยให้เราเข้าใจว่าผู้เข้าชมใช้งานเว็บไซต์อย่างไร เช่น หน้าไหนที่เข้าบ่อย คลิกที่ไหน - ข้อมูลเหล่านี้ช่วยเราพัฒนาเว็บไซต์ให้ดีขึ้นเรื่อยๆ',
|
||||
categoryMarketing: 'การตลาด',
|
||||
categoryMarketingDesc: 'คุกกี้การตลาดใช้ติดตามพฤติกรรมการเข้าชมเว็บไซต์เพื่อแสดงโฆษณาที่เกี่ยวข้องกับความสนใจของคุณบนแพลตฟอร์มอื่นด้วย เช่น Facebook และ Google',
|
||||
categoryPersonalisation: 'ส่วนตัว',
|
||||
categoryPersonalisationDesc: 'คุกกี้การตลาดใช้สำหรับเก็บข้อมูลส่วนตัว',
|
||||
cookieCount: 'มีคุกกี้ {{count}} บนเว็บไซต์นี้',
|
||||
};
|
||||
|
||||
/** Built-in translations that don't require an API call. */
|
||||
const BUILT_IN_TRANSLATIONS: Record<string, TranslationStrings> = {
|
||||
en: DEFAULT_TRANSLATIONS,
|
||||
th: THAI_TRANSLATIONS,
|
||||
};
|
||||
|
||||
/**
|
||||
* Detect the user's preferred locale.
|
||||
*
|
||||
@@ -105,15 +135,17 @@ export async function fetchTranslations(
|
||||
}
|
||||
|
||||
/**
|
||||
* Load translations: try fetching from API, fall back to defaults.
|
||||
* Load translations: use built-in if available, otherwise fetch from API.
|
||||
*/
|
||||
export async function loadTranslations(
|
||||
apiBase: string,
|
||||
siteId: string,
|
||||
locale: string,
|
||||
): Promise<TranslationStrings> {
|
||||
if (locale === 'en') {
|
||||
return { ...DEFAULT_TRANSLATIONS };
|
||||
// Built-in translations (en, th, etc.) — no API call needed
|
||||
const builtIn = BUILT_IN_TRANSLATIONS[locale];
|
||||
if (builtIn) {
|
||||
return { ...builtIn };
|
||||
}
|
||||
|
||||
const remote = await fetchTranslations(apiBase, siteId, locale);
|
||||
|
||||
Reference in New Issue
Block a user