=== Description ===
This would be an absolute game-changer for WeWeb teams shipping multilingual apps. WeWeb already “knows” which elements render text; let’s turn that knowledge into a first-class Translations workflow that can translate 300+ pages in hours, not weeks—and get the community buzzing. ![]()
Why this would be epic
- Ridiculously fast: auto-discover every translatable string across selected pages or the whole project and export a single CSV. Translate in your spreadsheet of choice, then import to instantly update the app.
- No more copy/paste archaeology: stable keys + context mean translators work with confidence, devs keep shipping.
- Forum-worthy wow: this is the feature people love to upvote—massive time saver, obvious value, and easy to demo.
=== Proposed capabilities ===
- Auto-extract translatable strings
- Scope: Current page / Selected pages / Entire project.
- Sources: static text nodes, component props (labels, placeholders, tooltips), validation messages, menus, meta tags, and string literals in bindings.
- Stable keys: pageSlug.componentId.prop (e.g., pricing/btn_3.label).
- Extra columns: page, component type, path, context, notes.
- CSV export/import (bulk)
- Export columns (minimum): page, component_id, path, key, original_text, context, notes, lang_pt, lang_en, lang_es, …
- Options: export by scope; export only “missing”; export diffs since last run.
- Import: dry-run validation, conflict preview, idempotent merges (no duplicates), per-row overwrite/skip.
- Runtime integration
- Generated dictionaries per language with fallback chain (lang → defaultLang → original_text).
- Seamless with the existing URL/internal lang parameter—zero breaking changes.
=== Bonus superpowers (the killer add-ons) ===
A) Out-of-sync translation notifications (change tracking)
When a string is edited in any language, flag all other languages as “Needs update.” In the Translations panel and inline on the component:
- Show status chip: Up-to-date / Needs update / Missing
- Quick actions: Propagate, Mark as up-to-date (clear), Ignore for now
- Batch ops: resolve a whole page or language in one go
B) WeWeb AI for real-time translations ![]()
Let WeWeb’s AI instantly draft and insert translations:
- Per-field button: text – pt [INPUT] [
Update languages] → fills other languages on click - Per-page: “Translate this entire page to [en/es/fr]”
- Per-project: “Fill all missing strings for [en]” with review queue
- Keeps translation memory so future updates get smarter; respects glossary/brand terms if provided
C) New language = instant bootstrap
When adding a language, prompt:
“Auto-translate the entire project to [new language] now?”
- Options: Translate all, Only missing, Skip
- Mirrors the best of what Webflow users expect, but with WeWeb’s extractor + keys for superior control
=== Acceptance criteria ===
- I can run Extract on the entire project and get a CSV of all strings with stable keys + context.
- Editing that CSV and importing applies changes app-wide immediately, without breaking existing keys.
- Re-extracting after page edits updates the catalog and preserves previously mapped keys.
- Out-of-sync statuses appear automatically when a source language changes, with batch resolve actions.
- The
Update languages button fills missing/updatable translations in real time (field, page, or project). - Adding a new language offers an automatic full-project translation option.
=== Example CSV ===
page,component_id,path,key,original_text,context,notes,lang_pt,lang_en,lang_es
home,heroTitle,text,home/heroTitle.text,“Bem-vindo”,“Text”,“Homepage hero”,Bem-vindo,“Welcome”,“Bienvenido”
pricing,btn_3,label,pricing/btn_3.label,“Assinar”,“Button”,“CTA primary”,Assinar,“Subscribe”,“Suscribirse”
form-contact,input_email,placeholder,form-contact/input_email.placeholder,“Seu e-mail”,“Input”,“”,Seu e-mail,“Your email”,“Tu correo”
——– Português ——–
=== Descrição ===
Isso seria uma verdadeira revolução para as equipes do WeWeb que desenvolvem aplicativos multilíngues. O WeWeb já “sabe” quais elementos renderizam texto; vamos transformar esse conhecimento em um fluxo de trabalho de traduções de primeira classe que possa traduzir mais de 300 páginas em horas, não em semanas — e deixar a comunidade empolgada. ![]()
Por que isso seria incrível?
-
Incrivelmente rápido: descubra automaticamente todas as strings traduzíveis em páginas selecionadas ou em todo o projeto e exporte um único arquivo CSV. Traduza na planilha de sua preferência e importe para atualizar o aplicativo instantaneamente.
-
Chega de arqueologia de copiar e colar: chaves estáveis + contexto significam que os tradutores trabalham com confiança e os desenvolvedores continuam lançando atualizações.
-
Impressionante o suficiente para ser comentado no fórum: este é o recurso que as pessoas adoram votar — economia de tempo enorme, valor óbvio e fácil de demonstrar.
=== Recursos propostos ===
- Extração automática de strings traduzíveis
- Escopo: Página atual / Páginas selecionadas / Projeto inteiro.
- Fontes: nós de texto estáticos, propriedades de componentes (rótulos, espaços reservados, dicas de ferramentas), mensagens de validação, menus, meta tags e literais de string em vinculações.
- Chaves estáveis: pageSlug.componentId.prop (por exemplo, pricing/btn_3.label).
- Colunas extras: página, tipo de componente, caminho, contexto, notas.
- Exportação/importação em lote (CSV)
-
Colunas de exportação (mínimas): página, component_id, caminho, chave, texto_original, contexto, notas, idioma_pt, idioma_en, idioma_es, …
-
Opções: exportar por escopo; exportar apenas os itens ausentes; exportar diferenças desde a última execução.
-
Importação: validação de simulação, pré-visualização de conflitos, mesclagens idempotentes (sem duplicados), sobrescrita/ignorar por linha.
- Integração em tempo de execução
- Dicionários gerados por idioma com cadeia de fallback (idioma → idioma_padrão → texto_original).
- Integração perfeita com o parâmetro de idioma interno/URL existente — sem alterações incompatíveis.
=== Superpoderes extras (os complementos essenciais) ===
A) Notificações de tradução dessincronizada (rastreamento de alterações)
Quando uma string é editada em qualquer idioma, sinaliza todos os outros idiomas como “Precisa de atualização”. No painel de Traduções e diretamente no componente:
- Exibir indicador de status: Atualizado / Precisa de atualização / Ausente
- Ações rápidas: Propagar, Marcar como atualizado (limpar), Ignorar por enquanto
- Operações em lote: resolva uma página inteira ou um idioma de uma só vez
B) IA da WeWeb para traduções em tempo real ![]()
Deixe a IA da WeWeb criar e inserir traduções instantaneamente:
- Botão por campo: texto – pt [ENTRADA] [
Atualizar idiomas] → preenche outros idiomas ao clicar - Por página: “Traduzir esta página inteira para [en/es/fr]”
- Por projeto: “Preencher todas as strings ausentes para [en]” com fila de revisão
- Mantém a memória de tradução para que as atualizações futuras sejam mais inteligentes; respeita os termos do glossário/marca, se fornecidos
C) Novo idioma = inicialização instantânea
Ao adicionar um idioma, exibir a mensagem:
“Traduzir automaticamente todo o projeto para [novo idioma] agora?” - Opções: Traduzir tudo, Somente ausentes, Ignorar
- Reflete o melhor que os usuários do Webflow esperam, mas com o extrator do WeWeb + chaves para um controle superior
=== Critérios de aceitação ===
-
Posso executar a Extração em todo o projeto e obter um CSV com todas as strings, com chaves estáveis e contexto.
-
Editar esse CSV e importá-lo aplica as alterações em todo o aplicativo imediatamente, sem quebrar as chaves existentes.
-
Reextrair após edições na página atualiza o catálogo e preserva as chaves mapeadas anteriormente.
-
Status de dessincronização aparecem automaticamente quando um idioma de origem é alterado, com ações de resolução em lote.
-
O botão
Atualizar idiomas preenche traduções ausentes/atualizáveis em tempo real (campo, página ou projeto). -
Adicionar um novo idioma oferece uma opção de tradução automática para todo o projeto.
=== Exemplo CSV ===
page,component_id,path,key,original_text,context,notes,lang_pt,lang_en,lang_es
home,heroTitle,text,home/heroTitle.text,“Bem-vindo”,“Text”,“Homepage hero”,Bem-vindo,“Welcome”,“Bienvenido”
pricing,btn_3,label,pricing/btn_3.label,“Assinar”,“Button”,“CTA primary”,Assinar,“Subscribe”,“Suscribirse”
form-contact,input_email,placeholder,form-contact/input_email.placeholder,“Seu e-mail”,“Input”,“”,Seu e-mail,“Your email”,“Tu correo”