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:
parent
9c9c5ec1c3
commit
3e01e9c713
19 changed files with 74 additions and 2 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -25,6 +25,10 @@ export const ar = {
|
|||
sendButton: "إرسال",
|
||||
typePlaceholder: "اكتب رسالتك...",
|
||||
clearChatConfirm: "مسح جميع سجل المحادثة؟",
|
||||
askAnythingPlaceholder: "اسأل عن أي شيء...",
|
||||
askPagePlaceholder: "اسأل عن هذه الصفحة...",
|
||||
enterTextToSpeakPlaceholder: "أدخل النص للتحدث...",
|
||||
processingTokens: "🤖 معالجة {tokens} رمز...",
|
||||
|
||||
// Modal headers
|
||||
aiAssistantTitle: "مساعد الذكاء الاصطناعي",
|
||||
|
|
|
|||
|
|
@ -25,6 +25,10 @@ export const bn = {
|
|||
sendButton: "পাঠান",
|
||||
typePlaceholder: "আপনার বার্তা টাইপ করুন...",
|
||||
clearChatConfirm: "সমস্ত কথোপকথনের ইতিহাস পরিষ্কার করবেন?",
|
||||
askAnythingPlaceholder: "যেকোনো কিছু জিজ্ঞাসা করুন...",
|
||||
askPagePlaceholder: "এই পৃষ্ঠা সম্পর্কে জিজ্ঞাসা করুন...",
|
||||
enterTextToSpeakPlaceholder: "বলার জন্য টেক্সট প্রবেশ করুন...",
|
||||
processingTokens: "🤖 {tokens} টোকেন প্রক্রিয়া করছি...",
|
||||
|
||||
// Modal headers
|
||||
aiAssistantTitle: "AI সহায়ক",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -25,6 +25,10 @@ export const hi = {
|
|||
sendButton: "भेजें",
|
||||
typePlaceholder: "अपना संदेश टाइप करें...",
|
||||
clearChatConfirm: "सभी वार्तालाप इतिहास साफ़ करें?",
|
||||
askAnythingPlaceholder: "कुछ भी पूछें...",
|
||||
askPagePlaceholder: "इस पृष्ठ के बारे में पूछें...",
|
||||
enterTextToSpeakPlaceholder: "बोलने के लिए टेक्स्ट दर्ज करें...",
|
||||
processingTokens: "🤖 {tokens} टोकन प्रोसेस कर रहे हैं...",
|
||||
|
||||
// Modal headers
|
||||
aiAssistantTitle: "AI सहायक",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -25,6 +25,10 @@ export const ja = {
|
|||
sendButton: "送信",
|
||||
typePlaceholder: "メッセージを入力...",
|
||||
clearChatConfirm: "すべての会話履歴をクリアしますか?",
|
||||
askAnythingPlaceholder: "何でも聞いてください...",
|
||||
askPagePlaceholder: "このページについて聞いてください...",
|
||||
enterTextToSpeakPlaceholder: "読み上げるテキストを入力...",
|
||||
processingTokens: "🤖 {tokens}トークンを処理中...",
|
||||
|
||||
// Modal headers
|
||||
aiAssistantTitle: "AIアシスタント",
|
||||
|
|
|
|||
|
|
@ -25,6 +25,10 @@ export const ko = {
|
|||
sendButton: "보내기",
|
||||
typePlaceholder: "메시지를 입력하세요...",
|
||||
clearChatConfirm: "모든 대화 기록을 지우시겠습니까?",
|
||||
askAnythingPlaceholder: "무엇이든 물어보세요...",
|
||||
askPagePlaceholder: "이 페이지에 대해 물어보세요...",
|
||||
enterTextToSpeakPlaceholder: "음성으로 변환할 텍스트를 입력...",
|
||||
processingTokens: "🤖 {tokens} 토큰 처리 중...",
|
||||
|
||||
// Modal headers
|
||||
aiAssistantTitle: "AI 어시스턴트",
|
||||
|
|
|
|||
|
|
@ -25,6 +25,10 @@ export const mr = {
|
|||
sendButton: "पाठवा",
|
||||
typePlaceholder: "आपला संदेश टाइप करा...",
|
||||
clearChatConfirm: "सर्व संभाषण इतिहास साफ करायचा?",
|
||||
askAnythingPlaceholder: "काहीही विचारा...",
|
||||
askPagePlaceholder: "या पानाबद्दल विचारा...",
|
||||
enterTextToSpeakPlaceholder: "बोलण्यासाठी मजकूर प्रविष्ट करा...",
|
||||
processingTokens: "🤖 {tokens} टोकन प्रक्रिया करत आहे...",
|
||||
|
||||
// Modal headers
|
||||
aiAssistantTitle: "AI सहायक",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -25,6 +25,10 @@ export const ru = {
|
|||
sendButton: "Отправить",
|
||||
typePlaceholder: "Введите ваше сообщение...",
|
||||
clearChatConfirm: "Очистить всю историю разговоров?",
|
||||
askAnythingPlaceholder: "Спросить что угодно...",
|
||||
askPagePlaceholder: "Спросить об этой странице...",
|
||||
enterTextToSpeakPlaceholder: "Введите текст для произношения...",
|
||||
processingTokens: "🤖 Обработка {tokens} токенов...",
|
||||
|
||||
// Modal headers
|
||||
aiAssistantTitle: "ИИ Ассистент",
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -25,6 +25,10 @@ export const te = {
|
|||
sendButton: "పంపు",
|
||||
typePlaceholder: "మీ సందేశం టైప్ చేయండి...",
|
||||
clearChatConfirm: "మొత్తం సంభాషణ చరిత్రను క్లియర్ చేయాలా?",
|
||||
askAnythingPlaceholder: "ఏదైనా అడగండి...",
|
||||
askPagePlaceholder: "ఈ పేజీ గురించి అడగండి...",
|
||||
enterTextToSpeakPlaceholder: "మాట్లాడానికి టెక్స్ట్ నమోదు చేయండి...",
|
||||
processingTokens: "🤖 {tokens} టోకెన్లను ప్రోసెస్ చేస్తోంది...",
|
||||
|
||||
// Modal headers
|
||||
aiAssistantTitle: "AI అసిస్టెంట్",
|
||||
|
|
|
|||
|
|
@ -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ı",
|
||||
|
|
|
|||
|
|
@ -25,6 +25,10 @@ export const ur = {
|
|||
sendButton: "بھیجیں",
|
||||
typePlaceholder: "اپنا پیغام ٹائپ کریں...",
|
||||
clearChatConfirm: "تمام گفتگو کی تاریخ صاف کریں؟",
|
||||
askAnythingPlaceholder: "کچھ بھی پوچھیں...",
|
||||
askPagePlaceholder: "اس صفحہ کے بارے میں پوچھیں...",
|
||||
enterTextToSpeakPlaceholder: "بولنے کے لیے متن درج کریں...",
|
||||
processingTokens: "🤖 {tokens} ٹوکن کی پروسیسنگ...",
|
||||
|
||||
// Modal headers
|
||||
aiAssistantTitle: "AI اسسٹنٹ",
|
||||
|
|
|
|||
|
|
@ -25,6 +25,10 @@ export const zhTw = {
|
|||
sendButton: "傳送",
|
||||
typePlaceholder: "輸入您的訊息...",
|
||||
clearChatConfirm: "清除所有對話歷史記錄?",
|
||||
askAnythingPlaceholder: "問任何問題...",
|
||||
askPagePlaceholder: "對於此頁面提問...",
|
||||
enterTextToSpeakPlaceholder: "輸入要讀出的文字...",
|
||||
processingTokens: "🤖 處理 {tokens} 代幣中...",
|
||||
|
||||
// Modal headers
|
||||
aiAssistantTitle: "AI助手",
|
||||
|
|
|
|||
|
|
@ -25,6 +25,10 @@ export const zh = {
|
|||
sendButton: "发送",
|
||||
typePlaceholder: "输入您的消息...",
|
||||
clearChatConfirm: "清除所有对话历史记录?",
|
||||
askAnythingPlaceholder: "问任何事情...",
|
||||
askPagePlaceholder: "问关于这个页面...",
|
||||
enterTextToSpeakPlaceholder: "输入要说的文本...",
|
||||
processingTokens: "🤖 正在处理 {tokens} 个令牌...",
|
||||
|
||||
// Modal headers
|
||||
aiAssistantTitle: "AI助手",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue