Criar um tradutor de C++ com um dicionário dado?

estou a tentar construir um tradutor simples que traduza frases com base num dicionário dado. Vamos assumir que temos duas cordas de palavras.

string ENG[] = {"black","coffee", "want","yesterday"};
string SPA[] = {"negro", "café", "quiero", ayer"};
Se o Utilizador dá " quero um café preto."os resultados devem ser" I? quiro a? café negro."Significa que para as palavras que não tem tradução em textos de dicionário deve haver ponto de interrogação ao lado dele.

#include <iostream>
using namespace std;

int main(int argc, char *argv[]) {

  string input string ENG[] = {"black", "coffee", "want", "yesterday"};
  string SPA[] = {"negro", "café", "quiero", "ayer"};

  cout << "Enter a word";
  cin >> input;

  for (int i = 0; i < 10; ++i) {
    if (ENG[i] == input) {
      cout << "You entered " << SPA[i] << endl;
    }
  }
  return 0;
}
O que escrevi converte apenas as palavras. Como posso escrever este código e torná-lo possível para frases?

Author: , 0000-00-00