Opcao 1
Cara, na minha mente vem a opcao de criar uma traducao mesmo, por exemplo, pra esse seu JSON, tu criaria um arquivo chamado pt-BR.json
e adicionaria:
{
"category": "Destinos",
"question": "Como posso aprender mais sobre a história do destino?",
"answer": "Cada destino no Nomads tem uma seção dedicada à história e fatos interessantes sobre a região, ajudando você a conhecer o lugar antes de visitar."
}
E na sua service vc poderia fazer algo do tipo:
const translations = {
"en": require('./translations/en.json'),
"pt-BR": require('./translations/pt-BR.json')
};
app.get('/api/faq', (req, res) => {
const language = req.headers['accept-language'] || 'en';
const translation = translations[language] || translations['en'];
res.json(translation);
});
lembrando que o const language = req.headers['accept-language'] || 'en';
vc ta utilizando o cabeçalho HTTP Accept-Language
pra detectar o idioma.
Opcao 2
Uma estrutura mais simples diretamente na service, algo como:
const faqData = {
"category": "faq.category",
"question": "faq.question",
"answer": "faq.answer"
};
app.get('/api/faq', (req, res) => {
const language = req.headers['accept-language'] || 'en';
const translation = translations[language] || translations['en'];
const translatedFaqData = {
category: translation[faqData.category],
question: translation[faqData.question],
answer: translation[faqData.answer]
};
res.json(translatedFaqData);
});
Opcao 3
Mete uma GeminiAPI pra traduzir a request pra pt-BR kkk, ja fiz isso mas pra projeto pequeno, nao sei como seria a escalabilidade disso.