complete: add 4 missing translation keys to all 18 languages

- Add askAnythingPlaceholder, askPagePlaceholder, enterTextToSpeakPlaceholder, processingTokens
- All 18 language files now complete with 67 translation keys each
- Verified with translation completeness script - all languages pass
- Update CLAUDE.md documentation to reflect new key count
- All UI placeholder text now fully internationalized
This commit is contained in:
Russell Ballestrini 2025-07-03 14:28:13 -04:00
parent 9c9c5ec1c3
commit 3e01e9c713
19 changed files with 74 additions and 2 deletions

View file

@ -22,10 +22,10 @@
- This prevents breaking production with syntax errors like missing parentheses
## Translation Management
- All 18 language files are complete with 63 translation keys each (verified 2025-07-03)
- All 18 language files are complete with 67 translation keys each (verified 2025-07-03)
- Run verification before adding new languages: `cd src/languages && node verify-translations.js`
- Languages: ar, bn, de, en, es, fr, hi, id, ja, ko, mr, pt, ru, sw, te, tr, ur, zh, zh-tw
- Translation keys include: UI buttons, modal content, system prompts, error messages, placeholders
- Translation keys include: UI buttons, modal content, system prompts, error messages, placeholders, input placeholders
- Each language file follows format: `export const [code] = { key: "translation", ... };`
## Commit Message Guidelines

View file

@ -25,6 +25,10 @@ export const ar = {
sendButton: "إرسال",
typePlaceholder: "اكتب رسالتك...",
clearChatConfirm: "مسح جميع سجل المحادثة؟",
askAnythingPlaceholder: "اسأل عن أي شيء...",
askPagePlaceholder: "اسأل عن هذه الصفحة...",
enterTextToSpeakPlaceholder: "أدخل النص للتحدث...",
processingTokens: "🤖 معالجة {tokens} رمز...",
// Modal headers
aiAssistantTitle: "مساعد الذكاء الاصطناعي",

View file

@ -25,6 +25,10 @@ export const bn = {
sendButton: "পাঠান",
typePlaceholder: "আপনার বার্তা টাইপ করুন...",
clearChatConfirm: "সমস্ত কথোপকথনের ইতিহাস পরিষ্কার করবেন?",
askAnythingPlaceholder: "যেকোনো কিছু জিজ্ঞাসা করুন...",
askPagePlaceholder: "এই পৃষ্ঠা সম্পর্কে জিজ্ঞাসা করুন...",
enterTextToSpeakPlaceholder: "বলার জন্য টেক্সট প্রবেশ করুন...",
processingTokens: "🤖 {tokens} টোকেন প্রক্রিয়া করছি...",
// Modal headers
aiAssistantTitle: "AI সহায়ক",

View file

@ -25,6 +25,10 @@ export const de = {
sendButton: "Senden",
typePlaceholder: "Geben Sie Ihre Nachricht ein...",
clearChatConfirm: "Gesamten Gesprächsverlauf löschen?",
askAnythingPlaceholder: "Frage alles...",
askPagePlaceholder: "Frage nach dieser Seite...",
enterTextToSpeakPlaceholder: "Text zum Sprechen eingeben...",
processingTokens: "🤖 Verarbeite {tokens} Token...",
// Modal headers
aiAssistantTitle: "KI-Assistent",

View file

@ -25,6 +25,10 @@ export const es = {
sendButton: "Enviar",
typePlaceholder: "Escribe tu mensaje...",
clearChatConfirm: "¿Limpiar todo el historial de conversación?",
askAnythingPlaceholder: "Pregunta cualquier cosa...",
askPagePlaceholder: "Pregunta sobre esta página...",
enterTextToSpeakPlaceholder: "Introduce texto para hablar...",
processingTokens: "🤖 Procesando {tokens} tokens...",
// Modal headers
aiAssistantTitle: "Asistente de IA",

View file

@ -25,6 +25,10 @@ export const fr = {
sendButton: "Envoyer",
typePlaceholder: "Tapez votre message...",
clearChatConfirm: "Effacer tout l'historique de conversation ?",
askAnythingPlaceholder: "Demandez n'importe quoi...",
askPagePlaceholder: "Demandez à propos de cette page...",
enterTextToSpeakPlaceholder: "Entrez le texte à prononcer...",
processingTokens: "🤖 Traitement de {tokens} jetons...",
// Modal headers
aiAssistantTitle: "Assistant IA",

View file

@ -25,6 +25,10 @@ export const hi = {
sendButton: "भेजें",
typePlaceholder: "अपना संदेश टाइप करें...",
clearChatConfirm: "सभी वार्तालाप इतिहास साफ़ करें?",
askAnythingPlaceholder: "कुछ भी पूछें...",
askPagePlaceholder: "इस पृष्ठ के बारे में पूछें...",
enterTextToSpeakPlaceholder: "बोलने के लिए टेक्स्ट दर्ज करें...",
processingTokens: "🤖 {tokens} टोकन प्रोसेस कर रहे हैं...",
// Modal headers
aiAssistantTitle: "AI सहायक",

View file

@ -25,6 +25,10 @@ export const id = {
sendButton: "Kirim",
typePlaceholder: "Ketik pesan Anda...",
clearChatConfirm: "Hapus semua riwayat percakapan?",
askAnythingPlaceholder: "Tanya apapun...",
askPagePlaceholder: "Tanya tentang halaman ini...",
enterTextToSpeakPlaceholder: "Masukkan teks untuk diucapkan...",
processingTokens: "🤖 Memproses {tokens} token...",
// Modal headers
aiAssistantTitle: "Asisten AI",

View file

@ -25,6 +25,10 @@ export const ja = {
sendButton: "送信",
typePlaceholder: "メッセージを入力...",
clearChatConfirm: "すべての会話履歴をクリアしますか?",
askAnythingPlaceholder: "何でも聞いてください...",
askPagePlaceholder: "このページについて聞いてください...",
enterTextToSpeakPlaceholder: "読み上げるテキストを入力...",
processingTokens: "🤖 {tokens}トークンを処理中...",
// Modal headers
aiAssistantTitle: "AIアシスタント",

View file

@ -25,6 +25,10 @@ export const ko = {
sendButton: "보내기",
typePlaceholder: "메시지를 입력하세요...",
clearChatConfirm: "모든 대화 기록을 지우시겠습니까?",
askAnythingPlaceholder: "무엇이든 물어보세요...",
askPagePlaceholder: "이 페이지에 대해 물어보세요...",
enterTextToSpeakPlaceholder: "음성으로 변환할 텍스트를 입력...",
processingTokens: "🤖 {tokens} 토큰 처리 중...",
// Modal headers
aiAssistantTitle: "AI 어시스턴트",

View file

@ -25,6 +25,10 @@ export const mr = {
sendButton: "पाठवा",
typePlaceholder: "आपला संदेश टाइप करा...",
clearChatConfirm: "सर्व संभाषण इतिहास साफ करायचा?",
askAnythingPlaceholder: "काहीही विचारा...",
askPagePlaceholder: "या पानाबद्दल विचारा...",
enterTextToSpeakPlaceholder: "बोलण्यासाठी मजकूर प्रविष्ट करा...",
processingTokens: "🤖 {tokens} टोकन प्रक्रिया करत आहे...",
// Modal headers
aiAssistantTitle: "AI सहायक",

View file

@ -25,6 +25,10 @@ export const pt = {
sendButton: "Enviar",
typePlaceholder: "Digite sua mensagem...",
clearChatConfirm: "Limpar todo o histórico de conversas?",
askAnythingPlaceholder: "Pergunte qualquer coisa...",
askPagePlaceholder: "Pergunte sobre esta página...",
enterTextToSpeakPlaceholder: "Digite o texto para falar...",
processingTokens: "🤖 Processando {tokens} tokens...",
// Modal headers
aiAssistantTitle: "Assistente de IA",

View file

@ -25,6 +25,10 @@ export const ru = {
sendButton: "Отправить",
typePlaceholder: "Введите ваше сообщение...",
clearChatConfirm: "Очистить всю историю разговоров?",
askAnythingPlaceholder: "Спросить что угодно...",
askPagePlaceholder: "Спросить об этой странице...",
enterTextToSpeakPlaceholder: "Введите текст для произношения...",
processingTokens: "🤖 Обработка {tokens} токенов...",
// Modal headers
aiAssistantTitle: "ИИ Ассистент",

View file

@ -25,6 +25,10 @@ export const sw = {
sendButton: "Tuma",
typePlaceholder: "Andika ujumbe wako...",
clearChatConfirm: "Futa historia yote ya mazungumzo?",
askAnythingPlaceholder: "Uliza chochote...",
askPagePlaceholder: "Uliza kuhusu ukurasa huu...",
enterTextToSpeakPlaceholder: "Ingiza maandishi ya kuzungumza...",
processingTokens: "🤖 Inachakata {tokens} alama...",
// Modal headers
aiAssistantTitle: "Msaidizi wa AI",

View file

@ -25,6 +25,10 @@ export const te = {
sendButton: "పంపు",
typePlaceholder: "మీ సందేశం టైప్ చేయండి...",
clearChatConfirm: "మొత్తం సంభాషణ చరిత్రను క్లియర్ చేయాలా?",
askAnythingPlaceholder: "ఏదైనా అడగండి...",
askPagePlaceholder: "ఈ పేజీ గురించి అడగండి...",
enterTextToSpeakPlaceholder: "మాట్లాడానికి టెక్స్ట్ నమోదు చేయండి...",
processingTokens: "🤖 {tokens} టోకెన్లను ప్రోసెస్ చేస్తోంది...",
// Modal headers
aiAssistantTitle: "AI అసిస్టెంట్",

View file

@ -25,6 +25,10 @@ export const tr = {
sendButton: "Gönder",
typePlaceholder: "Mesajınızı yazın...",
clearChatConfirm: "Tüm sohbet geçmişini temizle?",
askAnythingPlaceholder: "Herhangi bir şey sorun...",
askPagePlaceholder: "Bu sayfa hakkında sorun...",
enterTextToSpeakPlaceholder: "Konuşmak için metin girin...",
processingTokens: "🤖 {tokens} token işleniyor...",
// Modal headers
aiAssistantTitle: "AI Asistanı",

View file

@ -25,6 +25,10 @@ export const ur = {
sendButton: "بھیجیں",
typePlaceholder: "اپنا پیغام ٹائپ کریں...",
clearChatConfirm: "تمام گفتگو کی تاریخ صاف کریں؟",
askAnythingPlaceholder: "کچھ بھی پوچھیں...",
askPagePlaceholder: "اس صفحہ کے بارے میں پوچھیں...",
enterTextToSpeakPlaceholder: "بولنے کے لیے متن درج کریں...",
processingTokens: "🤖 {tokens} ٹوکن کی پروسیسنگ...",
// Modal headers
aiAssistantTitle: "AI اسسٹنٹ",

View file

@ -25,6 +25,10 @@ export const zhTw = {
sendButton: "傳送",
typePlaceholder: "輸入您的訊息...",
clearChatConfirm: "清除所有對話歷史記錄?",
askAnythingPlaceholder: "問任何問題...",
askPagePlaceholder: "對於此頁面提問...",
enterTextToSpeakPlaceholder: "輸入要讀出的文字...",
processingTokens: "🤖 處理 {tokens} 代幣中...",
// Modal headers
aiAssistantTitle: "AI助手",

View file

@ -25,6 +25,10 @@ export const zh = {
sendButton: "发送",
typePlaceholder: "输入您的消息...",
clearChatConfirm: "清除所有对话历史记录?",
askAnythingPlaceholder: "问任何事情...",
askPagePlaceholder: "问关于这个页面...",
enterTextToSpeakPlaceholder: "输入要说的文本...",
processingTokens: "🤖 正在处理 {tokens} 个令牌...",
// Modal headers
aiAssistantTitle: "AI助手",