Será que ela precisa ser uma tarefa agendada e um determinado fornecedor desligado por uma hora a uma hora?, Eu fiz uma sugestão aqui Circular verificação e troca de APIs para manter o fluxo de traduções, onde talvez pudéssemos iniciar sempre no topo de nossos fornecedores lista e fazer chamada de teste (como aquele que você forneceu para testar Google resposta e Microsoft) se a resposta é chamada de teste de 200 ou texto é traduzido, em seguida, usar esse provedor, se a resposta não é 200 ou texto de teste não é traduzido (usando o mesmo texto para cada teste e os REGEX para verificar o texto traduzido), em seguida, passar para próximo provedor, cada chamada tradução pode então começar no topo da lista e trabalhar para baixo
Não ter um resultado vazio seria bom porque uma vez que temos um retorno vazio que é como ele permanece, eu já tive muitas pessoas reclamando que este é o caso no meu forum.