Fluxo de Estados
Para garantir que a aplicação seja previsível e forneça uma boa experiência para o desenvolvedor, criados um fluxo de estados onde as funcionalidades se limitam em funcionamento, ou seja, dependendo do estado atual da aplicação, certas funcionalidades não podem ser executadas e certos elementos da interface também são omitidos.
Esse fluxo de estados não se limita somente as funcionalidades, ele ajuda também ao desenvolvedor, fornecendo a ela uma maneira de integrar o SDK com a sua solução de maneira reativa e orientada a eventos, ou seja, o desenvolvedor pode aguardar um determinado estado ocorrer, para executar certa ação na própria solução.
Diagrama de Fluxo
Abaixo, você pode ver o desenho para o diagrama de fluxo que nosso SDK segue para mudar entre estados.

Exemplos de Fluxos do Lado do Desenvolvedor
Abaixo você pode ver alguns exemplos de fluxos que você poderia implementar em sua solução usando o fluxo de estados da nossa SDK. Leve eles como uma sugestão para se inspirar, tenha em mente que o SDK é versátil o suficiente para você conseguir comportar suas funcionalidades em seu próprio fluxo de estados.
Repetir tradução a cada X tempos;
Esse fluxo pode ser útil quando você quer realizar uma tradução, e que ela se repita a cada X tempos. Um dicionário de palavras se beneficiaria disso, pois a ideia seria permitir a repetição da palavra para o entendimento do usuário.

- Traduzo uma palavra:
ready->translating; - Aguardo a tradução terminar:
translating->ready; - Faço um timer de 5 segundos;
- Ao final do timer chamo a funcionalidade de repetição
- Repete o fluxo...
Maximizar, Traduzir, Minimizar;

Esse tipo de fluxo é interessante se você quiser que a janela de tradução só apareça traduzindo por curtos momentos. Esse tipo de fluxo economiza espaço e é muito aceito em locais como aplicações de chat.
- Minimizo a janela:
ready->minimized; - Maximizo a janela:
minimized->ready; - Traduzo uma frase:
ready->translating; - Aguardo a tradução terminar:
translating->ready; - Minimizo a janela:
ready->minimized; - Repete o fluxo...