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.