Como a Langsys funciona
A Langsys transforma as frases que já estão na sua interface em sistema de tradução. Não há arquivo de chaves para manter nem etapa de extração em tempo de build — a frase no seu código é, ao mesmo tempo, a chave de busca e o padrão no idioma base.
A frase é a chave
No i18n tradicional, você inventa um identificador para cada string, guarda o texto real em um arquivo de localidade e mantém os dois sincronizados para sempre. A Langsys elimina essa indireção: você escreve a frase de verdade, e essa frase é a chave.
// Traditional i18n — indirection + a keys file to maintain
t('greetings.hello'); // what does this say? open en.json to find out
// en.json
{ "greetings": { "hello": "Hello, {name}!" } } // Langsys — the phrase IS the key and the base-language default
t('Hello, {name}!', 'Greetings', { name }); Como o texto de origem é a chave, a mesma frase escrita em qualquer lugar do seu app é uma única entrada traduzível — a deduplicação é automática — e um idioma que ainda não foi traduzido simplesmente recorre ao texto de origem. Não existe placeholder de chave ausente.
Em tempo real e contínuo
Você nunca precisa executar um comando de extração. Conforme seu app é renderizado, o SDK descobre as frases que ele usa. As novas são traduzidas automaticamente em segundo plano para os locales de destino do seu projeto, e seu app busca o catálogo pronto. Publique uma frase nova hoje; ela é traduzida logo depois, sem precisar fazer um novo deploy de um pacote de locale.
O ciclo de vida
- Sua interface renderiza frases com
t(),<Translate>e companhia. - No desenvolvimento, uma chave de escrita permite que o SDK descubra e registre quaisquer novas frases.
- A Langsys os traduz automaticamente para todos os idiomas de destino do seu projeto.
- Em produção, uma chave somente leitura busca o catálogo pronto para o idioma do usuário.
- Mude o idioma e toda a interface é renderizada novamente já traduzida — na hora, sem recarregar.
Comparado ao i18n tradicional. Sem en.json para editar à mão, sem o desvio indireto de t('some.nested.key'), sem etapa de extração no seu build e sem fallbacks de chaves ausentes — a frase de origem é sempre o fallback.