From f4e2769d069fcf87da5ec7f39e0d372903bdb810 Mon Sep 17 00:00:00 2001
From: sana2dang <sana2dang@naver.com>
Date: Thu, 12 Mar 2026 16:07:04 +0900
Subject: Apply i18n to all UI components with ko/ja translations

- Add src/i18n/i18n.ts translation engine (ported from SimpleDeckyTDP)
- Add defaults/i18n/{ko,ja,template}.json with 80 translation keys
- Add defaults/i18n/language_metadata.json and steam_language_map.json
- Add scripts/build_i18n_json.sh to generate languages.json
- Apply t() to all 10 components: Content, ConfigurationSection,
  FlatpaksModal, FpsMultiplierControl, InstallationButton, NerdStuffModal,
  ProfileManagement, SmartClipboardButton, FgmodClipboardButton, UsageInstructions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---
 src/components/UsageInstructions.tsx | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

(limited to 'src/components/UsageInstructions.tsx')

diff --git a/src/components/UsageInstructions.tsx b/src/components/UsageInstructions.tsx
index 0c27517..6d32506 100644
--- a/src/components/UsageInstructions.tsx
+++ b/src/components/UsageInstructions.tsx
@@ -1,5 +1,6 @@
 import { PanelSectionRow } from "@decky/ui";
 import { ConfigurationData } from "../config/configSchema";
+import t from '../i18n/i18n';
 
 interface UsageInstructionsProps {
   config: ConfigurationData;
@@ -20,7 +21,7 @@ export function UsageInstructions({ config: _config }: UsageInstructionsProps) {
             color: "white"
           }}
         >
-          Usage Instructions
+          {t('USAGE_TITLE', 'Usage Instructions')}
         </div>
       </PanelSectionRow>
 
@@ -33,7 +34,7 @@ export function UsageInstructions({ config: _config }: UsageInstructionsProps) {
             whiteSpace: "pre-wrap"
           }}
         >
-          Click "Copy Launch Option" button, then paste it into your Steam game's launch options to enable frame generation.
+          {t('USAGE_DESC', 'Click "Copy Launch Option" button, then paste it into your Steam game\'s launch options to enable frame generation.')}
         </div>
       </PanelSectionRow>
 
@@ -65,7 +66,7 @@ export function UsageInstructions({ config: _config }: UsageInstructionsProps) {
             marginTop: "8px"
           }}
         >
-The configuration is stored in ~/.config/lsfg-vk/conf.toml and hot-reloads while games are running.
+          {t('USAGE_CONFIG_NOTE', 'The configuration is stored in ~/.config/lsfg-vk/conf.toml and hot-reloads while games are running.')}
         </div>
       </PanelSectionRow>
     </>
-- 
cgit v1.2.3

