Files
crm-ai/bridge/src/language.js
T

21 lines
1008 B
JavaScript

'use strict';
// 语言检测 + 硬性语言约束(最新客户消息决定回复语言)。
function detectLanguage(text) {
const q = String(text || '');
if (/[\u3400-\u9fff]/.test(q)) return 'Chinese';
if (/\b(und|nicht|für|mit|bitte|haben|preis|menge|lieferung)\b/i.test(q)) return 'German';
if (/\b(et|pour|avec|bonjour|prix|quantité|livraison|merci)\b/i.test(q)) return 'French';
if (/\b(e|per|con|prezzo|quantità|spedizione|grazie)\b/i.test(q)) return 'Italian';
if (/\b(y|para|con|precio|cantidad|envío|gracias)\b/i.test(q)) return 'Spanish';
if (/\b(en|voor|met|prijs|aantal|levering|bedankt)\b/i.test(q)) return 'Dutch';
return 'English';
}
function languageMandate(text) {
const lang = detectLanguage(text);
return `\n\nLANGUAGE MANDATE (hard rule): The customer's latest message is in ${lang}. Reply ENTIRELY in ${lang}, even if earlier messages or tool results are in another language. Do NOT mix languages.`;
}
module.exports = { detectLanguage, languageMandate };