Saltar para o conteúdo
FENETRE Systems — Redes mosquiteiras e sistemas de estores plissados

Histórico de Versões

O processo de evolução do site é transparente. Nova página, actualização de conteúdo, melhoria e correcção; cada alteração fica registada com número de versão, data e hora.

Versão Actual
v1.58.37
Total de Versões
397
Registos de Alterações
926
Primeira Publicação
11 de outubro de 2026
v1.58.37Versão Actual

Correcção — camara→cabine concluído + terminologia náutica /pt/ (39 contextos, 3 ficheiros)

O equivalente pt-PT do TR "kamara" (cabine de barco/navio) foi normalizado para "cabine" — o resíduo "camara" foi zerado (36+3 contextos: duet-perde-uygulama 13, plise-perde-uygulama 24, product-pages 2). A discordância "o mesmo standard marinha" foi corrigida para "o mesmo padrão marinho". O verbo "verga" (vergar do tecido/caixilho) foi verificado como legítimo.

  • Correcçãocamara→cabine 39 contextos em 3 ficheiros: duet-perde-uygulama 13 · plise-perde-uygulama 24 · product-pages 2 — coerência TR kamara→pt-PT cabine completa
  • Correcçãostandard marinha→padrão marinho (concordância do adjectivo)
  • Infraestruturaverbo verga verificado como legítimo (vergar do tecido/caixilho); resíduo camara zerado no repositório
v1.58.36

Correcção — regime olhar para + em frente a /pt/ (17 contextos, 7 ficheiros)

Regime do verbo de visão: "olha o/a" transitivo (calque do TR "bakar") convertido na forma pt-PT obrigatória "olhar para" em 4 contextos — olha o catálogo→olha para o catálogo, olha o modelo→olha para o modelo, olha a página→olha para a página, na linha a que a câmara olha→na linha para a qual a câmara olha. Locução locativa "em frente de/da/do" (13 contextos, tendência BR) normalizada com a norma pt-PT "em frente a/à/ao" (75 contextos já correctos). Calque "põe em frente a decisão"→põe em primeiro plano a decisão. Verificação de crase antes de verbo sem erros.

  • Correcçãoolhar para 4 contextos: olha o catálogo/modelo→olha para o · olha a página→olha para a página · linha a que olha→para a qual olha
  • Correcçãoem frente de/da/do→em frente a/à/ao 13 contextos em 6 ficheiros (norma pt-PT dominante)
  • Correcçãopõe em frente a decisão→põe em primeiro plano a decisão do espaço (calque "öne çıkarır")
  • CorrecçãoSintaxe/concordância 4: divisão de mais baixa luz→com menos luz · detalhes de madeira e quentes→quentes e de madeira · motivo falaria demais→seria demasiado ×2
v1.58.35

Correcção — regime verbo-preposição + coerência terminológica /pt/ (≈62 contextos, 9 ficheiros)

Erros reais de regime verbo-preposição (verificados contra a fonte TR): "visar" sem preposição 5 contextos → visar a obrigatório (visa não a luz mas o brilho → não à luz mas ao brilho; onde se visa escuridão → visa à escuridão; visa isolamento → visa ao isolamento); "precisar" sem de em relativo 2 contextos → a luz de que as plantas precisam; "responder" com para → responde-se sobre o modelo. Confusão de sentido "transporte/taşıma" 6 contextos: taşıma güvenliği→segurança de carga, taşıma payı→margem de carga, taşıma yükü→carga suportada/carga, iki taşıma noktası→dois pontos de suporte, hipótese de transporte→hipóteses de a fita suportar (contextos de transporte físico preservados). Calque burocrático "a nível" 4 contextos: sombra a nível micro→em escala micro, diminui a nível visível→diminui visivelmente, distribuição a nível de país→à escala de país. Coerência terminológica: lamela→lâmina 32 contextos em 3 ficheiros (sistemas-de-persianas-venezianas 17, index 4, tipos-de-instalacao-persianas 11 — a camada de dados já usava lâmina). Advérbio "de tarde"→"à tarde" 4 contextos (par de noite/de dia é norma pt-PT, preservado). Tipografia: %10→10%. Camadas sem erros: gatilhos de conjuntivo (caso/a menos que/para que/embora+indicativo 0), regimes restantes de precisa/depende/gosta, assistir/preferir/obedecer/insistir/acreditar/sonhar, faz-demorar-durar, haver de/estar para, perífrases dá-se/toma-se, léxico de divisões (beliche/casa de banho/rés-do-chão/gabinete/divisão), léxico de caixilharia (friso/soleira/claraboia/montra/roldana/manípulo/retentor), camada %, URLs do Maps como dados.

  • CorrecçãoRegime verbo-preposição 8 contextos: visar+a 5 (visa à luz/à escuridão/ao isolamento) · precisar de 2 (de que as plantas precisam) · responder sobre 1
  • Correcçãotransporte→carga semântico 6 contextos: segurança/margem/quota de carga, pontos de suporte, carga suportada, hipóteses de a fita suportar
  • CorrecçãoCalque burocrático + terminologia: a nível→em escala/visivelmente/à escala 4 · lamela→lâmina 32 (3 ficheiros) · de tarde→à tarde 4 · %10→10%
  • CorrecçãoAdvérbio de independência 6: independente→independentemente 4 (mede-se/decide-se/produz-se) · funciona de forma independente · move-se independentemente de cima→de forma independente por cima (desvio de sentido) · vírgula após Apesar da gravidade
v1.58.34

Correcção — conclusão da família -eção AO90 + revisão gramatical /pt/ (≈600 contextos, 68 ficheiros)

Família -eção que a onda AO90 tinha falhado, concluída — duplo c obrigatório em pt-PT (cc pronunciado): direção→direcção 189, proteção→protecção 121, correção→correcção 109, seleção→selecção 72, coleção→colecção 31, projeção→projecção 28, confeção→confecção 12, inspeção→inspecção 2, interseção→intersecção 1, deteção→detecção 1, infeção→infecção 1, desinfeção→desinfecção 3, autocorreção→autocorrecção 1 (plural e maiúscula incluídos, 65 ficheiros). Derivados em 53 contextos: unidirecional→unidireccional, bidirecional→bidireccional, redirecionar/redirecionamento→redireccionar/redireccionamento. Formas AO90 correctas preservadas: receção/perceção/exceção (p mudo caiu no AO90), atracação, afetar/detectar/desinfetante, -ação de raiz -ar (instalação/ligação), satisfação, família posição. Gramática: "Se não vai ser desmontado"→"Se não for desmontado" (conjuntivo em condicional); "é dado que deve"→"é o dado que deve" (artigo em falta); "janelas de forma que não abrem"→"janelas que não abrem"; "o que vai ser pago"→"o que será pago". Camadas sem erros: regime verbo-preposição, resíduos por o/por a/em o 0, regra de o/de o sujeito de infinitivo, porque/porquê, repartição ser-passivo/estar-resultativo, ficar locativo, senão/se não, clivagem é que, distribuição de conectores.

  • CorrecçãoFamília -eção ≈545 contextos em 65 ficheiros: direcção/protecção/correcção/selecção/colecção/projecção/confecção/inspecção/intersecção/detecção/infecção/desinfecção + derivados 53 (unidireccional, bidireccional, redireccionar)
  • CorrecçãoConjuntivo/artigo 4 contextos: se não vai ser→se não for · é dado que→é o dado que · de forma que não abrem→que não abrem · vai ser pago→será pago
  • InfraestruturaAO90 preservado: receção/perceção/exceção (p mudo caiu) · atracação · -ação de raiz -ar · regime verbo-preposição/contracção/sujeito de infinitivo/ser-estar sem erros
v1.58.33

Correcção — onda de consoantes mudas AO90 /pt/: formas PT obrigatórias (≈1650 contextos, 152 ficheiros)

Duas classes separadas conforme a norma Priberam PT: consoantes mudas facultativas caem em PT (expetativa, caraterística, espetro — aplicado/mantido), consoantes mudas obrigatoriamente pronunciadas mantêm-se em PT. ≈1650 contextos em grafia BR convertidos para a forma PT: direto→directo, correto→correcto, atual→actual, objeto→objecto, reflet-→reflect-, protetor→protector, coletivo→colectivo, seletor→selector, detet-→detect-, injet-→inject-, ejet-→eject-, adjetivo→adjectivo, trajeto→trajecto, teto→tecto (533), ativ-→activ-, ator→actor, espectro→espetro (norma PT), carácter→caráter + característica→caraterística, tração→tracção e família, contrato→contracto, exato→exacto, abstrato→abstracto, extrato→extracto, arquitetura→arquitectura, vetor→vector, adot-→adopt-/adopção, otim-→optim-/óptimo, eletrónico→electrónico, projetar→projetar, fator→factor, inspecção→inspecção + inspetor→inspector + inspecion-→inspeccion-, intersecção→intersecção, selecionar→seleccionar, colecionar→coleccionar, confecionar→confeccionar, intelectual→intelectual, percetível→perceptível, recet-→recept-, concetual→conceptual, íman, réptil, portáctil→portátil.

  • CorrecçãoConsoantes mudas obrigatórias PT ≈1650 contextos em 152 ficheiros: conjuntos -ct-/-pt-/-cc- convertidos para a norma Priberam PT (direto→directo, teto→tecto, objeto→objecto, fator→factor, inspecção→inspecção, contrato→contracto, exato→exacto, ativ-→activ-, ator→actor, eletrónico→electrónico, otim-→optim-)
  • InfraestruturaVerificação Priberam: consoante muda facultativa cai em PT (expetativa, caraterística, espetro — aplicado/mantido); c/p obrigatoriamente pronunciado mantém-se em PT (secção, inspecção, intersecção, factor, inspector, directo — aplicado); espetro→espectro direcção errada revertida
v1.58.32

Melhoria — onda grafia+verbos /pt/: meio-dia, tons, Funciona, oferecem-se (≈125 contextos)

Grafia: meio-dio 31 → meio-dia (erro sistemático); toms 16 → tons (plural). Verbos: Trabalha maiúsculo residual 44 → Funciona (mecanismo) / Combina (harmonia de paleta); a trabalhar 11 → a funcionar/durar/correr; vive a mesma vida → dura o mesmo tempo; oferecem-se 11 → garantem-se/disponibilizam-se (plural que escapou à varredura de oferece-se). Sentido: na janela de correr → de rolo (TR stor); etiqueta Mini-casa 7 → Tiny house; Reflexão de Volta → Reflexão de Retorno; Efeito Vidro de Óculos → de Óculos de Sol. Alinhamento literal verificado em todos os módulos grandes: 9/9 ficheiros paridade total (sineklik 1066, plise-sineklik 676, plise-perde 1119, honeycomb 994, duet 993, jaluzi 989, zip 560, perde 1066, product-pages 8732, montaj-pages estrutura) — sem conteúdo perdido.

  • Correcçãomeio-dio→meio-dia 31 · toms→tons 16 · Trabalha→Funciona/Combina 44 · a trabalhar→a funcionar 11 · oferecem-se 11 · de correr→de rolo · Mini-casa→Tiny house 7 · 2 expressões técnicas
  • InfraestruturaAlinhamento literal 9/9 módulos grandes paridade total — nenhum texto TR perdido; preposição+gerúndio 0; crase/ser-estar/preposições limpas
v1.58.31

Melhoria — camada gramatical /pt/: do que, cabine, processa-se (≈310 contextos)

Estrutura comparativa: COMP+que→COMP do que 164 (mais/menos/maior/menor/melhor/pior + do que — norma pt-PT; orações relativas e "por mais X que" preservados). Grafia: cabina/cabinas 107 → cabine/cabines (pt-PT). Vocabulário: mini-casa 7 → tiny house (consistente com TR, termo padrão pt-PT); micro volume 11 → microvolume (AO90); standards plural 3 → normas/padrões; mais amada 2 → mais querida; corresponde-se 5 → corresponde/escolhe-se (reflexividade errada); processa-se 13 → regista-se (formulário), inclui-se (encomenda), entra na medida/na produção, numera-se (conforme sentido). Expressão: oferece-se 15 → disponibiliza-se/propõe-se/garante-se/faz-se/proporciona-se/instala-se/aplica-se; sala de mais de → com mais de; de mais acessórios → com mais; logo acima → mesmo acima.

  • CorrecçãoCOMP+que→do que 164 · cabina→cabine 107 · processa-se 13 · oferece-se 15 · mini-casa→tiny house 7 · microvolume 11 · standards→normas/padrões 3 · corresponde-se 5 · padrões menores 6
  • InfraestruturaCamadas verificadas limpas: gatilhos de próclise, ser/estar, concordância nenhum, artigo+posse (o seu), porquê/porque, demais/de mais, grafia de unidades (260 mm com espaço), fuga de letras TR 0
v1.58.30

Melhoria — calque /pt/ trabalha→funciona (≈570 contextos)

Calque do TR "çalışır": trabalha ≈558 → funciona, trabalham → funcionam nos sujeitos mecanismo/sistema/material (em pt-PT os mecanismos funcionam). Preservados os usos com sujeito pessoal (≈15): quem trabalha por turnos/em casa/na frente do ecrã, equipa trabalha, trabalha-se com ecrã (sujeito indeterminado pessoal). trabalha-se técnico 11 → aplica-se (a impressão aplica-se na membrana), opera-se por fachada, usa-se na fachada interior. Concordância adverbial: funciona direita/direito 14 → funciona correctamente; funciona estável → de forma estável; funciona independente → independentemente. escuridão realizável → escuridão atingível (escuridão alcançável). Os ≈15 contextos pessoais restantes verificados.

  • Correcçãotrabalha→funciona ≈558 (coisas) + trabalham→funcionam; contextos pessoais preservados; trabalha-se técnico 11→aplica-se/opera-se/usa-se
  • Correcçãofunciona direita/direito→correctamente 14 · funciona estável→de forma estável · funciona independente→independentemente · escuridão realizável→atingível
  • InfraestruturaDistinção sujeito pessoa/coisa verificada contextualmente; tsc 0 erros
v1.58.29

Melhoria — calque /pt/ faz-se/constrói-se + leitura de montaj-pages

O calque do TR "yapılır/kurulur" faz-se a X + constrói-se a X corrigido em 38 contextos por classe de sentido: escolha escolhe-se (4), cálculo calcula-se (3), montagem instala-se/realiza-se (5), tabela/proposta prepara-se (2), barreira/protecção cria-se/garante-se (7), distribuição define-se/instala-se (4), combinação combina-se (5), correspondência faz-se a correspondência com (1), outros forma-se/aplica-se/verifica-se (7). Preservados os legítimos: faz-se a partir de (passiva), constrói-se a partir do alinhamento, faz-se a correspondência com a cartela, obtém-se a aprovação/classe. Leitura de montaj-pages.ts: a secção vidali-plise-perde com blocos de passos/tabela/lista/prosa fiel e pt-PT natural (bucha, fita de dupla face, parafuso de ponta broca, retentores, invernagem, inquilino correctos). Convenção de ids de secção com chave TR confirmada como partilhada em todas as línguas (de/fr com os mesmos ids).

  • Correcçãocalque faz-se a X + constrói-se a X em 38 contextos → pt-PT natural por classe de sentido (escolhe-se/calcula-se/instala-se/cria-se/combina-se/prepara-se/verifica-se)
  • Infraestruturaleitura profunda de montaj-pages.ts + passivas legítimas faz-se a partir de / constrói-se a partir de verificadas; tsc 0 erros
v1.58.28

Melhoria — auditoria terminológica profunda /pt/ (8 ficheiros linha a linha)

Comparação linha a linha TR↔pt: tradução errada de vasistas óculo 4 → bandeira (coerente com os ficheiros plissados); lomboz náutico óculo 20 → portilho (termo náutico pt-PT); calque de gradação de cor degrau ≈74 → tom (contextos físicos preservados: degrau no chão/com degraus/sem degrau; contexto breadcrumb nível); nome de cor alfazema 14 → lavanda; preço net errado valor/preço líquido 17 → valor/preço exacto (vão líquido termo de construção preservado); fecho zip 11 → fecho de correr (fecho pt-PT); teknik-veriler: Células de ninho de abelha→Células em favo, RAL a combinar→consoante, Superfície aberta→Área aberta; reviews: Ekim/Mayıs→Outubro/Maio (4 datas); products: forma preguiçada→forma de pregas + tecido portante→decorativo + calor→aconchego; uygulama-cards: clusters de hífen (batente-de correr-fixa, barcos-iates, triangulares-trapezoidais)→lista com vírgulas; hero: oscilação de folha→da folha + Caixilharia ampla→Caixilho de janela amplo. Verificados como legítimos: marquise, caravana/autocaravana, vara, montra, concelhos, pavimento, casa de banho, telecomando, escalão, inquilino, de friso, cassete, blogue, perspetiva, assistência, invulgar.

  • Correcçãoóculo→bandeira 4 (vasistas) + óculo→portilho 20 (lomboz) · degrau→tom ≈74 (gradação de cor; físico preservado) · alfazema→lavanda 14 · valor/preço líquido→exacto 17 · fecho zip→fecho de correr 11
  • Correcçãoteknik-veriler 3 correcções · datas de reviews 4 (Outubro/Maio) · products preguiçada→pregas/aconchego · clusters de hífen→vírgula 9 · hero 2 · uygulama-alanlari caixa→caixilho 1
  • InfraestruturaLeitura integral por ficheiro: uygulama-alanlari (189 pares), montaj (86), pricing (82), hero-slides (9 slides), reviews, montajcilar, teknik-veriler (66), blog-categories, product-names (222 mapeamentos), wizard (118), uygulama-cards (116), products — ≈880 pares de linhas auditados; tsc 0 erros
v1.58.27

Melhoria — AO90 /pt/ + interface + textos do hero

Resíduos pt-PT restantes: form.activity Sector→Sector em ui.ts (último resíduo; etiqueta visível do DealerForm); formas verbais AO90 veem/Revêem 2 → veem/Reveem (õe preservado: dispõem/sobrepõem/propõem correcto); percentagem com espaço 8 → X% coerente (igual aos 37 existentes); hero-slides: 'A Força de Produção Trasladada à Parceria' → 'Transferida para a Parceria' (trasladar é forma hispânica); CTA 'Escreva para Orçamento' 8 → 'Escreva-nos para um Orçamento' (mesma forma que cta.request em ui.ts). Verificados como legítimos: verbo desbotar (o substantivo era descoloração), id="yetkiler" convenção TR de âncoras, localização de href do wizard (localizeHref), ramo pt do ProductWizard correcto, correspondência assunto↔dispatch de 5 formulários, há 212/tem 197, de que 6 legais, AO90 totalmente conforme (sector/facto/contacto/objectivo/directo/afetar/detectar/exceção/perceção/económica/arquitectura/têxtil/contributo), hífenes conformes (pré-fabricada/pós-venda/sub-revendedor/tiny house/semi-blackout), distribuição anafórica natural (isso 88/isto 13/desta 41/por isso 22/porém 15), advérbios saudáveis (só 712, apenas 99, tem que 0, somente 0, a fim de 0, estar+gerúndio 0), contracções coerentes (num/numa 451, de um/uma por extenso — padrão).

  • Correcçãoui.ts: Sector de actividade→Sector (etiqueta visível do DealerForm, último resíduo de sector)
  • CorrecçãoAO90: veem→veem, Revêem→Reveem (2); % com espaço 8→X% coerente; título hero Trasladada→Transferida (1); CTA Escreva para Orçamento→Escreva-nos para um Orçamento (8)
  • InfraestruturaAuditoria profunda: AO90 60+ padrões totalmente conformes; regras de hífen conformes; conjuntivo/infinitivo pessoal correcto (se for 10, se vai=perífrase correcta); de que/do que legais; tsc 0 erros; php -l limpo
v1.58.26

Melhoria — vaga de gramática/idioma /pt/ + pontuação de e-mail

Correcções de gramática/idioma pt-PT: uso singular de clips 34 → clip (O clips→O clip, o clips→o clip, do clips→do clip; plural os/de clips preservado); o cor de laranja 13 → a cor de laranja (concordância — cor é feminino); A colisão roupeiro e janela → A colisão entre o roupeiro e a janela; a ter atenção → a ter em atenção (idioma); a luz difusa conforto do doente → a luz difusa serve o conforto do doente. Nos modelos PT de send.php, 17 sinais de tipografia francesa ( :,  ?,  ;) convertidos para pontuação pt-PT sem espaço — os modelos FR preservados; deploy/send.php sincronizado. Verificados como legítimos: ramo pt do PlatformMockup correcto (a linha espanhola é o ramo ES); de o/de a/a o/a a são construções enclíticas (depois de o corpo, carrega-a o edifício); junto a/à/ao ≈81 espacial correcto; junto com 116 válido em pt-PT; distribuição há 212/tem 197 natural; sob medida/sob encomenda 0 (à medida 416, por encomenda 10); estar+gerúndio 0; a fim de 0; banheira/polibã/chuveiro/roupeiro/armário/exaustor/bancada pt-PT correcto; enclíticos de e-mail (foi-nos entregue, Responder-lhe-emos, contactá-lo-emos, ser-lhe-á) correctos; assuntos de formulário pt em correspondência exacta com o dispatch.

  • CorrecçãoGramática: O/o/do clips→clip (34, plurais preservados); o cor de laranja→a cor (13); colisão roupeiro e janela→entre o roupeiro e a janela; a ter atenção→a ter em atenção; a luz difusa conforto→serve o conforto
  • CorrecçãoE-mail:  : ? ; 17 nos modelos pt→pontuação pt-PT sem espaço (modelo FR preservado); deploy/send.php sincronizado; php -l limpo
  • InfraestruturaAuditoria: construções enclíticas, junto a/de/com, distribuição há/tem, à medida/por encomenda, termos digitais (download/e-mail/clique/stock), correspondência assunto↔dispatch de formulários — tudo verificado; tsc --noEmit 0
v1.58.25

Melhoria — segunda vaga de grafia /pt/ + correcções de formato/concordância

Segunda vaga pt-BR→pt-PT + auditoria de formato: pérgola 64 → pérgula (grafia pt-PT); desbotamento 17 → descoloração + concordância do artigo (o→a descoloração 8, ao→à 2); uso arrendado 1 → em espaços arrendados; escrita turca %1/%3/%5 14 → 1%/3%/5% (em pt-PT o número vem primeiro); 4.300/5.000/1.000 ponto de milhar 5 → 4 300/5 000/1 000 (separador de espaço pt-PT); sector→sector em ui.ts (2), DealerForm (1) e slug da categoria do blogue (como FR secteur/DE branche); send.php modelo PT expectativas 1 → expetativas; gralhas: remete à à areia → à areia, idoneidade de de rolo → de rolo, ocurecimento 8 → escurecimento. Verificados como legítimos: motores de busca (termo standard pt-PT), par inquilino+senhorio, endereço (entrega/e-mail/barra de endereço), onde só-espacial ≈499 (zero com antecedente abstracto), estar+gerúndio 0 (estrutura BR ausente), nesse/isso anafóricos correctos, se se condicional-reflexivo ≈60 correcto, contracções num/numa/pelo/pela coerentes, pós-venda correcto, crase a/à limpa.

  • MelhoriaGrafia pt-BR→pt-PT: pérgola→pérgula (64), desbotamento→descoloração (17) + concordância (a/à descoloração 10), sector→sector (ui.ts 2 + DealerForm 1 + slug de categoria do blogue), send.php expectativas→expetativas (1, modelo ES preservado), uso arrendado→em espaços arrendados (1)
  • CorrecçãoFormato: %N escrita turca 14→N% (pt-PT); 4.300×5.000/1.000 m² ponto de milhar 5→4 300×5 000/1 000 m²; remete à à→à areia; idoneidade de de→de rolo; ocurecimento 8→escurecimento
  • InfraestruturaVerificação: varrimento sem acentos = 0 resíduo no texto (só URLs); discordância de género limpa (a sistema/o cor etc. todos substrings); estar+gerúndio 0; se se/nesses/isso legítimos; tsc --noEmit 0 erros; php -l limpo; deploy/send.php sincronizado
v1.58.24

Melhoria — limpeza de grafia brasileira em /pt/ (expetativa/sector/electricidade/rés-do-chão)

Varrimento de grafia e vocabulário pt-BR: expectativa 74 → expetativa (pt-PT); sector/sectorial/sectores 28 → sector/sectorial/sectores (c pronunciado em pt-PT); electricidade 12 → electricidade; piso térreo 21 → rés-do-chão; contexto de casa arrendada alugad* 23 → arrendad* (em pt-PT arrenda-se casa; alugar é legítimo para equipamento, mas todos os contextos eram imobiliários); edifícios sanitários 8 → edifícios de saúde e ensino (correcção de sentido — sanitário≠saúde); efetivo/efetivamente 2 → efectivo/efectivamente; táctil 1 → táctil; vantagem de frete 1 → vantagem no transporte; tipicamente 1 → em regra; etiquetas Casa alugada → Casa arrendada. Verificados como legítimos: balcão (balcão de serviço), esquadria (corte em esquadria), arquivo (arquivo — não confundir com ficheiro), intersecção (ç único — igual nas duas variantes, correcção indevida revertida), perfeição/refeição (iguais nas duas variantes), húmido/humidade (86+176 — já correcto em pt-PT), contato/controle/equipe/usuário/registro/fato/aspecto/estoque/trena/banheiro/porão/furadeira/arruela/trilho/logotipo/economiz/insumo = 0.

  • MelhoriaGrafia pt-BR→pt-PT: expectativa→expetativa (74), sector→sector + sectorial→sectorial (28), electricidade→electricidade (12), efetivo→efectivo + efetivamente→efectivamente (2), táctil→táctil (1), tipicamente→em regra (1)
  • CorrecçãoSentido: edifícios sanitários e escolares 8 → edifícios de saúde e ensino (paridade com o título da página); piso térreo 21 → rés-do-chão; contexto imobiliário alugada/alugados/aluguer 23 → arrendada/arrendados/arrendamento; vantagem de frete → vantagem no transporte
  • InfraestruturaVerificação: varrimento de resíduos = 0 (sector apenas como slug de categoria de blog); falsos positivos afastados — intersecção/perfeição/refeição/húmido/arquivo/balcão/esquadria legítimos; tsc --noEmit 0 erros
v1.58.23

Melhoria — auditoria de padrões do português europeu em /pt/ (dá-se / escreve-se / apanha-se)

Segunda vaga da auditoria de calques impersonais -se: o calque do TR "verilir" dá-se corrigido em ≈60 contextos por classe de sentido — decisão toma-se/faz-se, obtenção obtém-se/consegue-se/proporciona-se, apresentação em página apresenta-se/mostra-se/indica-se, fornecimento fornece-se/oferece-se/presta-se; mantidos os legítimos "dá-se ao pessoal / dá-se prioridade". O calque "o limite escreve-se honestamente" escreve-se honestamente/abertamente/claramente 46 → indica-se/declara-se. apanha-se 3 → detecta-se (pt-PT); grafia o ton 3 → o tom; pergunta-se ao X 5 → confirma-se; diz-se se 1 → avalia-se; corrigidas repetições tecido tecido e regra escreve-se diferente. Verificados como legítimos: lê-se como (179), sente-se, nota-se/anota-se, marca-se, faz-se, usa-se, corta-se, junta-se, obtém-se, carrega (físico), liga-se (física/telefone), pede-se, vê-se, percebe-se, ouve-se, entende-se, define-se, produz-se, processa-se, regista-se, imprime-se, distingue-se, inclui-se, detalha-se, explica-se, lista-se, descreve-se, fala-se.

  • Melhoriadá-se ≈60 contextos: decisão→toma-se/faz-se/avalia-se, obtenção→obtém-se/consegue-se/deixa-se/oferece-se, conforto→proporciona-se, aprovação→concede-se, listagem→apresenta-se/mostra-se/fornece-se/indica-se, serviço→presta-se; 3 legítimos (dá-se ao pessoal, dá-se prioridade) preservados
  • Melhoriaescreve-se +advérbio 46: honestamente→indica-se honestamente, abertamente→declara-se abertamente, claramente→indica-se claramente, sem exagero→indica-se sem exagero; preservados os usos legítimos de escreve-se em encomenda/medida
  • Correcçãoapanha-se na prova 3→detecta-se · o ton 3→o tom · pergunta-se ao betão/modelo/produto 5→confirma-se no · diz-se se 1→avalia-se · regra escreve-se diferente→difere · necessidade escreve-se na fase→regista-se · tecido tecido→tecido em células
  • InfraestruturaVerificação: tsc --noEmit 0 erros; inventário impessoal legítimo de 30 padrões ≈800 usos validado por classe de contexto; varrimento de duplicações = 0
v1.58.22

Correcção — paridade do changelog /pt/ + fugas de links/texto visível

Descobertas da auditoria profunda de qualidade fechadas: CHANGELOG_PT completado com 22 versões em falta (1.58.0–1.58.21) em pt-PT (359→381, idêntico ao TR); links do changelog do historico-de-versoes encaminhados para a rota /pt/ com l(); link interno do os-nossos-produtos para /pt/programa-de-revendedores/; 9 páginas pt que usavam SITE.contact.whatsapp passam para a rota /pt/whatsapp/ com l()/localizeHref; comentários Google do index pt passaram de TR para GOOGLE_REVIEWS_PT. Verificação: paridade DOM em 624 pares, paridade numérica, varrimento de carateres+palavras funcionais TR, varrimento TR de title/desc em 625 páginas = 0, marcadores pt-BR = 0.

  • Correcçãosrc/i18n/pt/changelog.ts: 22 registos adicionados — todas as versões de 1.58.0 a 1.58.21 em pt-PT (lista de versões idêntica à TR)
  • Correcçãohistorico-de-versoes.astro: link.href → l(link.href); os-nossos-produtos.astro: /bayilik/ → /pt/programa-de-revendedores/; 9 páginas: SITE.contact.whatsapp → l()/localizeHref → /pt/whatsapp/
  • Correcçãopt/index.astro: GOOGLE_REVIEWS (TR) → GOOGLE_REVIEWS_PT — comentários de clientes da página inicial em pt-PT
  • InfraestruturaAuditoria: paridade DOM em 624 pares TR↔pt (h2/h3/p/li/tr/details), paridade de valores numéricos, varrimento de carateres ı/ğ/ş + palavras funcionais TR, varrimento TR de title/description em 625 páginas = 0, varrimento de marcadores pt-BR = 0
v1.58.21

Infraestrutura — camada de correio /pt/ + idioma publicado

Adicionado pt à camada de correio de formulários: send.php $isPt + 5 modelos de confirmação pt-PT para o cliente (genérico, orçamento, revendedor, instalador, candidatura) + ramo de dispatch; listas de reconhecimento de subject com valores pt (Subscrição da newsletter, Avaliação de Produto, Formulário de Orçamento, Candidatura de revendedor/Emprego/Instalador) e valores FR/IT em falta. contacto subject Formulário de contacto. Etiquetas de idioma pt/az/lb (+fr) nos gémeos .md do generate-llms; robots.txt /pt/sitemap.xml; languageMeta.pt enabled — selector de idioma + publicação hreflang activa.

  • Infraestruturapublic/api/send.php + deploy/send.php: $isPt, ackHtmlPt/quoteAckHtmlPt/dealerAckHtmlPt/montajciAckHtmlPt/careerAckHtmlPt (pt-PT, com links /pt/), elseif($isPt) ackBody/ackSubjectText/ackHtmlInner/ackPreheader; listas de subject +6 pt +5 fr/it; php -l limpo, cópias idênticas
  • Correcçãocontacto.astro subject="Formulário de contacto" (enviava TR İletişim Formu); cadeia de idioma do generate-llms.mjs +fr/az/lb/pt (Fonte/Imagem) — os gémeos .md caíam na etiqueta Kaynak/Görsel; linha /pt/sitemap.xml no robots.txt
  • InfraestruturalanguageMeta.pt enabled:true — 625 páginas pt publicadas com selector de idioma + hreflang; validação da camada de dados: paridade de chaves TAM em 27/27 módulos pt, 0 remanescentes TR nos valores
v1.58.20

Correcção — fugas TR/EN em /pt/ + infraestrutura de feeds

Fugas pt detectadas na auditoria de renderização foram fechadas: site-map PT_TITLE_BY_TR (etiquetas de páginas dinâmicas caíam em inglês — resolvido /pt/mapa-do-site/ ↔ /en/sitemap/ CRITICAL 0.721), ramo pt no ProductDetail (nomes de produtos, Produção por Encomenda, Para Quem?, títulos FAQ e CTA), lista de assuntos do ContactForm, painel+dados de encomenda do PlatformMockup, registo blogPt no SearchPalette, subject da newsletter no Footer, modelo WhatsApp pt + vírgula decimal no Calculator, Análise no ApplicationDetailPage. Camada de feeds pt: manifest.webmanifest, rss.xml (blogPt), opensearch.xml, historico-de-versoes.xml + registos FEED/MANIFEST no BaseLayout; concordância title↔h1 no pesquisar.

  • Correcçãosite-map.ts: PT_TITLE_BY_TR — 8 grupos de aplicação + detalhe/sub de montagem + páginas de aplicação + nomes de produtos + títulos de calculadoras simulador a partir da camada de dados pt; MISC_GROUP pt (Outras páginas); ramo pt no locLabel
  • CorrecçãoProductDetail.astro: productNamePt + pt ctaVerbs/specPhrases/stockPhrases/whoTitle/faqTitle/ctaTitle/siblingNote; contacto.astro subjects pt; pesquisar title↔h1
  • CorrecçãoPlatformMockup.astro: dicionário do painel pt + dados da encomenda de exemplo; SearchPalette.astro: blogPt + BLOG_CATEGORY_SLUGS_PT; Footer: Subscrição da newsletter; Calculator: modelo wa pt + vírgula decimal; ApplicationDetailPage: Análise
  • Infraestruturafeed pt: public/pt/manifest.webmanifest, pt/rss.xml (blogPt), pt/opensearch.xml, pt/historico-de-versoes.xml; FEED_LANGS+MANIFEST_LANGS pt no BaseLayout; link do feed historico-de-versoes
v1.58.19

Conteúdo — /pt/ páginas auxiliares + directório + página de revendedores (7 páginas)

Pesquisar (pesquisa no site), mapa-do-site, ponte whatsapp, offline, directório instaladores, areas-de-servico, kit-de-imprensa e programa-de-revendedores traduzidas para pt-PT — conjunto de páginas TR de nível superior concluído. Ramo pt no DealerForm, countries.pt.json (250 países), namePt em service-regions, ramo blogPt no site-map, precache offline pt no sw.js (VERSION v10→v11).

  • Conteúdopáginas pt: pesquisar, mapa-do-site, whatsapp, offline, instaladores, areas-de-servico, kit-de-imprensa, programa-de-revendedores; PAGE_COVERAGE.pt +16 (ara, site-haritasi, whatsapp, offline, iletisim, katalog, cozumlerimiz, garanti, proje-talebi, kariyer, teklif-al, garanti-talebi, montajcilar, hizmet-bolgeleri, medya-kiti, bayilik)
  • InfraestruturaRamo pt no DealerForm (listas de actividade/experiência/modelo + subject + Turquia), public/data/geo/countries.pt.json 250 países, DeliveryCountry.namePt, ramo postTitle blogPt no site-map, OFFLINE_URL_PT precache + fallback /pt/ no sw.js (v11)
v1.58.18

Conteúdo — /pt/ módulos jurídicos + contractos + portal (23 páginas)

Bloco jurídico de 15 páginas (7 documentos de política, 7 contractos, cadernos-de-encargos) e 8 páginas de módulos do portal de revendedores (sub-revendedores, clientes, conta corrente, garantia-serviço, envio-entrega, acompanhamento encomenda-produção, encomenda inteligente, preços-orçamentos) traduzidas para pt-PT; adicionados ramos pt ao LegalPage.

  • Conteúdopáginas pt: politica-de-privacidade, informacao-sobre-tratamento-de-dados-pessoais, politica-de-cookies, declaracao-de-consentimento, consentimento-a-comunicacoes-comerciais, termos-de-utilizacao, declaracao-de-acessibilidade, os-nossos-contratos, contrato-de-revendedor, contrato-de-distribuicao, contrato-de-fornecimento, acordo-de-confidencialidade, condicoes-de-instalacao-e-aplicacao, condicoes-de-encomenda-e-producao-a-medida, cadernos-de-encargos, gestao-de-sub-revendedores, gestao-de-clientes-revendedores, gestao-de-conta-corrente-e-cobrancas, gestao-de-garantia-e-servico, acompanhamento-de-envio-e-entrega, acompanhamento-de-encomenda-e-producao, ecra-de-encomenda-inteligente, precos-e-orcamentos-em-tempo-real; PAGE_COVERAGE.pt +23
v1.58.17

Conteúdo — /pt/ último grupo do bloco institucional (2 páginas)

Escreva uma Avaliação (selecção de produto + classificação por estrelas + formulário de comentário com consentimento RGPD + nota de verificação) e Avaliações (resumo da pontuação Google + 5 comentários verbatim + painel para deixar avaliação + 4 FAQ) traduzidas para pt-PT; bloco institucional concluído 16/16.

  • Conteúdopáginas pt: escreva-uma-avaliacao, avaliacoes; PAGE_COVERAGE.pt +2
v1.58.16

Conteúdo — /pt/ bloco institucional 4.º grupo (4 páginas) + JobForm pt

Porquê a FENETRE Systems (6 cartões de razões + âmbito incluído/excluído + 3 pontos de controlo + infraestrutura de revenda), Galeria (4 cartões de âmbito + 3 cartões de origem), Certificados e Documentos (4 tipos de documento + SpecTable + 3 FAQ) e Trabalhe Connosco (4 áreas de trabalho + processo em 3 passos + JobForm + 3 FAQ) traduzidas para pt-PT; adicionado ramo de idioma pt-PT ao componente JobForm.

  • Conteúdopáginas pt: porque-a-fenetre-systems, galeria, certificados-e-documentos, trabalhe-connosco; PAGE_COVERAGE.pt +4
  • ActualizaçãoJobForm.astro: cadeias de posição/experiência/UI em pt-PT
v1.58.15

Conteúdo — /pt/ bloco institucional 3.º grupo (2 páginas)

A Nossa Unidade de Produção (4 estações + fluxo em 6 passos + SpecTable de controlo + 3 FAQ) e Os Nossos Projetos (3 âmbitos + estatísticas do canal de projetos + processo em 7 passos + lista de trabalho sem intermediários + secção de arquivo) traduzidas para pt-PT.

  • Conteúdopáginas pt: a-nossa-unidade-de-producao, os-nossos-projetos; PAGE_COVERAGE.pt +2
v1.58.14

Conteúdo — /pt/ bloco institucional 2.º grupo (3 páginas)

Segundo grupo da camada institucional traduzido para pt-PT: Os Nossos Valores (6 cartões de valores + SpecTable com equivalente em terreno + 3 FAQ), Missão e Visão (dois cartões-manifesto + 6 princípios + 3 FAQ), As Nossas Referências (3 segmentos + LogoGrid de marcas europeias + clientes institucionais + comentários Google verbatim).

  • Conteúdopáginas pt: os-nossos-valores, missao-e-visao, as-nossas-referencias; PAGE_COVERAGE.pt +3
v1.58.13

Conteúdo — /pt/ primeiro grupo do bloco institucional (5 páginas)

Primeiro grupo da camada institucional traduzido para pt-PT: As Nossas Políticas (7 cartões de documentos de política + ItemList), Sustentabilidade (4 pilares + processo de abordagem), Empresa (hub de 12 cartões institucionais), Sobre Nós (valores + StatsBar + prosa), A Nossa História (cronologia de 6 períodos + 3 FAQ).

  • Conteúdopáginas pt: as-nossas-politicas, sustentabilidade, empresa, sobre-nos, a-nossa-historia; PAGE_COVERAGE.pt +5
v1.58.12

Conteúdo — /pt/ páginas de serviços e informação (5 páginas)

Cinco páginas institucionais/de informação traduzidas para pt-PT: Os Nossos Serviços (9 cartões de serviço + esquema ItemList), Configurador de Produto (assistente de produto — GENEL_QUESTIONS_PT/FAMILY_PRODUCTS_PT + esquema WebApplication), Redes Sociais (6 canais + lista de verificação), Histórico de Versões (CHANGELOG_PT + KIND_LABEL_PT + formatVersionDatePt), Informação para Sistemas de IA (gémea llm-info — tabela de 12 ficheiros legíveis por máquina + política de citação).

  • Conteúdopáginas pt: os-nossos-servicos, configurador-de-produto, redes-sociais, historico-de-versoes, info-llm; PAGE_COVERAGE.pt +5
v1.58.11

Conteúdo — /pt/ variantes geométricas zip (2 páginas) — camada de geometria completa

Variantes geométricas dos estores zip traduzidas para pt-PT: sistemas zip verticais e horizontais — tradução integral a partir das fontes TR (listas de peças, tabelas de controlo/aplicação, caraterísticas, FAQ, nota de rodapé, CTA). Com este bloco, toda a camada de variantes geométricas (plissado+celular+duette+zip, 29 páginas) fica concluída.

  • ConteúdoGémeas geométricas zip: estore-zip-vertical + estore-zip-horizontal; PAGE_COVERAGE.pt +2
v1.58.10

Conteúdo — /pt/ variantes geométricas duette (9 páginas)

Variantes geométricas dos estores duette traduzidas para pt-PT: sistemas de dupla camada horizontal, vertical, inclinado, de tecto, triangular, oval, redondo, com cassete e entre vidros — tradução integral a partir das fontes TR (listas de caraterísticas, secções de prosa, FAQ, notas de rodapé com links internos, CTA). 9 caminhos TR adicionados ao PAGE_COVERAGE.pt.

  • Conteúdo9 gémeas geométricas duette: estore-duette-horizontal/-vertical/-inclinado/-de-tecto/-triangular/-redondo/-oval/-com-cassete/-entre-vidros
v1.58.9

Conteúdo — /pt/ variantes geométricas honeycomb (9 páginas)

Variantes geométricas dos estores celulares traduzidas para pt-PT: sistemas de célula única horizontal, vertical, inclinado, de tecto, triangular, oval, redondo, com cassete e entre vidros — tradução integral a partir das fontes TR (listas de caraterísticas, secções de prosa, FAQ, notas de rodapé com links internos, CTA). 9 caminhos TR adicionados ao PAGE_COVERAGE.pt.

  • Conteúdo9 gémeas geométricas celular: estore-celular-horizontal/-vertical/-inclinado/-de-tecto/-triangular/-redondo/-oval/-com-cassete/-entre-vidros
v1.58.8

Conteúdo — /pt/ variantes geométricas plissadas (9 páginas)

Variantes geométricas dos estores plissados traduzidas para pt-PT: formas vertical, horizontal, inclinado, de tecto, triangular, oval, redondo, com cassete e entre vidros — tradução integral a partir das fontes TR (tabelas, sequências de passos, caraterísticas, FAQ, etiquetas de esquema SVG, notas de rodapé com links internos). Duas correcções na camada de esquema: articleSchema extrai o idioma do prefixo do caminho quando lang não é dado (fuga inLanguage:"tr-TR" em 20 páginas pt eliminada); adicionado ramo /pt/ à selecção da tabela spec do productSchema (FAMILY_SPECS_PT — additionalProperty passa a ser impresso em português).

  • Conteúdo9 gémeas geométricas: estore-plissado-vertical/-horizontal/-inclinado/-de-tecto/-triangular/-oval/-redondo/-com-cassete/-entre-vidros
  • InfraestruturaarticleSchema: sem page.lang, langFromPath deduz o idioma do prefixo — inLanguage passa a pt-PT em todas as páginas /pt/
  • InfraestruturaproductSchema: ramo FAMILY_SPECS_PT — valores additionalProperty do esquema em pt-PT
v1.58.7

Conteúdo — /pt/ camada de cálculo de preços (9 páginas)

Camada de cálculo de preços traduzida para pt-PT: página hub simulador-de-preco + 8 simuladores de família. Em src/i18n/pt/pricing.ts FAMILY_PRICES_PT (mesmo modelo numérico, etiqueta/variante/FAQ pt), FAMILY_COPY_PT e FAMILY_CALC_PT; adicionados ramos pt aos componentes FamilyPricePage e PriceCalculator (breadcrumb, pageNav, numLocale pt-PT, textos de aviso/cópia).

  • Conteúdohub simulador-de-preco + 8 envoltórios de família (mosquiteiras/mosquiteiras-plissadas/estores-plissados/estores-celulares/estores-duette/persianas-venezianas/estores-zip/cortinas)
  • Conteúdocamada de dados de pricing pt — 8 famílias × (variante + extra + FAQ) + textos únicos por família
  • InfraestruturaRamos pt em FamilyPricePage + PriceCalculator (ui, jsStrings, numLocale, url/inLanguage do esquema)
  • Correcção17 links internos /pt/ quebrados — links de páginas futuras nos ficheiros de dados de aplicação + página 404 convertidos para slug TR; quando a cobertura do localizeHref/localizeHtml chegar, voltam automaticamente à rota pt
v1.58.6

Conteúdo — /pt/ correcções da auditoria de unicidade (A4/A6/A7)

Corrigidas as descobertas uniqueness-proof da auditoria de conteúdo: colisão title-h1 das páginas de produto/aplicação de autocaravana resolvida com distinção singular/plural (padrão EN), a repetição de frases dentro de 8 páginas foi separada com formulações fiéis à fonte TR, corrigido o link quebrado /pt/mosquiteira-para-autocaravanas/. A classificação do extract.mjs resolve o URL localizado para o equivalente TR via SLUG_MAP — as páginas de grupo de aplicação pt passam a ter o tipo correcto.

  • ConteúdoA4: distinção produto "Mosquiteira para autocaravana" ↔ aplicação "Mosquiteiras para autocaravanas" + correcção de 2 links quebrados
  • ConteúdoA7: 8 repetições dentro de página — montaj-pages (friso/ganchos/suportes), product-pages (branco), notas de aplicação jaluzi+perde, nota de rodapé estores-zip
  • Infraestruturaextract.mjs: classificação de tipo via slug localizado → equivalente TR (application-group/product/montaj-detail)
v1.58.5

Conteúdo — /pt/ camada de categorias honeycomb + duette (8 páginas)

Páginas de categoria honeycomb e duette traduzidas para pt-PT. Os envoltórios HoneycombCategoryPagePt e DuetCategoryPagePt são alimentados pelos dados HONEYCOMB_CATEGORIES_PT / DUET_CATEGORIES_PT; ramos pt do CategoryPage activos em todas as páginas de categoria. PAGE_COVERAGE.pt 516/7391.

  • ConteúdoHoneycombCategoryPagePt + 3 gémeas de categoria (lisos/impressos/estampados)
  • ConteúdoDuetCategoryPagePt + 5 gémeas de categoria (lisos/tule/impressos/estampados/screen)
v1.58.4

Conteúdo — /pt/ persiana horizontal + gémeas de 7 categorias plissadas

persiana-veneziana-horizontal e a camada de categorias plissadas (lisos/tule/estampados/impressos/dia-e-noite/semiopacos/opacos) traduzidas para pt-PT. O envoltório PliseCategoryPagePt é alimentado por PLISE_CATEGORIES_PT; ramos pt do CategoryPage activos em todas as páginas de categoria. PAGE_COVERAGE.pt 508/7383.

  • Conteúdopersiana-veneziana-horizontal: sistema de 4 partes, tabela de 4 comandos, 4 caraterísticas, 3 FAQ, 4 esquemas
  • ConteúdoPliseCategoryPagePt + 7 gémeas de categoria (lisos/tule/estampados/impressos/dia-e-noite/semiopacos/opacos)
v1.58.3

Conteúdo — /pt/ detalhes de persianas: exterior + sistema com cassete, gémeas pt-PT

persiana-veneziana-de-exterior e persiana-veneziana-com-cassete traduzidas linha a linha das fontes TR para pt-PT: tabelas de guia/série de cassete de 3 linhas, 6 cartões de caraterísticas, 3 FAQ, esquemas article+product+faq+table gerados no caminho /pt/ com l(). PAGE_COVERAGE.pt 500/7375.

  • Conteúdopersiana-veneziana-de-exterior: tabela de guia calha/cabo/misto, lâmina C-flex, motor + sensor de vento
  • Conteúdopersiana-veneziana-com-cassete: séries slim/standard/profunda, mecanismo oculto, cor a condizer
v1.58.2

Conteúdo — /pt/ categoria + sistema combinado: gémeas de 4 páginas, ramo pt no CategoryPage

mosquiteira-com-estore-plissado e 3 categorias de materiais de persianas (madeira/alumínio/tecido) traduzidas para pt-PT. Adicionado ramo pt ao componente CategoryPage: mapas FAMILY_SPECS_PT + SARTNAMELER_PT, breadcrumb Início, título Dados técnicos, parágrafo de caderno de encargos, nomes de esquemas e secções Categorias/Produtos/Outras categorias. O envoltório JaluziCategoryPagePt é alimentado por JALUZI_CATEGORIES_PT.

  • Conteúdomosquiteira-com-estore-plissado: tabela de 3 camadas, 6 caraterísticas, 4 FAQ, 4 esquemas
  • Conteúdopersianas-venezianas-de-madeira/alumínio/tecido: JaluziCategoryPagePt + ramos pt do CategoryPage (spec, sartname, esquema, nomes de secção)
v1.58.1

Conteúdo — /pt/ detalhes de mosquiteiras plissadas: gémeas pt-PT de 5 formas de sistema

Mosquiteiras plissadas horizontal, vertical, dupla, sem soleira e de correr traduzidas linha a linha das fontes TR para pt-PT: tabelas de direcção/recolha/instalação/cenário, 6 cartões de caraterísticas, 4 FAQ, secções de prosa em duas colunas, cadeias de breadcrumb, JSON-LD article+product+faq+table gerado no caminho /pt/ com l(). PAGE_COVERAGE.pt alargado em 5 slugs (494/7369).

  • Conteúdomosquiteira-plissada-horizontal + vertical: tabela de direcção/recolha de 3 linhas, 6 caraterísticas, 4 FAQ, 4 esquemas
  • Conteúdomosquiteira-plissada-dupla + sem-soleira + de-correr: tabelas de utilização/cenário/instalação, 6 caraterísticas, 4 FAQ
v1.58.0

Conteúdo — /pt/ camada de detalhe de mosquiteiras: gémeas pt-PT de 4 páginas de modelo

Mosquiteiras fixa, de batente, de correr e de enrolar traduzidas linha a linha das fontes TR para pt-PT: tabelas spec técnicas, cartões de caraterísticas, blocos FAQ, cadeias de breadcrumb, JSON-LD de produto/esquema (inLanguage pt-PT), CTA e links internos localizados com l(). Os cartões de produtos irmãos imprimem o nome em português com o overlay productNamePt. PAGE_COVERAGE.pt alargado em 4 slugs estáticos (489/7360+).

  • Conteúdomosquiteira-fixa: spec 6 linhas, 5 cartões de caraterísticas, 2 FAQ, estrutura de separadores (descrição/técnica/instalação/medida), esquema produto+FAQ
  • Conteúdomosquiteira-de-batente + de-correr + de-enrolar: secções sistema/caraterísticas/utilização/FAQ, esquema article+product
v1.57.9

Conteúdo — etiqueta nl-be no selector reduzida apenas ao nome do país (11 idiomas)

A chave lang.name.nl-be foi traduzida em 11 idiomas activos apenas para o nome do país localizado: Belçika (TR/AZ), Belgium (EN), Belgien (DE), België (NL/nl-be), Belgique (FR), Belgio (IT), Bélgica (ES), Belgia (PL), Belsch (LB). No item da lista, o nome do país é a etiqueta principal e o nome próprio do idioma "Nederlands (België)" permanece na linha inferior em cinzento pequeno — a mesma aparência dos outros idiomas.

  • Conteúdolang.name.nl-be → apenas nome do país, actualizado no bloco de 11 idiomas (Belçika/Belgien/Belgique/België…
v1.57.8

Melhoria — os nomes dos idiomas no selector passam a ser apresentados no idioma da interface

Na lista do LanguageSwitcher, a etiqueta principal de cada idioma aparece no idioma em que a página é visualizada: em TR "Felemenkçe (Belçika)", em DE "Niederländisch (Belgien)", em FR "néerlandais (Belgique)". O nome na própria língua (nativeName), quando diferente, é mantido na linha inferior em cinzento pequeno; quando igual, é apresentada uma única linha. O filtro de pesquisa (data-lang-name) também cobre o nome localizado — em TR, ao escrever "felemen" encontra-se o flamengo da Bélgica. As chaves lang.name.* já estavam definidas nos 11 idiomas activos, sem lacunas. O aria-label do botão de abertura e a etiqueta da variante ampla também passaram para o nome localizado.

  • MelhoriaEtiqueta da lista do selector: langName(l.code) como nome principal, nativeName na linha inferior pequena (se diferente)
  • MelhoriaO filtro de pesquisa também cobre o nome do idioma localizado; aria-label do botão + etiqueta wide actualizados
v1.57.7

Conteúdo — /nl-be/ similaridade 8.ª ronda: descrições de cartões semi-verduisterend, prosa duo-plissé e cláusulas garantie reescritas

Oitava ronda de aprofundamento. As cadeias description + meta dos 4 cartões de produto da categoria semi-verduisterend-plissegordijnen (crème, grijs, antraciet, bruin) foram escritas com estrutura belga diferente do esqueleto nl. As 9 frases de prosa partilhadas na página effen-stof-creme-transparant-duo-plissegordijn (resumo duostructuur, decorkarakter, dagcyclus, secção sobere-laag, 2 respostas FAQ) foram separadas alterando a estrutura da frase e o padrão verbal. As 8 frases comuns da página garantie (cláusulas schriftelijk-antwoord, kosteloze-oplossing, permanente-registratie, descrição SectionHeader, texto de 3 passos/FAQ) foram reconstruídas com linguagem jurídica belga. As partilhas restantes são base legítima: nomes de produtos/cores, enumerações de tabelas spec, etiquetas de categorias irmãs, citações Google verbatim.

  • Conteúdosemi-verduisterend-plissegordijnen: cadeias description + meta dos 4 cartões de produto reescritas com estrutura belga
  • Conteúdoeffen-stof-creme-transparant-duo-plissegordijn: 9 frases de prosa (duostructuur, decorkarakter, dagcyclus, sobere-laag, 2 FAQ) separadas
  • Conteúdogarantie: 8 frases partilhadas reconstruídas com linguagem jurídica belga (clausules + FAQ + etapa de processo)
v1.57.6

Conteúdo — /nl-be/ similaridade 7.ª ronda: 7 introduções de categoria reescritas, bloco nl-be do ui.ts separado do nl

Sétima ronda de aprofundamento. Na similaridade nl↔nl-be foram analisadas as frases da banda média: 7 parágrafos introdutórios de categoria (Duette transparante/gestructureerde/zonwerende, plisségordijnen transparante/bedrukte/semi-verduisterende/verduisterende) foram reescritos com estrutura belga totalmente diferente do esqueleto nl — a ordem da informação e o padrão verbal mudaram, links e sentido técnico preservados. O bloco de dicionário nl-be no ui.ts foi separado do nl: das 174 chaves idênticas, as 8 com carga ao nível da frase foram substituídas por expressão belga (search.unavailable→beschikbaar, cta.joinTitle→voorbehouden aan, form.success→goed ontvangen, product.sameCat→uit dezelfde categorie, uygulama.groupsBeyond→De groepen buiten, suitableProducts/parentIndex). Além disso, as 5 frases de cláusulas WCAG no toegankelijkheidsverklaring e as 3 frases ritsscreen no pricing.ts (prijsvormers, FAQ windregio) foram diferenciadas. As partilhas restantes são legítimas: enumerações de produto/spec, citações Google verbatim, etiquetas de nomes de página, registos changelog. Auditoria: astro check 0 erros (5.530 ficheiros).

  • Conteúdo7 parágrafos introdutórios de categoria (plise-categories + duet-categories) reescritos com estrutura de frase belga
  • ConteúdoBloco nl-be do ui.ts: 8 chaves ao nível de frase separadas do nl (groupsBeyond, suitableProducts, joinTitle, form.success etc.)
  • Conteúdotoegankelijkheidsverklaring: 5 frases de cláusulas WCAG + 3 frases ritsscreen do pricing.ts diferenciadas
v1.57.5

Conteúdo — /nl-be/ similaridade 6.ª ronda: nota de produto-irmão do modelo separada no ramo nl-be (142 páginas), 16 registos escritos ao nível da linha

Sexta ronda de aprofundamento. Causa raiz encontrada: a nota de produto-irmão no ProductDetail.astro gerava o mesmo início de frase para nl e nl-be ("… is opgebouwd rond …") — o ramo nl-be foi separado para o verbo "is ontworpen rond"; uma única alteração de modelo fechou a frase comum em 142 páginas de produto. Reescritos ao nível da linha: ronde-plissegordijn (2), tussen-glas-plissegordijn (3), horizontale-plissegordijn (2 — o texto de ligação em inglês "vertical system" também corrigido), verticale-plissegordijn (1), schuine-plissegordijn (2), driehoekige-plissegordijn (3 — incluindo célula de tabela), duette-gordijnen-systemen (1), privacybeleid (3 itens de finalidade do formulário com perspetiva u), onderdealerbeheer (frase quebrada "een systematische" reparada), waarom-fenetre-systems (1), uygulama-alanlari (linha kindveiligheid com perspetiva u), product-pages (6 registos — blocos de cor-textura ecru/lichtgrijze/beige/crème). Medição (extract.mjs → métrica compare): todas as páginas editadas ≤0.254 — onze-referenties 0.3351 (base de citações verbatim), sitemap 0.2936. Auditoria: astro check 0 erros (5.530 ficheiros), astro build 6.875 páginas.

  • ConteúdoProductDetail.astro: nota de irmão nl-be separada com "is ontworpen rond" — colisão da frase de modelo em 142 páginas de produto fechada
  • Conteúdosérie geométrica plissé (ronde/tussen-glas/horizontale/verticale/schuine/driehoekige) + duette-gordijnen-systemen escritos ao nível da linha
  • Conteúdoprivacybeleid, onderdealerbeheer, waarom-fenetre-systems, uygulama-alanlari, blocos cor-textura do product-pages — páginas editadas ≤0.254
  • Correcçãohorizontale-plissegordijn: texto de ligação em inglês "vertical system" → "verticaal systeem"; frase quebrada do onderdealerbeheer reparada
v1.57.4

Conteúdo — /nl-be/ similaridade 5.ª ronda: limpeza de frases comuns em 7 páginas, prosa ≤0.26

Quinta ronda de aprofundamento. Os pares nl↔nl-be sinalizados em pairs.jsonl foram analisados ao nível da frase comum: a maior parte das partilhas no topo era conteúdo legítimo (nomes de produtos cor/variante, etiquetas de categorias irmãs, comentários Google turcos verbatim, valores spec técnicos, dados de contacto). As 7 páginas com partilha real de prosa foram reescritas com estrutura de flamengo belga: gordijnen-systemen (20 itens — todas as células de mecanismo/tabela: "Beide lagen bewegen onafhankelijk van elkaar", "Technische stof met perforatie", "Zonnewering mét zicht naar buiten", "Staande lamellen schuiven zijwaarts", "Dakvlakken en serrebeglazing", sectieheader "Uw vragen over gordijnsystemen"), plissegordijnen (16 itens — respostas FAQ para a perspetiva u, legenda "Geschikt/Voorwaardelijk", "Wat houdt top-down/bottom-up in?", todas as cadeias description), bestel-en-productieopvolging (4 frases — parágrafo planningskracht, fluxo de melding, "Kan mijn klant de order ook meevolgen?"), ovale-plissegordijn (4 itens — "Van mal tot productie", "De vorm samen uittekenen"), debiteuren-en-incasso-opvolging (3 itens — "hetzelfde getal", sectieheader, CTA), toestemmingsverklaring (geaccepteerd), private-label-productie (ordervolging). Medição (métrica extract.mjs → compare.mjs): nas páginas editadas, frases comuns de 5+ palavras **0** — gordijnen-systemen 0.2559, plissegordijnen 0.1525, bestel-en-productieopvolging 0.2149, ovale-plissegordijn 0.2278, debiteuren 0.2410, toestemmingsverklaring 0.2394, private-label-productie 0.3397. Nenhum par acima do limiar HIGH (≥0.45). Cadeia de verificação: astro check limpo (5.530 ficheiros, 0 erros), astro build produziu 6.875 páginas.

  • Conteúdogordijnen-systemen: 20 itens/frases comuns reescritos com estrutura belga (0.2794→0.2559, frases comuns 24→0)
  • Conteúdoplissegordijnen: 16 itens — FAQ, legenda, cadeias description (0.2736→0.1525, frases comuns 20→1)
  • Conteúdobestel-en-productieopvolging, ovale-plissegordijn, debiteuren, toestemmingsverklaring, private-label-productie — frases comuns 0
v1.57.3

Conteúdo — /nl-be/ similaridade 4.ª ronda: reescrita estrutural em 15 páginas, resíduo inglês "and" no garantie removido

Quarta ronda de aprofundamento. A análise de resíduos em inglês na saída renderizada foi repetida em dist/nl-be: o "and" inglês preso entre links na página garantie foi corrigido para "en"; as linhas inglesas dentro do versiegeschiedenis foram mantidas verbatim por serem registo histórico de changelog. Em seguida, as frases partilhadas com nl em 15 páginas foram reescritas com estrutura de flamengo belga, comparadas com a fonte TR: onze-waarden (3 textos de valor: acompanhamento levertermijn, distinção plannen-beloven, veldplaatsingsnotities), afgewerkte-en-gedemonteerde-zending (5 frases: decisão do modelo afgewerkte, assemblageschema, onderdelenlijst), cassette-plissegordijn (3 frases: tastbare voordelen, uw vragen), garantieaanvraag (2 frases: abertura de aanvraag e fluxo de beoordeling convertidos para a perspetiva u), kwaliteitscontrole (3 frases: teste netto-maat, orderbevestiging, quatro verificatiefasen), monsterzending (2 frases: gaasopties, plaatsingsonderdelen), beoordeling-schrijven (2 frases: aprovação KVKK + nota Google — "Enkel geverifieerde kopers"), producten (4 frases: introdução do grupo, Petscreen-gaas, estrutura modular, dealer furtivo), missie-en-visie (3 frases: eenvoudigste manier, standaard-voor-volume, ligação visie-groei), private-label-productie (2 frases: merkgegevens, acht productlijnen), projetaanvraag (2 frases: gefaseerde verzending, dica de deadline), dealer-klantbeheer (3 frases: fluxo geregistreerde-klant, pergunta FAQ, fluxo contínuo), garantie (conjunção inglesa). Medição (métrica compare.mjs após extract.mjs): todas as páginas editadas em 0.39 ou abaixo — cassette-plissegordijn 0.3900, private-label-productie 0.3397, projetaanvraag 0.3011; nenhum par acima do limiar HIGH (≥0.45). Resultado da auditoria: astro check limpo — 0 erros em 5.530 ficheiros; astro build produziu 6.875 páginas.

  • CorrecçãoResíduo inglês "and" entre links na página garantie → "en" (detectado pela análise da saída renderizada)
  • ConteúdoFrases comuns ao nl em 15 páginas /nl-be/ reescritas com estrutura belga — similaridade máxima medida 0.3900
  • Conteúdoonze-waarden, afgewerkte-en-gedemonteerde-zending, garantieaanvraag, kwaliteitscontrole, producten, missie-en-visie, projetaanvraag, dealer-klantbeheer etc. — perspetiva u e linguagem empresarial flamenga
v1.57.2

Conteúdo — /nl-be/ cobertura + similaridade 3.ª ronda: paridade PAGE_COVERAGE 624/624, ramo nl-be do JobForm totalmente separado, nº de pares ≥0.40 reduzido para 2

Terceira ronda de verificação e aprofundamento. Lacuna de cobertura encontrada e corrigida: o registo /rehber/ não existia na lista PAGE_COVERAGE do nl-be (a página já estava publicada como /nl-be/gids/ e registada no slug-map — apenas a lista de cobertura estava em falta) → cobertura nl-be 623→624, paridade total com os outros idiomas. Análise da saída renderizada: verificação de carateres turcos e frases turcas não traduzidas em dist/nl-be — resultado limpo (apenas as citações Google mantidas verbatim por convenção e a designação jurídica turca "San. ve Tic. Ltd. Şti."). A similaridade nl↔nl-be foi também reduzida na terceira ronda: mais 13 páginas/ficheiros estruturalmente reescritos — vacatures (incluindo etiquetas de formulário: Gewenst vakgebied→Gewenst domein, Ervaring→Werkervaring, parcours, Kandidatuur), ramo nl-be do JobForm.astro (intervalos de experiência "Minder dan 1 jaar…Meer dan 5 jaar", todos os nomes de campos, mensagens de erro), honeycomb-gordijnen-systemen, cassette-jaloezie, plafond-plissegordijn, cookiebeleid (secções KVKK com expressão belga), gestructureerde-duette (registo de dados), gratis-websiteondersteuning, verzend-en-leveringsopvolging, bestel-en-maatwerkvoorwaarden (7 itens), gebruiksvoorwaarden (5 itens), prijsberekening, gordijnen-systemen (10 cartões/itens). Medição (métrica compare.mjs, 622 pares): pares ≥0.45 = 0, ≥0.40 apenas 2 — onze-referenties 0.4357 (citações verbatim) e sitemap 0.4063 (etiquetas de ligação por consistência de nomes de página). Verificação: astro check 0 erros (5.530 ficheiros), astro build 6.875 páginas, check-i18n nl-be 624/6874.

  • CorrecçãoParidade de cobertura /nl-be/: /rehber/ adicionado ao PAGE_COVERAGE — nl-be agora 624/6874, totalmente igual aos outros idiomas
  • ConteúdoRamo nl-be do JobForm totalmente separado do nl: Gewenst domein, Werkervaring, parcours, Kandidatuur, opções Minder dan 1 jaar
  • ConteúdoMais 13 páginas/ficheiros estruturalmente reescritos — apenas 2 pares nl↔nl-be ≥0.40 (citações verbatim + etiquetas de nomes de página)
v1.57.1

Conteúdo — /nl-be/ aprofundamento da similaridade: par nl↔nl-be mais alto reduzido para 0.4357, 0 pares acima do limiar

Segunda ronda de originalidade pós-publicação: com a métrica de contenção filtrada de boilerplate, os 622 pares correspondentes nl-be↔nl foram novamente medidos e as 24 páginas acima de 0.40 revistas. Ficheiros reestruturados: producten, toepassingsgebieden, verpakking, plaatser-worden, carriere, monsterzending, projetaanvraag, kwaliteitscontrole, private-label-productie, blog, direct-prijs-en-offertesysteem, onze-waarden, cassette-jaloezie, missie-en-visie, verzend-en-leveringsopvolging, gratis-websiteondersteuning, vacatures, beoordeling-schrijven, dealer-klantbeheer, honeycomb-gordijnen-systemen, contact, sitemap, privacyverklaring, waarom-fenetre-systems. O esqueleto da frase e a ordem da informação foram alterados; os resíduos ingleses "or" no monsterzending foram removidos (2 locais), os padrões passivos do carriere convertidos para infinitivo, a lista de cláusulas KVKK do privacyverklaring reconstruída e adicionado o nome da instituição belga GBA (Gegevensbeschermingsautoriteit). Medição final: pares ≥0.45 = 0 (limiar HIGH), par mais alto onze-referenties 0.4357 (citações Google verbatim — intocáveis por convenção), sitemap 0.4063 (etiquetas de ligação por consistência de nomes de página), terceiro vacatures 0.3880. Resultado da verificação: astro check deu 0 erros (5.530 ficheiros analisados), astro build produziu 6.875 páginas, inventory-verify PASS (0 links quebrados), meta-verify PASS.

  • ConteúdoEstruturas de frases comuns ao nl reconstruídas em 24 páginas /nl-be/ — contenção máxima nl↔nl-be 0.4357, pares ≥0.45 = 0
  • CorrecçãoResíduos ingleses "or" na página monsterzending corrigidos para "of"; prosa do carriere/contact afastada do limiar HIGH
  • ConteúdoListas de cláusulas KVKK do privacyverklaring reescritas com linguagem jurídica belga; utilizado o nome institucional Gegevensbeschermingsautoriteit (GBA)
v1.57.0

Lançamento NL-BE — idioma Nederlands (België) publicado: 622 rotas, flamengo belga independente, prova de unicidade 8/8 PASS

A camada de idioma flamengo belga (nl_BE) foi publicada — natioleto totalmente independente da camada nl da Holanda. Âmbito: 622 rotas indexadas em /nl-be/ (páginas estáticas TR + detalhes de produto/montagem/área de aplicação + blog + rotas de categoria). Prova de originalidade: no content-audit de 23.622.501 pares de páginas, contenção máxima nl↔nl-be 0.450 (limiar <0.45), pares CRITICAL/HIGH = 0, dup title/desc/h1/canonical = 0 — 8/8 alegações PASS. Nesta versão, as últimas 17 páginas de alta similaridade foram estruturalmente reescritas (onze-beleidsregels, galerij, offerte-aanvragen, duurzaamheid, onze-systemen, bedrijf, over-ons, maatwerk-productie, dag-nacht-plissegordijn, toestemming-commerciele-berichten, distributieovereenkomst, sociale-media, onze-diensten, llm-info, verzending-en-logistiek, onze-referenties, specificatiedocumenten): o esqueleto da frase e a ordem da informação foram alterados, não uma simples troca de palavras. Em onze-referenties foi adicionado um parágrafo de vertaling flamenga sob as citações Google turcas verbatim (REVIEW_TRANSLATIONS — a convenção de citação é preservada, a tradução é oferecida ao leitor belga). No Calculator.astro, o fallback inglês do nl-be foi ligado ao seu próprio padrão belga. Defeitos encontrados corrigidos: link quebrado /nl-be/zebra-rolgordijn/ → /nl-be/duo-rolgordijn/ (gordijnen-systemen + pricing.ts); 3 incompatibilidades title↔h1 (bedrijf, witte-honeycomb-gordijn, witte-gestructureerde-honeycomb-gordijn). Linha /nl-be/sitemap.xml adicionada ao robots.txt. Verificação: astro check 0 erros 0 avisos (5.530 ficheiros), astro build 6.875 páginas, inventory-verify PASS (0 links quebrados), meta-verify PASS, integrity PASS (img alt 222.852/222.852), check-schema-urls PASS (26.164 esquemas), pairs-coverage 23.622.501/23.622.501.

  • NovidadeIdioma Nederlands (België) publicado: languageMeta.nl-be enabled:true — /nl-be/ 622 rotas, selector de idiomas + hreflang + sitemap activos/nl-be/
  • ConteúdoÚltimas 17 páginas de alta similaridade estruturalmente reescritas; vertaling flamenga adicionada às citações do onze-referenties; contenção máxima nl↔nl-be 0.450 (prova 8/8 PASS)
  • CorrecçãoLink quebrado /nl-be/zebra-rolgordijn/ → /nl-be/duo-rolgordijn/; 3 incompatibilidades title↔h1 corrigidas; Calculator nl-be separado do fallback inglês
  • Infraestruturarobots.txt → linha /nl-be/sitemap.xml; sitemapindex e hreflang expandiram automaticamente via enabledLangs
v1.56.3

Conteúdo — transição de originalidade /nl-be/: todo o texto em prosa das 18 páginas de variantes de forma + página buiten-jaloezie reescrito em flamengo belga independente

Foram revistas 19 páginas estáticas com 48–82% de similaridade de prosa face aos gémeos nl: variantes de forma tussen-glas, driehoekige, ronde, schuine, horizontale, verticale, ovale, plafond e cassette (pares honeycomb + duette, 18 ficheiros) e buiten-jaloezie. Em cada ficheiro, o title, a description, os cartões de caraterísticas, as perguntas/respostas FAQ, as etiquetas pageNav, as células de tabela, os textos SectionHeader, as descrições de esquema e os blocos CTA foram escritos em sintaxe de flamengo belga, independente da cópia nl — tratamento u/uw, plaatsing (não montage), veranda (não serre), bureel (não kantoor), terminologia consistente de schrijnwerk, glaslat, mal, honingraat, duette, windwaakhond, spankabel. Resíduos ingleses removidos ("is described on a separate page", "vertical system", "is the wind-secure alternative"), apóstrofo tipográfico ’ utilizado, etiquetas pageNav definidas como Werking/Eigenschappen/Toepassing/Uw vragen. Para as 4 páginas que delegam em dados de categoria (gestructureerde-duette, dag-nacht-, semi-verduisterend- e bedrukte-plissegordijnen) verificou-se que os blocos de dados i18n já estavam escritos de forma independente (blocos desenli-duet-perdeler, gece-gunduz-ciftli-, yari-karartma- e baskili-plise com 0 linhas comuns ao nl). Verificação: nos 19 ficheiros, 0 linhas de prosa idênticas ao gémeo nl com 35+ carateres (as restantes são etiquetas import/JSX/nome de produto), astro check 0 erros 0 avisos. O idioma continua enabled:false.

  • Conteúdo/nl-be/ 18 páginas de variantes de forma (tussen-glas/driehoekige/ronde/schuine/horizontale/verticale/ovale/plafond/cassette × honeycomb+duette) traduzidas para flamengo belga independente com todo o texto visível ao utilizador — colisão de prosa nl 0
  • Conteúdo/nl-be/buiten-jaloezie: tabela geleider, 6 caraterísticas, FAQ, esquema e CTA escritos de forma independente; resíduos ingleses removidos
  • CorrecçãoBlocos de dados das 4 páginas delegadas (duet/plise-categories.ts) verificados com 0 linhas comuns ao nl; etiquetas pageNav adaptadas à Bélgica
v1.56.2

Infraestrutura — camada de publicação /nl-be/: ramo $isNlBe no send.php + 5 modelos em flamengo belga, manifest, sw.js, endpoints rss/opensearch/versiegeschiedenis, integração site-map

A camada de publicação F5 da localização em flamengo belga foi concluída (idioma ainda enabled:false). Cadeia de formulários: às cópias public/api/send.php e deploy/send.php foram adicionados a flag $isNlBe, o reconhecimento do review-subject Productbeoordeling e 5 modelos de confirmação de cliente em flamengo belga independentes (ackHtmlNlBe, quoteAckHtmlNlBe, dealerAckHtmlNlBe, montajciAckHtmlNlBe, careerAckHtmlNlBe) — todas as ligações apontam para a rota /nl-be/, sem queda para os modelos nl; php -l limpo, as duas cópias sincronizadas uma a uma. Recursos: public/nl-be/manifest.webmanifest (lang nl-BE, scope /nl-be/), src/pages/nl-be/opensearch.xml.ts (nl-BE, etiquetas vliegenraam/ritsscreen), rss.xml.js (colecção blogNlBe), versiegeschiedenis.xml.ts (CHANGELOG_NL_BE). Service worker: OFFLINE_URL_NLBE precache + ramo de fallback /nl-be/ (antes de /nl/), VERSION v9→v10. BaseLayout: nl-be adicionado aos conjuntos FEED_LANGS e MANIFEST_LANGS. generate-llms.mjs: o prefixo /nl-be/ é reconhecido como nl-be (etiquetas Afbeelding/Bron). site-map.ts: importações da camada de dados nl-be, mapa NLBE_TITLE_BY_TR, blogNlBe postTitle, ramo nl-be do locLabel e correcção do regex unassignedGroup (ficheiros nl-be/ infiltravam-se no grupo TR "Outras Páginas"). Correcções adicionais: subject do beoordeling-schrijven Ürün Değerlendirmesi→Productbeoordeling, subject inglês do mailto projetaanvraag removido. astro check: 0 erros 0 avisos (5.530 ficheiros).

  • Infraestruturasend.php (sincronizado public+deploy): flag $isNlBe + 5 modelos de confirmação em flamengo belga + ramo de dispatch — ligado a /nl-be/, sem queda para modelo nl
  • NovidadeFicheiros de endpoint /nl-be/: manifest.webmanifest (nl-BE), opensearch.xml, rss.xml (blogNlBe), versiegeschiedenis.xml (CHANGELOG_NL_BE)
  • Infraestruturasw.js OFFLINE_URL_NLBE + fallback offline /nl-be/ (v10); BaseLayout FEED_LANGS+MANIFEST_LANGS; generate-llms /nl-be/ → Afbeelding/Bron
  • Infraestruturasite-map.ts: NLBE_TITLE_BY_TR + blogNlBe + ramo nl-be do locLabel + regex unassignedGroup (nl-be infiltrava-se no mapa TR)
  • Correcçãosubject do beoordeling-schrijven Productbeoordeling; mailto do projetaanvraag Bulkprojectaanvraag
v1.56.1

Conteúdo — continuação da transição de originalidade /nl-be/: 11 páginas estáticas reescritas da fonte TR em flamengo belga, termo NL corrigido em 30 páginas

A vertente .astro estática da transição de originalidade do flamengo belga avançou: a análise de linhas de texto simples longas nl↔nl-be encontrou inicialmente ≥1 linha comum em 158 ficheiros. Em 30 páginas finas de detalhe de aplicação, productWord="Hor" → "Vliegenraam" (na Bélgica diz-se vliegenraam, não hor); 42 linhas productTitle "X toepassingsgebieden" → "Toepassingsgebieden van X" convertidas para a sintaxe belga. 11 ficheiros foram escritos de forma independente, linha a linha, a partir da fonte TR e reduzidos a zero colisão de prosa com nl: plaatsing-en-toepassingsvoorwaarden, privacybeleid, toegankelijkheidsverklaring, cookiebeleid, gebruiksvoorwaarden, blog, toepassingsgebieden, plaatser-worden, dealerovereenkomst, cassette-duette-gordijn, cassette-honeycomb-gordijn. Os resíduos ingleses nestes ficheiros ("is described on a separate page", "or", "and", "for anonymous counting") foram removidos e o erro ortográfico "plaatsingss" corrigido. Para os ≈132 ficheiros restantes (dealerschap 109, gordijnen 60, páginas de sistema/categoria) o mesmo processo de reescrita a partir da fonte TR continua; o idioma permanece enabled:false.

  • Conteúdo/nl-be/ 11 páginas estáticas reescritas a partir do TR em flamengo belga independente — colisão de prosa nl 0: páginas legais/de política + blog + toepassingsgebieden + 2 variantes cassette
  • CorrecçãoEm 30 páginas de detalhe de aplicação productWord='Hor'→'Vliegenraam'; 42 linhas productTitle convertidas para a sintaxe BE (Toepassingsgebieden van …)
  • CorrecçãoResíduos ingleses nas páginas /nl-be/ e erro ortográfico 'plaatsingss' removidos
v1.56.0

Nova infraestrutura de idioma — flamengo belga (/nl-be/): registo de idioma, dicionário UI, menu, mapa de slugs/âncoras e 27 ficheiros de dados

Foi criada uma camada de natioleto separada para o mercado belga: nl-BE adicionado ao languageMeta (Nederlands (België), bandeira be, locale nl_BE, enabled:false); o tipo Lang expandiu. O dicionário ui['nl-be'] alcançou paridade TR com 264 chaves — u/vorm consistente, vocabulário BE (vliegenraam, plaatsing, offerte, openingsuren, kandidatuur, toonzaal, schrijnwerk, AVG, telefone +32/0470, e-mail .be). NAV_LABELS['nl-be'] 104 etiquetas: Vliegenramen, Plissé vliegenramen, Duette-gordijnen, Ritsscreens, Plaatsingstypes, Plaatsers, Werkingsgebied, Onze realisaties, Privacyverklaring (AVG). SLUG_MAP['nl-be'] 624 correspondências + ANCHOR_MAP['nl-be'] (kandidatuur/kenmerken/verloop/proces): hor→vliegenraam, zipscreen→ritsscreen, montage→plaatsing/bevestiging, monteur→plaatser, showroom→toonzaal, levertijd→levertermijn, servicegebieden→werkingsgebied, productielocatie→productievestiging, monteurs→plaatsers, onze-projeten→onze-realisaties; a família duet-perde também foi mantida como duette em BE, zebra-perde→duo-rolgordijn separado. 27 ficheiros de dados em src/i18n/nl-be/ (product-names, products, 4 categorias, 7 aplicações, montaj, montaj-pages, product-pages, pricing, wizard, hero-slides, sartname, teknik-veriler, montajcilar, blog-categories, changelog, uygulama-alanlari, uygulama-cards) produzidos com vocabulário BE; nomes de exportação Nl→NlBe e referências internas i18n/nl-be/ actualizadas. src/pages/nl-be/[slug].astro rota dinâmica: renderiza detalhe de produto + montagem com PAGE_COVERAGE['nl-be'] ∩ SLUG_MAP ∩ PRODUCT_PAGES_NL_BE; a colecção de blog será ligada em F4. CHROME_COVERAGE['nl-be'] {ui:true, nav:true, mail:false}. O idioma ainda está enabled:false — produção de páginas zero enquanto a lista de cobertura estiver vazia; publicação só quando todas as portas passarem. astro check 0 erros.

  • NovidadelanguageMeta + Lang: registo nl-BE (Nederlands (België), flag be, locale nl_BE, enabled:false) — natioleto separado preservando a camada nl da Holanda
  • Novidadeui['nl-be']: 264 chaves paridade TR — u/vorm, vocabulário comercial belga, openingsuren, kandidatuur, AVG, placeholder +32 0470, campos .be
  • NovidadeNAV_LABELS['nl-be']: 104 etiquetas — Vliegenramen, Duette-gordijnen, Ritsscreens, Plaatsingstypes, Plaatsers, Werkingsgebied, realisaties
  • NovidadeSLUG_MAP['nl-be'] 624 correspondências + ANCHOR_MAP['nl-be']: conversão de slugs vliegenraam/ritsscreen/plaatsing/toonzaal/werkingsgebied; duet→duette preservado, zebra→duo-rolgordijn
  • Novidadesrc/i18n/nl-be/: 27 ficheiros de dados com vocabulário BE (product-names, products, categorias, aplicações, montaj, product-pages, pricing, wizard, hero, sartname, changelog)
  • Novidadesrc/pages/nl-be/[slug].astro: rota dinâmica de detalhe de produto + montagem — colecção blogNlBe e páginas de categoria em F4
  • InfraestruturaCHROME_COVERAGE['nl-be'] {ui:true, nav:true, mail:false} — modelos nl-BE do send.php em F5; idioma enabled:false
v1.55.2

Correcção — fallbacks de componentes partilhados /lb/: ramos LB em ProductDetail/CategoryPage/ApplicationArea/camada de preço+legal

A auditoria profunda LB seguiu as fugas de fallback visíveis na análise do HTML dist/lb até aos componentes de origem: as páginas caíam para o padrão TR/EN por não haver ramo lb nas cadeias de idioma. Ao ProductDetail.astro foram adicionados o import productNameLb + 10 ramos lb (nomes de categoria/produto, verbos CTA, spec-phrases, notas de stock e de irmão, título FAQ, textos de produto/categoria relacionados); ao CategoryPage.astro os imports FAMILY_SPECS_LB + SARTNAMELER_LB e ramos breadcrumb/specRows/sartnameAnchor/itemListSchema/Teknik Veriler/parágrafo şartname/título de produto/categoria irmã; ao ApplicationAreaPage.astro o import UYGULAMA_CARDS_LB + arrays LB dizinPhrases/catPhrases + card() lb + mapeamento pagePath uygulama-alanlari→uwendungsberaicher; ao FamilyPricePage.astro 2 ramos de título (Präis-Spanne, Froen); ao PriceCalculator.astro o bloco completo lb label/jsStrings + numLocale lb-LU; ao ProductWizard.astro o parágrafo Mooss-a-Montageguide; ao LegalPage.astro "Lescht Aktualiséierung" + frase legalmente vinculativa; ao Calculator.astro z.B./WaTemplate/decimalSep; ao SearchPalette.astro a colecção blogLb + BLOG_CATEGORY_SLUGS_LB; ao PlatformMockup.astro os blocos labels + mockOrder completos LB. astro check 0 erros (5046 ficheiros).

  • CorrecçãoRamos /lb/ em falta em 8 componentes partilhados: ProductDetail + CategoryPage (com imports FAMILY_SPECS_LB/SARTNAMELER_LB/UYGULAMA_CARDS_LB) + ApplicationAreaPage + FamilyPricePage + PriceCalculator (lb-LU) + ProductWizard + LegalPage + Calculator + SearchPalette (blogLb) + PlatformMockup — fuga de fallback no dist fechada
v1.55.1

Correcção — link quebrado /lb/ + descobertas title-h1 + localização do subject_line do kontakt

O link do cartão de material em src/pages/lb/index.astro apontava para o slug inexistente /kedi-filesinekligi/; a verificação de links quebrados do inventory-verify falhou. O slug fonte TR foi corrigido para /kedi-sinekligi/ — resolve para a rota /lb/kazennetz/ via l(). As 2 descobertas title-h1 do meta-verify também foram fechadas: /lb/mueckenetzen/ foi registado no TITLE_H1_ACCEPT por estar na mesma estrutura SEO deliberada de /sineklikler/ TR (D-LB-01; h1 "Mückenetzen" = etiqueta NAV_LABELS.lb), e o nome do produto foi adicionado ao docTitle de /lb/gro-vollverdunkelung-plissee/ ("Gro Vollverdunkelungs-Plissee — Neutral Däischtert"). A página /lb/kontakt/ mantinha o ContactForm com subject/subjects padrão TR ("İletişim Formu"); passou para "Kontakt-Formulaire" + lista de assuntos LB no padrão DE/EN. content-audit completo: uniqueness-proof 8/8 PASS (similaridade máx. 0.450, limiar <0.45), dup title/desc/h1/canonical 0, 19.521.876 pares analisados um a um; o par /lb/oval-duette-plissee/ ↔ /lb/oval-wabenplissee/ foi separado e a lista HIGH esvaziada.

  • CorrecçãoCartão "Gewiefstypen" da página inicial /lb/ liga a /lb/kazennetz/ via /kedi-sinekligi/; /lb/mueckenetzen/ TITLE_H1_ACCEPT + correspondência docTitle — link interno quebrado 0, descoberta title-h1 0
v1.55.0

Novo idioma — luxemburguês (/lb/): 447 páginas + blog + e-mails de formulário + cobertura PWA completa

A camada de idioma luxemburguês (Lëtzebuergesch, lb_LU) foi publicada. Com o dicionário ui.lb (256 chaves) + NAV_LABELS.lb (104 etiquetas) + SLUG_MAP.lb (624 slugs, correspondência TR um a um) + 27 ficheiros de dados i18n, todas as 447 páginas estáticas TR são produzidas em /lb/; incluindo detalhes de produto, conteúdos de montagem/şartname/área de aplicação. Camada de blog: colecção blog-lb + índice /lb/blog/ + /lb/rss.xml + /lb/opensearch.xml + rotas de categoria. Camada form-mail: ao send.php foram adicionados $isLb e 5 modelos de confirmação LB (mapeamentos de subject Devis-Formulaire, Händlerschaftskandidatur, Aarbechtskandidatur, Monteur-Kandidatur, Produitbewäertung, Newsletter-Umeldung); deploy/send.php sincronizado um a um. PWA: public/lb/manifest.webmanifest + sw.js v9 precache /lb/ + fallback offline + countries.lb.json (250 países, LU=Lëtzebuerg). CHROME_COVERAGE.lb ui/nav/mail completo; linha /lb/sitemap.xml adicionada ao robots.txt. lb aberto em enabledLangs — selector de idioma, hreflang e produção de sitemap activos.

  • NovidadeIdioma Lëtzebuergesch publicado: 447 páginas + 1 artigo de blog + rota de categoria /lb/guide/ + cobertura completa feed/opensearch/manifest/SW/mail — enabled:true/lb/
v1.54.3

Correcção — slugs de categoria do blog AZ localizados: link quebrado /az/beledci/ fechado

A colecção blog-az usava slugs de categoria TR; ao produzir a rota dinâmica /az/rehber/, como o SLUG_MAP.az dizia /rehber/→/beledci/, os links internos /az/beledci/ estavam quebrados (inventory-verify FAIL). Foi definido BLOG_CATEGORY_SLUGS_AZ (beledci, mehsul, baxim, dilerlik-terefdasligi, sektor — no padrão EN/DE/PL), as chaves BLOG_CATEGORIES_AZ e o enum zod blogAz foram ligados a esta lista e o frontmatter do artigo foi actualizado para beledci. /az/beledci/ é produzido, /az/rehber/ removido; inventory-verify PASS, check-i18n 624/624.

  • CorrecçãoBLOG_CATEGORY_SLUGS_AZ (beledci/mehsul/baxim/dilerlik-terefdasligi/sektor) + ligação do enum blogAz + artigo category: beledci — /az/beledci/ produzido, links quebrados 0
v1.54.2

Correcção — manifesto de cobertura AZ paridade 624/624: trio de blog adicionado, duplicado "/" removido

A lacuna de registo no manifesto PAGE_COVERAGE.az foi corrigida: os 3 slugs de blog presentes nos outros idiomas (/blog/, /rehber/, /sineklik-olcusu-nasil-alinir/) foram adicionados à lista AZ e a entrada "/" duplicada no início da lista foi removida. check-i18n az 622→624/5624 — exactamente o mesmo conjunto de slugs de todos os idiomas activos. As páginas produzidas já existiam (/az/bloq/ + artigo presentes no dist); faltava apenas o registo no manifesto. tsc --noEmit 0 erros, check-i18n PASS.

  • CorrecçãoPAGE_COVERAGE.az 622→624: /blog/ + /rehber/ + /sineklik-olcusu-nasil-alinir/ adicionados, linha duplicada "/" eliminada — paridade exacta com en/de/nl/fr/it/es/pl
v1.54.1

Correcção — ronda de auditoria de naturalidade AZ: limpeza de resíduos de palavras TR e gramática

A camada /az/ publicada foi comparada com a fonte TR através de análise de atributos HTML + texto visível do dist. Os resíduos reais foram fechados: aria-labels AZ adicionados ao DealerNetwork (dilerlik), ramo isAz do título de categoria-irmã ao CategoryPage, "yalnızca→yalnız" (54), "nem→rütubət" (97), "menteşeli→məntəşəli" (105), "manuel→manual" (21), "ancak→ancaq", "vardır→var", "detay→detal", "bilgi→məlumat", "sevkiyat→göndəriş", "iade→geri qaytarma", "başvuru→müraciət", "aktarma→köçürmə", "çizim→rəsm", "kalem→maddə", "işyeri→iş yeri", "taksit→hissəli ödəniş", "doku→toxuma", "veri→verilən", "gizlilik→məxfilik" (texto visível; slug /kommersiya-gizlilik-muqavilesi/ preservado), "montajcı→montajçı", "çünkü→çünki", llm-info "perde→pərdə" + "səndirməni→göndərişi". Foi aplicado um eliminador de falsos positivos: palavras também válidas em AZ como seçim/panel/ton/stok/ray/paket/zaman/fitil/vida/fırça/form/plan/test/tesis/ticari/yardım/katalog/elektrik/elektrikli/contexto-montajcı, nomes próprios institucionais (Türkiye İş Bankası), citações de rəyi Google de clientes e registos históricos do changelog foram preservados; a integridade do par chave de produto manuel-zip-perde e âncora #sevkiyat foi mantida.

  • CorrecçãoDealerNetwork AZ aria-label/figureLabel/domesticLabel/regionLabels (dilerlik) + ramo isAz "Digər X Kateqoriyaları" do CategoryPage
  • Correcção≈300 resíduos de palavras TR substituídos pelo equivalente natural AZ: nem→rütubət, menteşeli→məntəşəli, yalnızca→yalnız, manuel→manual, vardır→var, sevkiyat→göndəriş, gizlilik→məxfilik etc.
  • CorrecçãoIntegridade de slug/chave/âncora preservada — chave de produto manuel-zip-perde, par /kommersiya-gizlilik-muqavilesi/ e #sevkiyat intactos; aplicada isenção de nomes próprios + citações rəyi
v1.54.0

Novo — localização em azerbaijano do Azerbaijão (az_AZ) publicada: /az/ 622 rotas

O site foi totalmente localizado e publicado no azerbaijano usado no Azerbaijão (az_AZ, alfabeto latino): dicionário ui.az com paridade de chaves TR 265/265, NAV_LABELS.az 104 etiquetas de menu, SLUG_MAP.az 624/624 correspondências + ANCHOR_MAP.az, 28 ficheiros de dados em src/i18n/az/ (incluindo product-pages, products, pricing, sartname, teknik-veriler, wizard, montajcilar, changelog), 622 páginas .astro em src/pages/az/ + [slug].astro dinâmico (prioridade produto > montagem > artigo > categoria), colecção blog-az (primeiro artigo publicado), superfícies rss.xml/opensearch.xml/version-history.xml/404/manifest. Ramos az em todos os componentes partilhados (BaseLayout, PageLayout, CategoryPage, ProductDetail, ApplicationAreaPage, ApplicationDetailPage, SearchPalette, ContactForm, DealerForm, JobForm, Footer, LegalPage, PlatformMockup, ProductWizard, Calculator); notificação send.php + 5 modelos de confirmação az-AZ (public/api ≡ deploy um a um, 6 mapeamentos de subject). Verificação: tsc --noEmit 0 erros; check-i18n az 622/4999 + chrome ui✓ nav✓ mail✓; fuga de alfabeto cirílico 0; fuga de href TR 0.

  • NovidadeAzerbaijano do Azerbaijão publicado — languageMeta.az enabled:true; /az/ 622 rotas, paridade de rotas com os outros idiomas
  • Novidadesrc/pages/az/ 622 .astro + [slug].astro + 404 + rss.xml + opensearch.xml + version-history.xml + manifest; colecção blog-az + índice az do SearchPalette
  • NovidadeRamos az de componentes: cadeia BaseLayout→Footer, páginas de categoria/produto/aplicação, ProductWizard, PlatformMockup, Calculator, 3 formulários; modelos de e-mail az-AZ do send.php
v1.53.22

Infraestrutura — base de localização em azerbaijano (az): dicionário, menu, data, mapas de slugs e âncoras

A fase de infraestrutura da localização em azerbaijano do Azerbaijão (az_AZ) foi concluída — idioma desligado (enabled: false), sem fuga para a publicação. O dicionário ui.az foi adicionado com paridade de chaves TR 264/264 (estilo formal "siz", alfabeto Ə/ğ/ı/ö/ş/ü/ç). NAV_LABELS.az correspondeu uma a uma às 104/104 etiquetas de menu com referência EN/PL. O helper azDate foi adicionado ao utils.ts (DD.MM.YYYY, nomes de meses em azerbaijano). SLUG_MAP.az produziu 624 correspondências TR→AZ: ASCII, kebab-case, único, com motor de tradução limitado a tokens (quebras como karavan/gündüz/salonu corrigidas, erro de ordenação em bayilik-sözleşmesi corrigido). ANCHOR_MAP.az adicionou 4 registos. check-i18n PASS, tsc --noEmit 0 erros. PAGE_COVERAGE.az deliberadamente vazio — o idioma não será activado antes de as traduções de conteúdo estarem concluídas.

  • Infraestruturaui.az 264 chaves (paridade TR 100%) · NAV_LABELS.az 104 etiquetas · helper azDate — meta do idioma mantido enabled: false
  • InfraestruturaSLUG_MAP.az 624 correspondências + ANCHOR_MAP.az 4 registos — ASCII/único/formatado, verificado com check-i18n
v1.53.21

Correcção — ronda de naturalidade FR 20.ª etapa: eliminação de calcques se voit/se prend + amostragem do dist

Verificação linguística francesa 20.ª etapa (≈15 contextos, 4 ficheiros + 3 páginas astro). O calcque do TR "görünür" da classe "se voit à la": "se voit à la chaleur d'un panneau de bois" 2 → a la chaleur · "se voit à la même dureté que le mur béton" 3 → paraît aussi dure que le mur en béton · "se voit par la différence" 3 → apparaît par le contraste mat-brillant. O calcque do TR "ölçü alınır": "mesure ... se prend" 5 → est prise (dormant de porte → dormant de la porte). Amostragem de texto visível do dist/fr: "démo live" → démonstration en direct · "éventail d'intimité s'ouvre" 2 → écran d'intimité se déploie (TR "mahremiyet fanı"). Verificação de palavras coladas/pontuação limpa (identificadores JS e a abreviatura "Ltd. Şti.." legítimos). tsc --noEmit 0 erros.

  • CorrecçãoCalcque de aparecimento "se voit à la" 8 usos → a/paraît/apparaît — metáforas TR "görünür" traduzidas para francês natural
  • Correcção"mesure se prend" 5 → est prise · "démo live" → démonstration en direct · "éventail d'intimité" 2 → écran d'intimité
v1.53.20

Correcção — ronda de naturalidade FR 19.ª etapa: degradação "fonctionneur"/"posté" (trabalhador por turnos)

Verificação linguística francesa 19.ª etapa (≈20 contextos, 5 ficheiros). A palavra inventada "fonctionneur", tradução defeituosa do conceito TR "vardiyalı (çalışan)", foi removida: "fonctionneur posté" 7 → travailleur posté · "fonctionneurs en régime posté" → travailleurs en horaires décalés · "téléfonctionneurs" → télétravailleurs · "fonctionneur en équipes" 2 → travailleur en équipes · "le fonctionneur" → le travailleur · "Chez le posté dormant le jour" → Chez le posté qui dort le jour · "Le sommeil posté" → le sommeil de jour du travailleur posté · "Pour ceux dormant en régime posté" → Pour ceux qui dorment en horaires décalés · "chambre d'équipe" → chambre du travailleur posté. Os usos correctos existentes de "Travailleur posté" (chips) foram preservados. Verificações de preposições/conjunções limpas: avant de/après/afin de/au lieu de/à partir de ≈90 correspondências legítimas. tsc --noEmit 0 erros.

  • CorrecçãoPalavra inventada "fonctionneur" 12 usos → travailleur/télétravailleur — calcque TR "vardiyalı/uzaktan çalışan" fechado
  • Correcção"sommeil posté" 2 → sommeil de jour du travailleur posté · "posté dormant le jour" → posté qui dort le jour · "dormant en régime posté" → dorment en horaires décalés
v1.53.19

Correcção — ronda de naturalidade FR 18.ª etapa: degradações de palavras duplicadas + verificação da fila MEDIUM

Verificação linguística francesa 18.ª etapa (≈20 correcções de contexto + ≈400 classificações de correspondências, 6 ficheiros). Degradações de palavras duplicadas 16: "la barrière la barrière" 9 → la barrière (remplit/reste/demeure/assure/joue/garde) · "la barrière de toile la barrière maintient sa barrière" → la toile maintient sa barrière · "en en brisant la dureté" 3 → en brisant · "on entre entre les canaux" 2 → on passe l'embout brosse entre les canaux · "à façade nord et est est" → à façade nord et est, c'est. Fila MEDIUM verificada: dados de triagem de 13.11.2026 (medium-triage-2672-verdict.json) analisados — 2.672 pares MEDIUM 0 suspeitos, todas as partilhas em classes legítimas documentadas (estrutura paralela nav/modelo/família de produtos); as 7.968 flags actuais são a forma alargada da mesma classe. Verificações de concordância limpas: ce/cette, sa/son, leur/leurs, det-det, prep-prep, conn-conn, subjuntivo, comparação si/tant/aussi — ≈400 correspondências todas legítimas. tsc --noEmit 0 erros.

  • CorrecçãoDegradações de palavras duplicadas 16: "la barrière la barrière" 10, "en en brisant" 3, "on entre entre" 2, "et est est" 1
  • CorrecçãoDados de triagem MEDIUM verificados: 2.672 pares 0 suspeitos — 7.968 flags = classe documentada de modelo/família; verificações de concordância ≈400 correspondências limpas
v1.53.18

Correcção — ronda de naturalidade FR 17.ª etapa: degradação da conjunção dont + verificações de subjuntivo/conjunção

Verificação linguística francesa 17.ª etapa (≈80 contextos, 1 ficheiro corrigido + ≈250 correspondências classificadas). Degradação de conjunção: nas etiquetas de lista TR "Portray dahil üç uygulama/montaj", o uso de "dont" sem pronome em falta 8 usos → "dont l'une à parcloses" (Trois poses/formes de pose/applications/formes d'application). As restantes 68 correspondências "dont" foram todas classificadas como pronomes de posse legítimos. Verificação de obrigatoriedade do subjuntivo (pour que/avant que/bien que/sans que): 4 correspondências todas com subjuntivo correcto (ne s'allume, ne se coupe, reste, soit) — 0 erros. A distribuição de "comme" ≈100 correspondências legítima (comme des lunettes de soleil, utilisés comme couchage, compte comme, connu comme). As correspondências "comprend/contient", "se trouve", "lorsque/lors de", "où" legítimas — a estrutura correlativa "soit... soit" correcta. tsc --noEmit 0 erros.

  • CorrecçãoDegradação da conjunção "dont" 8 etiquetas de lista → "dont l'une à parcloses" (TR "Portray dahil üç uygulama")
  • CorrecçãoVerificações subjuntivo/comme/comprend/où/lorsque: ≈250 correspondências classificadas, erro real 0 — legítimos preservados
v1.53.17

Correcção — ronda de naturalidade FR 16.ª etapa: contracção à le + calcques se fait/fonctionne dans l'inclinaison

Verificação linguística francesa 16.ª etapa (≈30 contextos, 8 ficheiros). Degradação de contracção "à le"+nome 3 usos → au (balcon vitré, dormant, nid d'abeille) — mais de 200 "à le" legítimos pós-verbais foram isolados por verificação regex de fronteira de palavra. Calcques "se fait": "se fait ensemble avec" 3 → se fait en considérant; "se fait selon la capacité de vissage" 2 → se fait en fonction de; "se fait par le degré" → se fait selon; "se fait par la longueur de vis" → dépend de la longueur; "se fait par ouverture" → se planifie ouverture par ouverture. Calcques de preposição: "fonctionne dans l'inclinaison" 5 → fonctionne en position inclinée; "Dans l'inclinaison raide" 3 → En pente raide; "fonctionne sur une plateforme mobile" → sur un support mobile; "La vibration de navigation" 2 → due à la navigation. Uso abstracto de "se voit": "se voit le mieux" → s'apprécie le mieux; "l'avantage se voit" → s'apprécie; "se voit au démontage" → s'apprécie au démontage. Usos legítimos preservados: dans le rail/le mur, chez le bébé/revendeur, se voit pas/-elle, en regard direct, Fixe pendant le mouvement. tsc --noEmit 0 erros.

  • Correcção"à le"+nome 3 → au · "se fait ensemble avec" 3 → en considérant · "se fait selon la capacité" 2 → en fonction de · "se fait par" 2 → dépend de/planifie par
  • Correcção"fonctionne dans l'inclinaison" 5 → en position inclinée · "Dans l'inclinaison raide" 3 → En pente raide · "se voit" abstracto 3 → s'apprécie · "plateforme mobile" → support mobile
v1.53.16

Correcção — ronda de naturalidade FR 15.ª etapa: calcque sistemático "regarde" + se fonctionne

Verificação linguística francesa 15.ª etapa (≈120 contextos, 9 ficheiros). Dois calcques sistemáticos do verbo TR "bakmak" removidos: (1) "on regarde X" = "X'e bakılır" ≈60 usos → consoante o contexto on opte pour / on choisit / on se tourne vers / on vérifie / on mesure / on inspecte / on chronomètre / on observe / on s'appuie sur; (2) "qui regarde Y" = "Y'ye bakan" ≈35 usos → qui donne sur / exposé(e) au soleil/nord / tourné(e) vers / face à / ouvert sur / laisse voir / consultent. Estrutural: "La façade vitrée regarde l'intérieur" → laisse voir; "les trois pièces regardent la même surface" → portent sur; "la ligne que regarde la caméra" → que couvre; "Quel vantail regardera dans quel sens" → sera orienté. Erro gramatical reflexivo "se fonctionne" (fonctionner não é reflexivo) 9 usos → s'applique / est imprimé / est formé / s'imprime. Erro ortográfico "on regardu nuancier" → on choisit dans le nuancier. Calcques adicionais: "que voit la lamelle" → auquel la lamelle est exposée; "voit le frein le plus épais" → reçoit; "se mêle au regard" → se confond avec; "la première méthode regardée" → envisagée. Usos legítimos preservados: regarder la télévision/le paysage/un film, l'œil qui regarde, le regard (nome), en regard direct, se voit (visível), se ressent. tsc --noEmit 0 erros.

  • Correcção"on regarde X" ≈60 → on opte pour/choisit/se tourne vers/vérifie/mesure/inspecte/chronomètre/observe — calcque TR "bakılır" fechado
  • Correcção"qui regarde Y" ≈35 → donne sur/exposé/tourné vers/face à — calcque TR "bakan" fechado · "se fonctionne" 9 → s'applique/est imprimé/est formé · "on regardu" → on choisit dans le nuancier
v1.53.15

Correcção — ronda de naturalidade FR 14.ª etapa: calcques se choisit avec/s'apparie/Elle porte + casos-limite

Verificação linguística francesa 14.ª etapa (≈30 contextos). Calcques de colocação: "se choisit avec la mesure" (TR "ölçüye göre seçilir") 12 → selon la mesure; "s'apparie avec la marque" 2 → se coordonne avec; "l'air que voit le tissu" 2 → l'air auquel le tissu est exposé; "Elle porte" TR "taşır" 2 → Elle supporte (la charge); "La vis se fait tomber" → est positionnée; "dissolvent la liaison" → dégradent; "pèse plus lourd" → pèse plus; "est laissée sans graisse" 2 → est dégraissée. Correcções estruturais: "quand le travail se tourne vers la porte" → quand on passe à la porte; "ce qui est déterminant est" → c'est; "la vie dont le mètre carré" → l'habitat dont chaque mètre carré. Verificações limpas: uso de lui/leur/dont 200+ correspondências classificadas (maioria posse/pronome legítimo), met en avant, fait office, tourne avec, arrive en angle legítimos. tsc --noEmit 0 erros.

  • Correcção"se choisit avec la mesure" 12 → selon · "s'apparie" 2 → se coordonne · "l'air que voit le tissu" 2 → exposé · "Elle porte" 2 → Elle supporte · "est laissée sans graisse" 2 → dégraissée
  • Correcção"se tourne vers" → on passe à · "ce qui est déterminant est" → c'est · "dissolvent la liaison" → dégradent · "pèse plus lourd" → pèse plus · "se fait tomber" → est positionnée
v1.53.14

Correcção — ronda de naturalidade FR 13.ª etapa: calcques prend/donne/porte + degradações ént + part/couvre

Verificação linguística francesa 13.ª etapa (≈75 contextos, 15 ficheiros). O calcque TR "alır" "prend le soleil/vent/UV/air" 15 → reçoit/exposé(e)/subissent/aération naturelle; o híbrido defeituoso "la façade est prend" → reçoit; bases de clips qui prennent les UV et la pluie → subissent; qui prennent l'air naturel → privilégient l'aération naturelle. "les deux poches d'air coupent le vitrage" (TR "camı keser") 2 → isolent du vitrage. "donne"+nome abstracto (TR "verir") ≈40: donne la confidentialité 10 → assure; donne la coupure 9 → assure; donne sécurité et praticité 2 → apporte; donne une vraie occultation 2 → procure; donne la distinction naturelle 2 → marque naturellement; donne la décision 3 → détermine; donne le confort 10 → apporte; donne la luminosité 7 → apporte; donne la même confidentialité/contrôle 4 → assure/offre; donne le résultat/plus juste 3 → produit/pertinent. "porte"+abstracto (TR "taşır") 11 → répond à/réunit/remplit/subit/présente/impose; se portent en adhésif → s'installent; ne se portent en sécurité → sont supportées. "la part du mécanisme et du couvre" → l'encombrement du mécanisme et de la cassette; part de débord 3 → marge de débord. Degradação ént 15: est vissént/bloquént/laissént/finalisént → sont vissés/bloqués/laissés/finalisés. travail d'échelle → à grande échelle; réfléchi de sur l'eau 2 → réfléchi sur l'eau; bouche tombe → débouche. Legítimos preservados: en le+gerúndio, grâce à, fait office, coupe le froid/vue/lumière, met en avant, donne lieu/accès, porte le nom/la charge. tsc --noEmit 0 erros.

  • Correcção"prend le soleil/vent/UV/air" 15 → reçoit/exposé/subissent · "coupent le vitrage" 2 → isolent · "donne"+abstracto ≈40 → assure/apporte/procure/détermine/offre
  • Correcção"porte"+abstracto 11 → répond/réunit/remplit/subit/présente · degradação ént 15 → sont vissés/bloqués/laissés/finalisés · "la part du mécanisme et du couvre" → encombrement/cassette · part de débord → marge
v1.53.13

Correcção — ronda de naturalidade FR 12.ª etapa: limpeza de resíduos ingleses + análise profunda de texto visível

Verificação linguística francesa 12.ª etapa. Na saída dist/fr/, a análise de inglês ao nível da frase (3+ palavras EN-only consecutivas) apanhou 34 fragmentos; 13 resíduos reais de parágrafos/frases em inglês em 11 páginas foram traduzidos para francês: parágrafo de definição moustiquaires (meshed barrier…), definição stores-zip (tensioned screen system…), definição stores-nid-abeille + frase de comparação (cellular blind…/is enough…), frase de rastreio de sub-revendedor em gestion-de-compte-courant, deveres de importador em contrat-de-distribution, notificação de danos em expedition-et-livraison, frase de marca em support-gratuit-site-web, "is used instead" em moustiquaire-fixe, item "work not yet announced" em accord-de-confidentialite, definição de sistema moustiquaires-plissees (accordion-folding mesh…), frase de entrega em suivi-d-expedition, "is seen on a single screen" em suivi-de-commande. politique-de-cookies "for anonymous counting. Loaded only after consent." → "pour le comptage anonyme. Chargé uniquement après le consentement." rechercher.astro 3 backups JS virados para o utilizador → FR (Search index could not be loaded / No results found / {n} results). As correspondências whatsapp.astro são comentários de código (legítimo), "then done done else done" em kit-presse/documents-de-specification operador ternário JS (legítimo), citações EN nos registos changelog são texto de relatório (intocável). A verificação de papel qui/que e a verificação il est/c’est ≈400 correspondências classificadas uma a uma — erro real 0. tsc --noEmit 0 erros.

  • CorrecçãoAnálise profunda EN do dist/fr: 13 resíduos reais de inglês em 11 páginas FR → tradução FR (moustiquaires, stores-zip, nid-abeille, compte-courant, distribution, expedition, support-site-web, moustiquaire-fixe, confidentialite, plissees, suivi×2)
  • CorrecçãoFragmento EN do politique-de-cookies → FR · rechercher.astro 3 mensagens de backup JS → FR · qui/que e il est/c’est ≈400 correspondências classificadas, erro 0
v1.53.12

Correcção — ronda de naturalidade FR 11.ª etapa: degradação da contracção de le + calcques tient/entre dans/finit

Verificação linguística francesa 11.ª etapa (≈80 contextos). Degradação de contracção: contexto nominal "de le" 30 → du (de le nuancier 26, de le voile 4); verificação de les/à les/en le/pour les limpa (en le+gerúndio legítimo). Calcques restantes de "tient" ≈10: para cor "tient entre" 6 → se situe entre, "tient propre/en ton/au point/étranger" → reste/s'inscrit/se situe/paraître, "tient dans cette palette" → s'inscrit; o físico "tient au châssis/dans l'interstice" preservado. "entre dans le calcul" 4 → entre en ligne de compte, "entre dans la liste de contrôle" → figure dans, "entre dans la routine" → fait partie de. "finit" 6 → a lieu à l'usine/sont effectués/dure/ne s'arrête pas (calcque TR "biter"). Degradação "est laissént" → restent; "devient diffuse" concordância de sujeito masculino → diffus; "devient inopérant" → ne fonctionne plus (2); "devient partie" → fait partie; "devient non une" → non pas une; "La nuancier" → Le; fora "de le nuancier", "la jaunissement" → le; "choix le plus juste" → le plus pertinent (2); "montrent l'intérieur de l'extérieur" → rendent visible; "montrent le système/adéquation" → indiquent (2); "se tire vers" cor/posição → se rapproche de/se place (2); "se mène par télécommande" → se pilote; "se ramène du côté" → se place; estrutura defeituosa "Le à parcloses" 4 → La pose/version à parcloses; "fonctionne avec toute palette" 2 → s'accorde à; "parle la même langue" 5 → le même langage (para objectos); "Le duette de qui veut" → pour ceux qui veulent (2); luz "fuit du haut" → filtre par le haut; "s'appuie aux deux mondes" → sur; "Le soleil s'arrête" → est arrêté par le store; "entre dans l'espace de vie" → empiète sur. Verificações de concordância limpas: plural+est 142 e singular+sont ≈220 correspondências todas sujeito composto/nome ligado — erro real 0; verificação elide (le/la+vogal) limpa (le hublot/le yacht h-aspiré legítimo). tsc --noEmit 0 erros.

  • Correcção"de le" nome 30 → du · "tient" restantes ≈10 → se situe/reste/s'inscrit/paraître · "entre dans le calcul" 4 → en ligne de compte
  • Correcção"finit" 6 → a lieu/dure/sont effectués · "Le à parcloses" 4 · "est laissént", "devient diffuse", "la jaunissement" correcções de concordância/gramática
v1.53.11

Correcção — ronda de naturalidade FR 10.ª etapa: calcques veut/travail/grandit/atteint + erros gramaticais

Verificação linguística francesa 10.ª etapa: calcques de verbo com sujeito inanimado e de "iş" fechados (≈90 contextos). "veut/veulent" com sujeito inanimado ≈39 (calcque "ister" de espaço/norma/fachada/vitrage) → demande/exige/recherche (sujeitos humanos + on veut preservados); o erro de subjuntivo "veut que l'éblouissement est bloqué" também corrigido. Calcque "travail"="iş" ≈27 → fonction/rôle/configuration de pose (fait un travail→remplit une fonction, le travail de la couche→le rôle, dispositions de travail→configurations de pose; trabalho humano "travail du personnel" preservado). "grandit" magnitude técnica ≈13 → augmente/s'élargit/s'accroît/étend (crescimento orgânico enfant/réseau preservado); confusão sujeito-objecto "l'écart grandit la lumière" → laisse s'infiltrer. Calcques "atteint" → s'ouvrent au maximum/ne passe à/fuit vers; "double fois"→deux fois (2); "se rejoint au centre"→se rencontrent; "rejoint le sol ou au seuil"→ou le seuil; "le tissu qui touche"→en contact avec; "montre la pièce moins"→rend. "est juste/est correct" 11 → convient/le bon choix/exacte/est requise. "passe à la note" 3 → est validé. "la façade est donne" → reçoit (gramática). "la même logique s'y transporte" 2 → s'y applique. Erro de nome de mês TR: Mayıs "May"→"Mai". Legítimos preservados: adhère à, est souhaitée, empêche (físico), remplit le rôle/vide, rejoint la palette, touche le store (luz), vient du rail/des bords. tsc --noEmit 0 erros.

  • Correcção"veut" com sujeito inanimado 39 → demande/exige · "travail" 27 → fonction/rôle · "grandit" técnico 13 → augmente/s'élargit
  • Correcção"est juste/correct" 11, "passe à la note" 3, "atteint" 6, "double fois" 2, "est donne" 1 gramática · Mayıs→Mai
v1.53.10

Correcção — ronda de naturalidade FR 9.ª etapa: colocações + correcções funcionais/estruturais

Verificação linguística francesa 9.ª etapa: colocações restantes, verificação de resíduos TR e correcções funcionais. Crítico: o script de horário de funcionamento em /fr/contact/ correspondia a saída de dias fr-FR (dim., lun. …) com um array de dias em inglês — indexOf devolvia -1 e o selo aberto/fechado nunca funcionava; o cálculo passou a getDay numérico independente de locale. Chaves productText corrompidas: a chave "stor-perde" tinha-se transformado num parágrafo FR, "beyaz-plise-perde" carregava dados do manuel-zip-perde — os cartões caíam para a descrição turca ("Klasik stor…", "Çevirme koluyla çalışan model…") → chaves corrigidas, texto FR restaurado. DeliveryCountry: campo nameFr adicionado (Allemagne, Pays-Bas, France, Belgique, Autriche, Suisse, Italie, Espagne); zones-de-service imprime nameFr em vez de nameEn. Cadeia de língua mista: "corporate customers in Türkiye" → clients institutionnels en Türkiye; "Industrial" → Industriel. Colocações: "couvre le besoin" → répond au besoin; "couvre la condition de sécurité" → répond à; "couvre tous les scénarios" → convient à (2); "couvre ensemble" → regroupe; "se produisent avec une série séparée" → sont fabriquées; "le palier le plus lourd du bleu" → le plus profond; "porte la couleur de la nuit" → a la couleur; "vient avec la sécurité" → s'accompagne d'une sécurité; "revient avec une solution" → vous propose; "travaille avec ses propres identifiants" → dispose de; "travaille directement avec" → en direct avec. "la voie" 13 calcques → rail/fixation/solution/moyen ("la voie médiane", "par voie électronique", "les voies de droit" legítimos preservados). "vient" ≈15 calcques → est en/existe en/se trouve à/s'obtient/paraît (o sentido de origem "vient du rail/des bords" preservado). "est notéent" → est notée (2); "le ruban collera/s'accrochera" → adhérera (2). Erro de changelog: os registos 1.53.9 e 1.53.8 estavam fundidos num único objecto (TS1117) → separados em ambos os ficheiros.

  • CorrecçãoSelo de horário /fr/contact/: incompatibilidade dia fr-FR↔array EN → getDay numérico; 2 chaves productText corrompidas → texto FR stor-perde/manuel-zip-perde restaurado
  • CorrecçãonameFr 8 países · "la voie" 13, "vient" ≈15, colocação ≈15 contextos · erro de fusão de objectos changelog 1.53.9/1.53.8 separado
v1.53.9

Correcção — ronda de naturalidade FR 8.ª etapa: concordância de particípio + resíduos aforme/set/degradação

Verificação linguística francesa 8.ª etapa: concordância de palavras e resíduos de degradação fechados (≈185 contextos). Palavra inventada "aforme" 127 (degradação do calcque de endereço, ≈55 ficheiros) → adresse/adresses. Uso nominal restante de "le set / Le set" ≈37 → le kit (set double, set plié, set d'échantillons, set prêt à poser). Concordância de género do particípio: "la lumière est filtré" 35 → est filtrée; "la chaleur est bloqué" 2 → est bloquée; "la façade est produit" → est protégée; "une pièce manquante est constaté" → est constatée. Degradações de lotes anteriores 14: "ne est bloquée/filtrée/fabriqué/laissé/sécurisé pas" → n'est pas …/n'est sécurisé qu'avec; formas híbridas "est filtrér/bloquér/filtrént" → être filtrée/ne sont pas filtrés/est filtrée. Calcques pequenos: "le périmètre est posé" → est défini; "la langue de l'espace" → le langage de l'espace (4); "est fabriqué vissé" → en version vissée; "le modèle pose, transport ou export" → la formule (2); "le budget est produit" → est établi; "la fonction vitrine" → la fonction de vitrine; "Le moment du moteur" → Le couple (2); "la lumière de photosynthèse" → nécessaire à la photosynthèse; "prend le vent" → exposée au vent; "prend l'humidité" → absorbe l'humidité (3); "donne l'aspect" → produit l'aspect/a l'aspect (2); "non pas de l'intérieur du tissu" → non pas par le tissu. Verificados e considerados legítimos: adhère à, prend le soleil, le vide (vide d'air/escalier), se parallèle 0, se recommande 0, en le+gerúndio (en le chauffant) correcto. tsc --noEmit 0 erros.

  • Correcção"aforme" 127 → adresse · "set" nome 37 → kit · "est filtré/bloqué" concordância feminina 37 → filtrée/bloquée
  • CorrecçãoDegradações 14: híbridos "ne est X pas"/"est Xér" → n'est pas X/être Xée · posé→défini, langue→langage, modèle→formule, moment→couple
v1.53.8

Correcção — ronda de naturalidade FR 7.ª etapa: calcques de verbos se voit/tient/ferme/vaut/porte

Verificação linguística francesa pós-lançamento 7.ª etapa: calcques de verbos de aparência/posição fechados (≈190 contextos). "se voit comme" 71 (inanimado aparece) → apparaît comme; casos-limite restantes de se voit → paraît/figure/s'observe/se révèle ("ne se voit pas", "se voit depuis", "ça se voit" legítimos preservados). "tient comme" 22 → fait office de/paraît; "tient dans" pertença abtracta 16 → s'inscrit (o físico "tient dans l'interstice" preservado). "ferme" abstracto 26 → occulte l'intérieur/bloque la vue/masque à hauteur/obstrue/couvre/supprime (o físico ferme l'ouverture preservado). Padrões "vaut" 14 → s'applique/convient/compte ("vaut pour" legítimo). Calcques "porte": porte à la fois 4 → réunit; porte au maximum → maximise; se portent ensemble → s'installent; se porte à l'aise → trouve sa place; ne porte pas le mécanisme → n'emploie pas; la série porte → série pour porte 2. "s'apparie" contexto de cor 5 → s'accorde. "prend la lumière" 7 → admet la lumière. "installe" abstracto 7 → instaure. "casse la vue" 2 → brise la vue. Calcques "sort" 4 → dépend de/dégage/s'écarte. "est regardée" → est envisagée. "se propose" 4 → s'envisage. "regarde vers" (subtom de cor) → tire vers. "s'appuie à l'espace" → s'accorde à. Legítimos preservados: se comporte comme, suffit, prend le soleil, se fait 313, ne se voit pas, s'ouvre comme une porte. tsc --noEmit 0 erros.

  • Correcção"se voit comme" 71 → apparaît; "tient comme/dans" 38 → fait office/s'inscrit; "ferme" abstracto 26 → occulte/bloque/masque
  • CorrecçãoPadrões "vaut/porte/prend/installe/casse/sort/regarde" ≈60 contextos → s'applique/réunit/admet/instaure/brise/dépend/tire vers
v1.53.7

Correcção — ronda de naturalidade FR 6.ª etapa: erros de género, família asseoir, calcque choisit

Verificação linguística francesa pós-lançamento 6.ª etapa: género de nomes e calcques de verbos fechados. "le parclose" 37 → la parclose (parclose é feminino). Texto/etiqueta de ligação visível "Portray" 9 → à parcloses / pose à parcloses (href/id preservados). "la voile" (contexto de tecido de tule) 15 → le voile + concordância de adjectivo (voile blanc/gris; "la voile" no contexto de vela legítimo preservado). Formas restantes da família asseoir: s'asseyant ≈20 → reposant, s'asseyent → reposent, assoit ≈10 → fait reposer/place, s'assied ≈14 → repose/se loge/s'aligne, "On l'assoit" → on le pose, "fait asseoir le caisson" → laisse se loger, "se rassoit" → se remet en place, "clip assis" → clip bien posé (a expressão humana "s'assoit à la même table" e o nome "l'assise" preservados). "s'attend" (attendre esperar) 3 → attend (s'attendre=esperar no sentido de supor, diferente). "choisit" com sujeito inanimado ≈58 contextos (TR seçer/belirler) → détermine; sujeitos humanos (le client, l'utilisateur) e se choisit (escolhido, 454) preservados — o excesso do lote em 327 linhas foi revertido. "coupe le passage" 3 → bloque le passage. "Qu'une différence sorte" → Qu'il y ait un écart. "fait sortir" → fait ressortir. "s'indique à part" → séparément. "le pose-dépose" → le montage-démontage. "se porte à deux mains" → se soulève. "le modèle/type parclose" → à parcloses. Estrutura defeituosa "Le à parcloses" → La pose à parcloses. "Travaille avec toute palette" → S'accorde. "rétrécit" (fuga) → diminue. Legítimos preservados: d'origine 4, voyant=en voyant gerúndio, la houle-la voile, le gabarit/jeu/segment/secteur/matériau/groupe masculinos, verificação de género 491 correspondências com erro real apenas voile+parclose. tsc --noEmit 0 erros.

  • Correcção"le parclose" 37 → la parclose; "la voile" 15 → le voile; texto visível "Portray" 9 → à parcloses
  • CorrecçãoFamília asseoir ≈50 contextos → reposer/se poser/se loger; "choisit" com sujeito inanimado ≈58 → détermine (se choisit 454 preservado)
v1.53.6

Correcção — ronda de naturalidade FR 5.ª etapa: set→kit, se perce/se préfère + erros de preposição

Verificação linguística francesa pós-lançamento 5.ª etapa: calcques de casos-limite restantes fechados. "le set" 34 usos (TR set → FR kit) → le kit (kit prêt à poser, kit d'échantillons, kit de chevilles). "se préfère" 12 → est préféré(e)/sont préférés. "se perce" 6 (passivo de "delinir") → n'est percé/n'est pas percé. "se fonctionne" 3 (L'impression se fonctionne) → s'applique sur. "se conduit" 4 (é executado) → se coordonne avec. "se finalise" 3 → est finalisé. "se corrige elle-même" → se remet en place. "se charge" 3 contextos → ne pèse pas sur/s'applique/fonce (uso de carregamento de código preservado). "la même logique se transporte" ≈10 → s'applique (transporte físico preservado). "se sentir lourd" 2 → paraître lourd. "se couche" (caisson é deitado) → est posé à plat. Erros de preposição: "après de longues années" → au bout de, "pendant de longues" 3 → durant. "veut la fenêtre ouverte" → exige. "est tenu ouvertement" → est communiqué ouvertement. "est donné moins par" → est déterminé moins par. Verificados e considerados legítimos/limpos: se démonte, se met, se doit, se passe, se dépend, se revient, se lève, se réveille, se détend, se jette, se met à jour, se met en service, se corrige (autocorrecção), concordância demonstrativa ce/cette, verificação de género (la lame/le système/la télécommande), slat (chave de dados), le plan 616, le dispositif 196, l'écran, le clip 41, le vitre 0, se remplit/décharge/facture/cesse/vide/pèse/coûte/gaspille/dépense/consomme/économise/valide/approuve/imprime/poste/maille/marche/débute/démarre/lance/demeure/paraît/semble/apparaît/augmente/diminue/vise/travaille/varie/fluctue/oscille/décroît/grandit/craque/repousse/périme/expire/date/laque/vernit/peint/lisse → 0 ou legítimo. tsc --noEmit 0 erros.

  • Correcção"le set" 34 → le kit (terminologia set→kit); "se préfère" 12 → est préféré(e); "se perce" 6 → n'est percé
  • Correcção"se fonctionne" 3 → s'applique; "se conduit" 4 → se coordonne; "se finalise" 3 → est finalisé; erros de preposição après de/pendant de corrigidos
v1.53.5

Correcção — resíduos de texto inglês restantes em páginas FR

Resíduos ingleses detectados na saída dist durante a verificação ao vivo FR foram removidos (13 strings / 5 páginas): moustiquaire-battante ("pet screen in homes with pets" → pour les foyers avec animaux), garantie (tabela de âmbito de garantia 4 linhas: Functional defect → Défaut fonctionnel, Manufacturing defect → Défaut de fabrication, Weave colour errors → Erreurs de tissage, One-to-one supply → Fourniture un à un), reseaux-sociaux (5 textos de funções de redes sociais), moustiquaire-coulissante (description), stores-duette (SectionHeader title → Où la Duette fait-elle la différence ?), stores-et-rideaux (resposta FAQ). A análise alargada de resíduos EN em todos os ficheiros de dados+páginas+blog FR devolveu 0 resultados. tsc --noEmit 0 erros.

  • Correcção13 strings de resíduos ingleses em páginas FR traduzidos para francês natural — resíduo 0 após análise
v1.53.4

Correcção — ronda de naturalidade FR 4.ª etapa: famílias reflexivas restantes + terminologia portray

Verificação linguística francesa pós-lançamento 4.ª etapa: famílias passivas/reflexivas restantes fechadas com classificação por contexto (≈250 contextos). "se précise" (31 — torna-se claro/é determinado) legítimo preservado. "se suit" (1), "s'envoie" (10) → est envoyé(e)/est livré, "se contrôle" (20) → est contrôlé/se vérifie, "se traite" (2) → est traité, "s'écrit" (102) → est indiqué/se précise/s’inscrit, "se fournit" (3) → est fourni, "se donne" reflexivos restantes → est donné/se fait, "se retourne" (2) → se retourne/se remet, "se planifie" (24) → se décide/est planifié. "se monte" 33 contextos: sentido de montagem → s’installe (a maioria), selecção de produto → se choisit, montagem por medida → est monté à la mesure, conjunto de perfis → sont montés — restam 0. Calcque nominal "le montage" (5 — no sentido de produto/modelo) → la pose/la version/le store. Degradação "Pos’accrocheue" → Pose où. Texto visível "portray" 279 usos (termo de montagem TR; ids/âncoras preservados) → termo FR estabelecido: pose à parcloses, sur la parclose, plan à parcloses, support adhésif à parcloses. "se visse" (18 — passivo "é aparafusado") → est vissé(e). "se regarde" (27 — calcque "é verificado") → se vérifie/se revoit. "se garde" (19 — "é guardado/armazenado") → reste/se conserve. "se stocke" → se conserve. "se mentionne" → s’associe à. "diffuse fait le confort" (3) → donne le confort restaurado. Legítimos preservados: se coulisse (desliza no cabo), se continue (não reflexivo), se programme (é programado), se conserve (74 — expressão armazenar), la face, l’aspect. tsc --noEmit 0 erros.

  • CorrecçãoFR "s'écrit" 102 + "se contrôle" 20 + "s'envoie" 10 + "se traite/fournit/retourne/planifie" ≈50 contextos — corrigidos com classe passiva
  • CorrecçãoFR "se monte" 33 → s’installe/est monté à la mesure/se choisit; calcque nominal "le montage" 5 → la pose/la version
  • CorrecçãoTexto visível "portray" 279 usos → à parcloses/la parclose (termo de montagem FR estabelecido); "se visse" 18 → est vissé, "se regarde" 27 → se vérifie
v1.53.3

Correcção — ronda de naturalidade FR 3.ª etapa: verificação se prend/se fait + novos calcques

Verificação linguística francesa pós-lançamento 3.ª etapa: grandes famílias adiadas fechadas com classificação por contexto. "se prend" 295 usos — "la mesure se prend" (a medida é tirada) e "la décision se prend" (a decisão é tomada) ≈130 usos legítimos preservados; ≈144 contextos fora de medida classificados por sujeito: selecção → se choisit, determinação de spec → se détermine, remoção de pó → s'élimine, passagem pelo canal → s'enfile, posicionamento → se place, aprovação → est obtenue, decisão de produção → se détermine en production, margem → est prise/prévue. "se fait" 299 usos — a maioria passivo legítimo "é feito" preservado; 10 contextos corrompidos: vis se fait tomber → se place (o parafuso é encaixado), se fait coïncider → s'aligne sur, se fait passer dans → est passé dans/s'enfile, Il se fait par télécommande → se commande par, se fait correspondre → s'aligne sur, se fait clairement → apparaît clairement. "se choisit" 303 todos legítimos — preservado. Novas famílias: "se vit" (calcque é-vivido, 12) → se ressent/se rencontre/se perçoit/se voit/se partagent. "se gagne" (2) → est assurée/s'obtient. "se perd" (11) → perda abtracta disparaît/est préservée, perda física preservada (6). "se réalise" (3) → est réalisée/se fait. "se change" (19) → peça se remplace, ajuste se règle, programa se modifie; "change selon" não reflexivo preservado. "se fabrique" (2) → est fabriqué (normalização). "se renouvelle" (16) → peça se remplace/est remplacé/est renouvelé. "en conséquence" (28 — calcque "buna göre", em FR significa "consequentemente") → en fonction. "se joue" (4 — expressão legítima "o essencial está aqui"), "la face" (56 — termo de carpintaria), "l'aspect" (148), "dans la mesure" (registo de medida + expressão jurídica) preservados. tsc --noEmit 0 erros.

  • CorrecçãoFR "se prend" ≈144 contextos: selecção se choisit, spec se détermine, pó s'élimine, canal s'enfile, posição se place — ≈130 usos legítimos de medida/decisão preservados
  • CorrecçãoFR "se fait" 10 contextos corrompidos + novas famílias: se vit→se ressent, se change→se remplace, se renouvelle→se remplace, se gagne→est assurée, se réalise→est réalisée
  • Correcção"en conséquence" 28 usos → en fonction (calcque "buna göre"; o sentido em FR é "consequentemente")
v1.53.2

Correcção — ronda de naturalidade FR 2.ª etapa: calcques de verbos passivos

Verificação linguística francesa pós-lançamento 2.ª etapa: calcques de verbos passivos/reflexivos fechados com classificação por contexto (≈200 contextos). "se produit" (não "é produzido" mas "acontece") → produção est fabriqué(e)/est produit, medida est prise (≈60; "conflit se produit", "mouvement se produit ici" = sentido acontece preservado). "se demande" (é exigido) → est exigé/requis/choisi/demandé, contexto "au modèle" se vérifie (≈30). "se marque" → marcação est marquée/se trace/est notée, aparecimento se voit/se manifeste/se révèle (≈30). "se relie" → se fixe/rejoint/se raccorde (≈20). "se suspend" → s'accroche/est suspendu (≈10). "se remarque" → se voit/est visible/est sensible (≈35). "se note" → est noté(e)/s'indique/se relève (≈50). "se compare" → est comparé/se confronte (≈20). "se tient" → reste/est maintenu/se situe/se positionne (≈45; a fixação física "l'échantillon se tient" e a conta "le compte se tient" preservadas). "se complète" → est complétée/devient complet. "se laisse" → est laissé(e). "se notifie" → est signalée/indiquée. "se repose" (recoloca-se, "se reposer"=descansar erro de sentido) → se remet en place/se remonte. "se compte" → compte. "se montre" → se prouve/apparaît/se manifeste/se révèle. "se connecte" perfil → se raccorde. "se vide" → se dégage. "se paie" → n'entraîne pas de perte. Género "la nuancier" → le nuancier. Correcções de fusão de fronteira: baest/griest/courest/basest (falta de \b nos lotes anteriores) → base/grise/course/basse + verbo restaurado; ne est laissé pas → n'est pas laissé. tsc --noEmit 0 erros.

  • CorrecçãoFR "se produit" ≈60 contextos: produção est fabriqué(e), medida est prise — usos com sentido "acontece" preservados
  • CorrecçãoCalcques passivos FR ≈140 contextos: se demande→est exigé/choisi, se marque→est marquée/se manifeste, se relie→se fixe, se suspend→s'accroche, se remarque→se voit
  • CorrecçãoErros de fusão de fronteira: baest/griest/courest/basest e ne est laissé pas → forma correcta restaurada; erro de sentido se repose → se remet en place
v1.53.1

Correcção — ronda profunda de naturalidade FR: calcques travaille/se coupe/se lit

Verificação linguística francesa pós-lançamento (continuação F7): calcques de verbos TR fechados com classificação por contexto (≈700 contextos, 16 ficheiros i18n + 12 páginas). "travaille" (calcque çalışır, ≈440 usos) → objecto/mecanismo fonctionne, montagem s'installe/se loge, efeito agit/joue, resistência résiste, contextos humanos/de trabalho preservados (≈70). "se coupe" (é cortado) → corte físico est coupé/découpé, luz/calor/vista bloqué(e), bruit atténué, fuite éliminée (≈150; a expressão "se couper de l'extérieur" e a resistência "ne se coupe pas" preservadas). "se lit" (é lido) → medida se mesure, aparência se voit/apparaît (≈195). "s'assoit" (sentado) → s'emboîte/se met en place/se pose (≈125). "dresse" (erguer) → forme/constitue/trace (≈80). "se donne" → se transmet/se communique. "se règle" → no contexto de decisão/preço se décide/se calcule (ajuste de lamela preservado). "se dégage" → no contexto de plano se dessine (ouverture se dégage = abre-se, preservado). "se sent" → se ressent. "se porte" → montagem se fixe, carga est reprise, transporte a duas mãos preservado. "se sépare" → s'écarte du vitrage/se distingue. Erro de sentido: "coupe la confidentialité" (corta a privacidade = sentido oposto) → assure la confidentialité. Outros: deux travaux → deux fonctions, espace assis → espace de détente, sans coupure → sans interruption, contextos soleil dur/ligne de rive/frein de vent/poids de la pose/plan vitré, charge le rail d'une charge → soumet à une charge, fait asseoir → loge, zone qui prend la vapeur → exposée à, prend la lumière → admet la lumière, l'usage qui veut → exige. Concordância: système railé se produisent → est fabriqué, liste se conduit → est gérée, tracèrent → tracent, concordância de género est filtré/filtrée. tsc --noEmit 0 erros.

  • CorrecçãoCalcque FR "travaille" ≈440 contextos: fonctionne/s'installe/agit/joue/résiste — "travailler" preservado em contextos humanos e de colaboração
  • CorrecçãoCalcques passivos FR ≈400 contextos: se coupe→est bloqué/coupé, se lit→se mesure/se voit, s'assoit→s'emboîte, dresse→forme, se donne→se transmet, se porte→se fixe
  • CorrecçãoCorrecções de sentido: coupe la confidentialité→assure la confidentialité, deux travaux→deux fonctions, espace assis→espace de détente, charge d'une charge→soumet à une charge
v1.53.0

Novo — localização em francês (França) publicada: /fr/ 624 rotas

O site foi totalmente localizado em francês metropolitano (fr-FR) e aberto à publicação: dicionário ui.fr, NAV_LABELS.fr, SLUG_MAP.fr (624/624) + ANCHOR_MAP.fr, 27 ficheiros de dados em src/i18n/fr/ (incluindo product-pages 142/142 registos), 446 páginas .astro em src/pages/fr/ + [slug].astro dinâmico (prioridade produto > montagem > artigo > categoria), colecção blog-fr, superfícies rss.xml/opensearch.xml/version-history.xml/404/manifest/sw. Ramos fr em todos os componentes partilhados (BaseLayout, PageLayout, CategoryPage, ProductDetail, ApplicationAreaPage, ApplicationDetailPage, SearchPalette, ContactForm, DealerForm, JobForm, Footer, LegalPage, PlatformMockup, ProductWizard); notificação send.php + modelos de confirmação fr-FR (public/api ≡ deploy um a um). Verificação: tsc --noEmit 0 erros; cadeia pnpm build totalmente PASS (check-headings/semantic/changelog/og, canonical, breadcrumb 621 páginas, check-i18n fr 624/4999 + chrome ui✓ nav✓ mail✓, pagefind 8 idiomas, check-llms 4976 páginas, crosscheck, sitemap-images, schema-urls 19027, uniqueness-proof 8/8, pairs-coverage 12.492.501/12.492.501, inventory-verify, meta-verify). Verificações de resíduos: resíduo de gerador 0/446 páginas; análise de resíduos EN 0 (atributo + nó JSX); fuga de slug TR 0. Descobertas fechadas: 17 violações A4 + 17 A7, A5 0.460→0.450, 3 bloqueadores title-h1 do meta-verify, restos ingleses na página de contracto, resíduo "is described" em 17 páginas, 350 hrefs de slug TR dentro de etiquetas, argumentos lang de schema fr-FR.

  • NovidadeFrancês publicado — languageMeta.fr enabled:true; /fr/ 624 rotas (446 páginas estáticas + dinâmicas de produto/montagem/blog), paridade de rotas com os outros idiomas
  • Novidadesrc/pages/fr/ 446 .astro + [slug].astro + 404 + rss.xml + opensearch.xml + version-history.xml; colecção blogFr + índice fr do SearchPalette
  • NovidadeRamos fr de componentes: cadeia BaseLayout→Footer, 4 gémeos de categoria, ProductDetail, 2 páginas de aplicação, ProductWizard, PlatformMockup, modelos de e-mail fr-FR do send.php
  • MelhoriaPortas de build totalmente PASS: uniqueness-proof 8/8, meta-verify, inventory-verify, check-i18n fr 624/4999 — descoberta bloqueadora 0
v1.52.26

Correcção — análise de calcques de verbos DE: fila geschrieben/genommen/gemacht/gegeben

Ronda de verificação profunda DE (F5): calcques de verbos passivos fechados com classificação por contexto (≈310 contextos, 12 ficheiros i18n + 8 páginas). "wird geschrieben" (calcque é-escrito) → angegeben/notiert/erfasst/festgelegt (≈110). "wird genommen" (calcque é-tomado) → com sentido de selecção gewählt/eingesetzt, derivação bestimmt/abgeleitet, consideração berücksichtigt/eingeplant, luz hereingelassen, limpeza entfernt (≈90); a medida "Maß wird genommen", entnehmen físico e expressões (in Betrieb nehmen, unter Kontrolle nehmen, als Basis nehmen) preservados. "wird gemacht/gegeben" → erfolgt/durchgeführt/erstellt, Entscheidung getroffen, Freigabe erteilt, angegeben/angeboten/geboten (≈95). Pequenos: gelebt→zeigt sich/entsteht (3), gearbeitet→gefertigt (2), gehalten em contexto de documento → erfasst/dokumentiert (4). Erro de palavra: Beschlagnahme (penhora!) → Beschläge; quebra ortográfica Trägerträgeranzahl → Trägeranzahl. Legítimos preservados: Maß nehmen, ehrlich gesagt, Kabel/Schnur gezogen, carga getragen, posição gehalten. Ramos isDe em falta nos arrays activityAreas/experiences/models do DealerForm completados (queda para EN fechada).

  • CorrecçãoCalcques passivos DE ≈310 contextos: geschrieben→angegeben/notiert, genommen→gewählt/bestimmt/berücksichtigt (medida preservada), gemacht/gegeben→erfolgt/getroffen/erteilt
  • CorrecçãoBeschlagnahme→Beschläge, Trägerträgeranzahl→Trägeranzahl, ramos isDe em falta do DealerForm (queda para EN)
  • Melhoriaverificação de legitimidade: Maß nehmen, ehrlich gesagt, Kabel gezogen, Lagerbestand gehalten — alemão natural, preservado
v1.52.25

Correcção — concordância title↔h1 em ES /es/empresa/: bloqueador do meta-verify fechado

O único bloqueador do meta-verify (title-h1-uyumsuz: 1) foi fechado: na página /es/empresa/ o h1 "Corporativo" não aparecia exactamente no title (incompatibilidade raiz-sufixo "corporativa"). Seguindo o padrão irmão (TR "Kurumsal ve Şirket Bilgileri" / DE "Unternehmens- und Firmeninformationen"), o title passou para "Corporativo e información de la empresa". Micro-estilo na mesma página: "con quién funciona" → "con quién colabora" (uso natural de Espanha em contexto de parceria comercial).

  • Correcção/es/empresa/ title → "Corporativo e información de la empresa" — concordância com o h1 "Corporativo" alcançada, meta-verify title-h1-uyumsuz=0
  • Melhoria/es/empresa/ "con quién funciona" → "con quién colabora"
v1.52.24

Correcção — fila de nomes/advérbios ES: padrão possessivo a tono + verificação de legitimidade

Ronda de verificação profunda pós-lançamento 18: calcque possessivo "a tono X" ("com tom X") → "en tono X" (64 contextos: a tono claro/oscuro/cálido/neutro/gris/nogal/tierra + geral). "a la medida más baja" → "a la medida mínima". Padrões concluídos na verificação de legitimidade: "a presión", "mando a distancia", "a cota", "a nivel", "a escala", "a ras", "a lo largo", "a tensión", "a la medida", "en lo alto", "al instante", "paso a paso", "paso sin obstáculos", "de la tarde/mañana" — uso natural de Espanha, preservado. Análise de fugas TR: 0 no conteúdo visível (20 correspondências em comentários de código — conforme às regras, não tocadas).

  • Correcçãocalcque possessivo a tono X → en tono X (64: claro/oscuro/cálido/neutro/gris/nogal/tierra + geral), a la medida más baja → a la medida mínima
  • Melhoriaverificação de legitimidade: a presión, a distancia, a cota, a nivel, a ras, a lo largo, en lo alto, al instante, paso a paso, de la tarde — natural, preservado; fuga TR 0
v1.52.23

Correcção — análise de cópias de verbos ES: trabaja→funciona, se vive/se siente/se cuenta/se escribe

Ronda de verificação profunda pós-lançamento 17: degradação crítica "reexige" → "requiere" (transbordo da conversão quiere→exige da ronda 15 para dentro de requiere, 17). "trabaja" sujeito inanimado → "funciona" (≈410), "trabaja a turnos/el equipo" com sujeito humano preservado; plural "trabajan" → "funcionan" (≈90). "pide" necessidade inanimada → "requiere/exige" (≈20), encomenda "se pide" → "se solicita" (17). "porta/portan" → "lleva/conlleva/incorpora/soporta" (≈55). "se siente" → "se nota" (13). "se escribe" (calcque é-escrito) → "se indica/especifica/detalla" (≈66). "se cuenta" → "se explica/se tiene en cuenta/se detalla" (≈29). "se vive" (calcque é-vivido) → "no hay/no se produce/se percibe/surge" (≈32). "hace de" passivo → "funciona con/se elige" (3). "empujado a mano/movido a mano" → "empuje manual/accionamiento manual" (≈30). "a color X" possessivo → "en color X/de un solo color" (13). "al pedido" → "en el pedido" (12). "a media posición" → "en posición intermedia" (≈35). "desde lo alto" → "desde arriba" (7). "precoz" → "temprana/primera" (12), género "sol temprana" → "sol temprano". Resíduos "interno" → "interior". "lamella" → "lama" (3). "buhardilla de cama/zona de cama" → "dormitorio" (2). "juega un papel" → "desempeña un papel", "juega en su asiento" → "se mueve en su asiento", "juega y hace colgar" → "coge holgura". "no come nada" → "no resta nada". "nace riesgo/problema/desafinación" → "surge/proviene" (5). "tira + objecto" → "tira de/tensa" (≈14). "cae en la línea/frente/apertura" (cai em) → "queda en/frente a" (≈8). "sigue su propia imagen" → "ve su propia imagen". "baja a una palabra" → "se reduce a". "espera" inanimado → "permanece" (3). "vivible" → "habitable" (6). Legítimos preservados: "se lee como" (117), "siente" humano, "espera" sala/zona de espera, "cae" queda de tecido, "queda/entra/sube/baja/sigue/dura" usos naturais, "a manos llenas", "la mano".

  • Correcçãodegradação crítica: reexige→requiere (17); cópias de verbos: trabaja→funciona (≈410), trabajan→funcionan (≈90), pide→requiere (≈20), porta→lleva/conlleva (≈55)
  • Correcçãocalcques passivos: se escribe→se indica (≈66), se cuenta→se explica/tiene en cuenta (≈29), se siente→se nota (13), se vive→se percibe/no hay (≈32), se pide→se solicita (17)
  • Correcçãopadrão/nome: empujado a mano→manual (≈30), a media posición→posición intermedia (≈35), a color X→en color X (13), al pedido→en el pedido (12), precoz→temprana (12), lamella→lama, nace→surge/proviene, tira objecto→tira de/tensa (≈14)
v1.52.22

Correcção — ronda de calcques de nomes/conjunções ES 2: concordância condición, a pared/a prevalencia, es condición

Ronda de verificação profunda pós-lançamento 16: "se pone" (2) → "se nivela/queda protegido". Quebra de género "la requisito" → "el requisito" + "satisface"→"cumple" (9). Plural "lenguas" → "lenguajes" (2). Calcque possessivo "habitación a X" → "con X" (10: a pared/a suelo/a paleta/a ventanas/a luz). "a prevalencia X" → "con predominio de X" (8). "a techo alto" → "de techo alto" (5). "liga/ligar a tierra" → "ancla/anclar" (3); "familia/paleta tierra" → "familia/paleta de tonos tierra". Calcque de condição "es condición" → "es obligatorio/imprescindible/determinante" (15). Erro de concordância plural "la condiciones" → "las condiciones" (12+). Fila restante "condición de X" → "requisito/estado/riesgo/exigencia" consoante o contexto (≈40). "cubre condiciones" → "abarca situaciones", "llevan condiciones" → "tienen condiciones" (8). "observando" → "según/teniendo en cuenta" (19). Usos com sentido "cuatro estaciones" → "todo el año" (9); estação de linha de produção e "jardín de invierno" preservados como legítimos. "neteza" → "nitidez" (6), visual "neto" → "nítido/marcado". "nace el riesgo" → "surge el riesgo" (7), "lleva la carga" → "soporta la carga" (5), "irrenunciable" → "imprescindible" (3), "caraterial" → "con caráter" (4), "sofoca" → "resulta agobiante" (4), "área sentada" → "zona de estar" (3), "a fin de cama" → "a los pies de la cama" (5), "en medida X" restante → equivalentes naturais (6). Objectos de fuga "se toma/n" → "se instala/elige/determina/extrae/miden" (11). Temporal "De invierno" → "En invierno" (2). Retoque ortográfico "marinee".

  • Correcçãofila condición: es condición→obligatorio/imprescindible (15), la condiciones→las condiciones (12), condición de X→requisito/estado/riesgo (≈40)
  • Correcçãocalcques possessivos: habitación a X→con X (10), a prevalencia→predominio (8), a techo alto→de techo alto (5), a tierra/familia tierra→ancla/tonos tierra
  • Correcçãoobservação/calcque: observando→según/teniendo en cuenta (19), cuatro estaciones→todo el año (9), neteza→nitidez (6), nace el riesgo→surge (7), lleva la carga→soporta (5), fuga se toma→se instala/elige (11)
v1.52.21

Correcção — ronda de calcques de nomes/selecção ES: quiere, lengua, dirección, condición, luz diurna

Ronda de verificação profunda pós-lançamento 15: "quiere" com sujeito inanimado (calcque ister, 136 contextos) → "exige"; com sujeito animado ("el perro que quiere salir") preservado/revertido. "lengua" de linguagem de design (72) → "lenguaje" + concordância de género (la misma lenguaje→el mismo lenguaje); sentidos de língua natural (propia lengua, lengua turca) preservados. "dirección de la ventana/fachada" → "orientación" (31). Sentidos de ambiente/requisito "condición de X" → "condiciones de X" / "requisito/estado/nivel/criterio" (94). Singular "el padre" → "los padres". "en medida igual/importante/perceptible" → "en igual medida/en gran medida/de forma perceptible". "luz diurna" → "luz natural" (103 — uso de Espanha). Particípios passados "instaurado/instaurada" → "creado/formado/instalada". Retoques de classificação errada: "la gravedad exige tirarlo"→"tira de él", "El tejido exige dejar"→"tiende a dejar", "habitación de noche"→"el dormitorio".

  • Correcçãoquiere→exige (136, sujeito inanimado), lengua→lenguaje (72), dirección→orientación (31), condición→condiciones/requisito/nivel/criterio (94), luz diurna→luz natural (103)
  • CorrecçãoRetoques de género/concordância: el mismo lenguaje, particípios instaurad→creado/formado, 4 exige errados revertidos
v1.52.20

Correcção — ronda de calcques de verbos ES 2: se produce/quita/sale/busca/hace

Ronda de verificação profunda pós-lançamento 14: cinco padrões classificados com amostragem. Sentidos de produção "se produce" (≈80 contextos) → "se fabrica(n)"; sentidos de fenómeno (condensación, 404, citações changelog) preservados. "se quita" → objectos de limpeza (polvo/grasa/residuos/acumulación/película/mancha/silicona) "se elimina", ferragem "se retira/sacar" (gancho, guía). "se sale de sus clips" → "se desengancha". "se busca que" → "se procura que". Calcques "se hace": "se hace el estor/modelo"→"se elige", "se hace acabar"→"se hace coincidir", "se hace tenue"→"queda tenue", "se hace más pesado"→"resulta más pesado", "se hace correr"→"se desliza", "control se hace"→"se realiza". As amostras "se ve" e "se corta" saíram limpas — espanhol natural.

  • Correcçãose produce→se fabrica (≈80 contextos de produção), se quita→se elimina/retira (14), calcques de selecção se hace→se elige/coincidir/queda/resulta/desliza/realiza
  • InfraestruturaVerificação: amostras se ve (106) e se corta (158) naturais; "produce el problema"→"planta el problema"
v1.52.19

Correcção — ronda de calcques de verbos ES: se mira, se tiene, se lleva, instaura

Ronda de verificação profunda pós-lançamento 13: quatro padrões de calcques de verbos analisados e naturalizados. "se mira" (calcque é-visto, 79 contextos) → se considera/evalúa/comprueba/recurre a/valora — consoante o contexto. "se tiene" (calcque é-mantido): expressões "se tiene en cuenta/presente" preservadas, sentidos de fixação (a mano, a la altura, a tensión, recogida, lejanos, en el intervalo) → "se mantiene(n)" (21). "se lleva" (calcque é-transportado, 72 contextos) → se monta/aloja/coloca/desplaza/tensa/copia/gestiona/transmite/anota/ajusta/gira/adelanta/lleva a cabo — consoante o contexto; expressões "se lleva a la tintorería/a cabo/adelante" preservadas. "instaura" (calcque estabelecer, 193) → "crea/establece" — verbo natural para qualidades abtractas no uso de Espanha. Retoques de concordância: "unidades se coloca"→"se colocan", "gestión se gestiona"→"garantía se gestiona".

  • Correcçãose mira→se considera/evalúa/comprueba (79), se tiene→se mantiene (21), se lleva→se monta/desplaza/aloja etc. (72), instaura→crea (verbo natural em 193 contextos)
  • InfraestruturaExpressões preservadas: se tiene en cuenta/presente, se lleva a la tintorería/a cabo/adelante, tomar medidas/decisión/como base
v1.52.18

Correcção — análise do calcque ES "se toma": verbos de medida/selecção separados

Ronda de verificação profunda pós-lançamento 12: o calcque do verbo TR "alınır" "se toma(n)" foi analisado e classificado em ≈346 contextos. Objectos de medida → "se mide/se miden" (111), objectos de selecção (tejido/motor/montaje/versión/serie/lama/unidad etc.) → "se elige/se eligen" (97), objectos numéricos → "se determina" (14), objectos de limpeza (polvo/acumulado/pelos/trazas/bocas de celdas) → "se retira/se eliminan/se limpian" (5). Legítimos restantes: expressões "tomar medidas/decisión/nota/como base" (≈45). Correcções contextuais: "se toma la aprobación"→"se obtiene", "se toma sobre el terreno"→"se realiza", "luz diurna se toma arriba"→"entra por arriba", "hora del sol se toma separadamente"→"se evalúa por separado", "reseñas se toma del Perfil"→"se obtiene".

  • CorrecçãoCalcque ES "se toma": 227 contextos separados em medida→se mide, selecção→se elige, número→se determina, limpeza→se retira
  • InfraestruturaVerificação: expressões "tomar medidas/decisión/como base" preservadas; restantes ≈45 usos legítimos verificados
v1.52.17

Correcção — ronda de naturalidade de conteúdo de produto ES 2: calcque passivo "se da" + erro de sentido "cerradura"

Ronda de verificação profunda pós-lançamento 11: todos os contextos do calcque passivo "se da/se dan" foram analisados — em 29 ficheiros incluindo product-pages e páginas estáticas, 130+ descobertas reais foram trazidas para espanhol de Espanha natural ("se ofrece/se ofrecen", "se consigue", "se otorga", "se hace" consoante o contexto). Padrões de decisão "La decisión se da…"→"La elección se decide según…" (17), técnico "se da en unos 16 mm"→"es de unos 16 mm", "se da a este cajón"→"recae sobre este cajón", "se dan en el mismo cuerpo"→"se ofrecen" (4), "se da prioridad/aprobación" preservado como expressão legítima. Erros de sentido: "cerradura" (fechadura) em contextos de fecho "cerrarla/cierre/inclinación" (5), "reservado"→"privacidad", "sala media"→"sala multimedia", "sala reuniones"→"sala de reuniones" (2), "hace fugir"→"deja escapar", "a tendencia greige"→"de tendencia greige" (2), "se lee desde el exterior"→"no se percibe" (2), "se da al lavado a seco"→"se lleva a la tintorería".

  • CorrecçãoEm toda a camada ES 29 ficheiros + product-pages: 130+ contextos do calcque passivo "se da" traduzidos para estruturas naturais — frases de decisão, medida técnica, montagem e privacidade
  • CorrecçãoCorrecções de sentido: "cerradura"→"cierre" (5), "reservado"→"privacidad", "sala media"→"sala multimedia", "se lee"→"se percibe" e retoques de estilo adicionais
v1.52.16

Correcção — ronda de naturalidade de conteúdo de produto ES: padrões de calcques + erro ortográfico na fonte TR

Ronda de verificação profunda pós-lançamento 10: a verificação de fidelidade por amostragem de frases na camada ES do product-pages.ts revelou padrões sistemáticos de calcques; ≈100 correcções aplicadas. Padrões: “a tornillo/a junquillo”→“con tornillos/con junquillo” (86), “se enlaza”→se fija/conecta/empareja (12), “aparatos de enganche”→“soportes de fijación” (12), “aparato de fijación”→“pieza de fijación” (4), “enganches”→“soportes” (17), ferragem “aparatos”→“herrajes” (11), “tiene(n) el tejido”→“sujeta(n) el tejido” (16), “habitación de los niños”→“habitación infantil” (33), “casa inteligente”→“domótica” (8), drenagem de água “descarga”→“evacuación” (5), “se para”→“se detiene/detendrá”, “Da confort”→“Aporta confort”, “se escribe al pedido”→“se indica en el pedido”, “anillo pendiente”→“lazo colgante”, “de lo alto/de lo bajo”→“arriba/abajo”. Descoberta crítica: o erro ortográfico na fonte TR “kural” devia ser “kumanda” (2 linhas) — tinha sido transferido para ES como “regla”, ambas as camadas corrigidas. Além disso, “El sistema caja…” preposição em falta, “regulaciones de fin de carrera”→“finales de carrera”, “amigo de los niños”→“seguro para los niños”, erro de género “el pieza”→“la pieza” resolvidos.

  • CorrecçãoES product-pages: ≈100 correcções de calcque/naturalidade — termos de ligação, ferragem, domótica, drenagem, segurança e montagem trazidos para o uso de Espanha
  • CorrecçãoErro ortográfico na fonte TR: “kural”→“kumanda” (2 linhas) — ES “regla”→“mando” corrigido em conjunto
  • InfraestruturaVerificação: product-names 184 registos completos, 24 ficheiros de dados paridade posicional 0 diferenças, blog 39/39 linhas fiéis
v1.52.15

Correcção — ronda de fidelidade de sentido ES: erro de língua mista e naturalidade em 10 ficheiros

Ronda de verificação profunda pós-lançamento 7: a verificação de naturalidade do espanhol de Espanha (análise de marcadores latino-americanos + fidelidade de frases TR↔ES) revelou 12 descobertas reais e todas foram fechadas. Padrão crítico: restos de conjunção/artigo inglês em frases com ligações internas — em condiciones-de-uso e embalaje “mosquitera</a> and <a>estor” (passou a “sistemas de mosquiteras y cortinas”), o mesmo padrão em contracto-de-suministro, “The <a>formulario” em contracto-de-distribuidor (“El <a>formulario”), “The {SITE.name} sitio web” em declaracion-de-accesibilidad (“El sitio web de {SITE.name}”), em envio-de-muestras dois restos “or” + a oração totalmente inglesa restante “is chosen together” + erro de género “desde la material”, restos “and”/“or” em condiciones-de-pedido/envio-y-entrega/condiciones-de-instalacion/mosquitera-enrollable. Naturalidade: “protección de territorio registrada” → “territorio registrado” (concordância de género, 3 locais), “Comisión pagada por trabajo” → “Se paga comisión por cada trabajo”. Análise LATAM limpa: as 163 correspondências “celular” são todas o termo correcto de Espanha “estor celular/tejido celular” (tecido alveolar). O restante texto da camada ES foi verificado como espanhol peninsular profissional.

  • CorrecçãoRestos de conjunção/artigo inglês em 8 ficheiros: and→y, or→o, The→El — padrão de frase com ligação reconstruído
  • Correcçãoenvio-de-muestras: oração inglesa restante "is chosen together" + erro de género "desde la material" traduzidos
  • CorrecçãoGénero/naturalidade: "territorio registrada" → "territorio registrado" (3 locais), "Comisión pagada" → "Se paga comisión por cada trabajo"
  • InfraestruturaVerificação: análise de marcadores LATAM 625 páginas limpa — "estor celular" é o termo correcto de Espanha para estore alveolar
v1.52.14

Correcção — secção de blog da página inicial ES + paridade estrutural da fonte TR↔ES

Ronda de verificação profunda pós-lançamento 6: a verificação de paridade estrutural da fonte TR↔ES (445 pares de páginas estáticas via slug-map, contagens Section/h2–h4/li/tr/details/table/img/SubNav/FaqItem) encontrou uma única diferença — a secção de blog "Rehber ve Teknik Yazılar" estava em falta na página inicial ES (a mesma lacuna encontrada e fechada na camada IT). A secção foi adicionada no padrão IT: getCollection('blogEs') → sem rascunhos, primeiros 3 artigos ordenados por data, ArticleCard + BLOG_CATEGORIES_ES + ligação /es/blog/. Nova análise: 445/445 pares 0 diferenças. Além disso, os metadados SEO/técnicos ES foram verificados (html lang=es, og:locale=es_ES, inLanguage=es-ES, canonical self-ES, hreflang 8 registos completos) e a paridade de folhas FAMILY_SPECS_ES foi executada: 8 famílias, 86 folhas, diferença de linha/chave 0, suspeita EN 0 (6 folhas idênticas ao TR apenas valores de unidade: mm, g/m², Beaufort).

  • CorrecçãoPágina inicial ES: secção de blog em falta "Guías y artículos técnicos" adicionada — colecção blogEs no padrão IT
  • InfraestruturaParidade estrutural da fonte TR↔ES: 445/445 pares 0 diferenças — rotas dinâmicas garantidas ao nível do componente
  • InfraestruturaVerificação de metadados ES: lang=es, og:locale=es_ES, inLanguage=es-ES, hreflang completo — FAMILY_SPECS_ES 86 folhas em paridade
v1.52.13

Correcção — camada spec JSON-LD ES: etiquetas locais + resolução de família

As duas descobertas da ronda de verificação profunda pós-lançamento 5 foram fechadas: (1) o ramo /es/ estava em falta na cadeia locale do productSchema no schema.ts — as etiquetas additionalProperty do JSON-LD nas páginas de produto espanholas eram impressas a partir do FAMILY_SPECS turco ("Rüzgâr dayanımı" etc.). /es/ → FAMILY_SPECS_ES ligado; as etiquetas são agora espanholas como "Resistencia al viento" (8/8 famílias, paridade de linhas exacta com TR). (2) A resolução de família specFamily olhava apenas para palavras-chave turcas no texto do slug — em páginas com slug localizado sem palavra TR (ES estor-celular-*, DE holzjalousie-*, IT tende-a-nido-d-ape-*) o additionalProperty nem sequer era produzido: enquanto EN/TR tinham SPEC, em 9 variantes honeycomb ES/DE/IT não havia. Foi adicionado mapeamento inverso caminho localizado → caminho TR canónico (REVERSE_SLUG) via slug-map; quando a resolução directa falha, a família é encontrada a partir da rota TR. Resultado: cobertura spec exacta com TR em todos os idiomas — 9 lacunas ES fechadas, DE/IT também melhorados pela mesma causa raiz. A análise de nós de texto TR↔ES no dist também foi executada: em 623 pares, nós idênticos ao TR 1311 — todos verificados como legítimos (nomes de idiomas, nomes próprios, nomes de distritos, nome de produto "Solar").

  • CorrecçãoproductSchema: /es/ → FAMILY_SPECS_ES ligado — etiquetas spec do JSON-LD agora em espanhol
  • CorrecçãospecFamily: mapeamento inverso caminho localizado → caminho TR — cobertura spec em falta em 9 variantes honeycomb fechada (incl. DE/IT)
  • InfraestruturaVerificação: análise de nós de texto em 623 pares dist TR↔ES — única descoberta restante são nomes próprios/nomes de idiomas legítimos
v1.52.12

Correcção — ronda de verificação profunda ES 4: camada de dados + paridade de saída dist

As duas últimas superfícies não verificadas da camada ES foram analisadas: (1) Camada de dados — os 27 ficheiros em src/i18n/es/ foram comparados com TR/EN por análise de folhas por export; strings idênticas a EN 0, as 51 descobertas idênticas a TR foram todas legítimas (ids de slug canónicos, ids de âncoras — EN segue a mesma convenção — e citações exactas dentro do changelog). CHANGELOG_ES 300/300 em paridade TR (EN 267). ui.ts 264/264 chaves completas. (2) Paridade de saída dist EN↔ES — 623/623 pares existentes, 0 páginas em falta; incluindo páginas de produto/aplicação do [slug].astro dinâmico. A análise posicional de nós de texto apanhou e fechou 3 resíduos reais: linha WhatsApp do productos ("is one message away" → "está a un mensaje de distancia"), frase de animais de estimação em mosquitera-abatible e mosquitera-corredera ("in homes with pets" → "en hogares con mascotas"). A análise inversa independente (625 páginas, nós com peso de palavras-função inglesas) deu 0 descobertas.

  • InfraestruturaVerificação: análise de folhas src/i18n/es 27/27 ficheiros — idêntico a EN 0, ui.ts 264/264, changelog 300=TR 300
  • InfraestruturaVerificação: pares dist EN↔ES 623/623 existentes — a suspeita anterior de 178 "MISSING en" era assunção de rota dinâmica, fechada
  • Correcçãoproductos/mosquitera-abatible/mosquitera-corredera: 3 fragmentos ingleses traduzidos fielmente à fonte TR
v1.52.11

Correcção — verificação profunda ES: paridade estrutural + comparação de nós de texto

Duas novas camadas de verificação foram executadas na camada espanhola: (1) paridade estrutural em pares de páginas estáticas EN↔ES — em 445/445 pares, contagens de elementos h1–h4/li/tr/p/details/table/faq/img exactas, 0 diferenças de estrutura; (2) comparação de nós de texto EN↔ES — análise posicional exacta em 442 pares, o único resíduo real restante era a frase de gama de produtos do quienes-somos ("fixed insect screens … is carried out across a broad product range") e foi traduzida fielmente à fonte TR: "Desde la mosquitera fija hasta los sistemas plisados, desde la persiana veneciana hasta el estor zip, se realiza fabricación a medida en una amplia gama de productos." Fragmento turco/inglês visível na saída dist/es 0 (apenas slugs TR de hreflang e citações exactas do changelog). Paridade de blog 1/1. Como as páginas dinâmicas de produto são renderizadas via [slug].astro + product-pages.ts com componentes partilhados, a paridade estrutural está garantida ao nível do componente.

  • InfraestruturaVerificação: paridade estrutural 100% em 445 pares estáticos EN↔ES — 0 diferenças de elementos
  • Correcçãoquienes-somos: frase de gama de produtos em língua mista traduzida fielmente para espanhol a partir da fonte TR
  • InfraestruturaAnálise de língua visível dist/es: turco 0, inglês 0 (exceto hreflang + citações exactas)
v1.52.10

Correcção — análise profunda de resíduos de texto ES (ronda de verificação pós-lançamento)

Análise profunda de resíduos ingleses em todas as páginas /es/ (nós de texto JSX, campos de dados, blocos noscript): parágrafos de definição de famílias (mosquiteras meshed barrier, estores-duet double-cell fabric, estores-zip zip-locked system, persianas-venecianas slat/lamel, estores-plisados accordion fabric, estores-celulares honeycomb cells, mosquiteras-plisadas accordion mesh + fragmento "vertical model"/"right pick"), parágrafo de montagem com parafusos mosquitera-fija, frase de ligação mosquitera-plisada-corredera, texto noscript whatsapp, frase de marca de revendedor soporte-gratuito-sitio-web, parágrafo de foto-ata + operações de importação envio-y-entrega, frase SMS/custo seguimiento-de-envio, frase "single screen" seguimiento-de-pedidos, frase de transparência "same figure" gestion-de-cuenta, bloco de definição oficial llm-info, item de cookie analítico politica-de-cookies, parágrafo opt-out consentimiento-comunicaciones, frase de três vias condiciones-de-instalacion, item de importador contracto-de-distribucion, parágrafo de especificação contracto-de-suministro, "wind-secure alternative" persiana-veneciana-de-exterior, 6 funções de canais redes-sociales, 4 funções de cores kit-de-medios, 4 âmbitos de cobertura garantia — todos traduzidos fielmente para espanhol de Espanha a partir da fonte TR. Além disso, foram corrigidos 4 erros TS causados pela tradução de literais na posição de código do gerador (Container size "estrecho"→"narrow", Badge variant "acento/primario/contorno"→"accent/primary/outline", 2 literais retirados do wrapper t()). Verificação: pnpm check 0 erros, build completo 4375 páginas, uniqueness-proof 8/8 PASS (máx. 0.442), pairs-coverage 9563751/9563751, inventory-verify PASS broken_internal_links 0.

  • ConteúdoAnálise profunda ES: nós de texto/campos de dados ingleses restantes em 19+ ficheiros traduzidos fielmente para espanhol a partir da fonte TR
  • CorrecçãoTraduções de literais de código originadas pelo gerador revertidas: tokens narrow/accent/primary/outline + wrapper t()
  • InfraestruturaVerificação: tsc 0 erros, build 4375 páginas, 8/8 uniqueness PASS, broken_internal_links 0
v1.52.9

Novo — camada de componentes ES + correcções de ligações internas (componentes partilhados)

Foram adicionados ramos es a 7 componentes partilhados sem ramo ES na camada espanhola — anteriormente estes componentes caíam para texto turco nas páginas ES: CategoryPage (isEs + imports FAMILY_SPECS_ES/SARTNAMELER_ES + breadcrumb Inicio + Datos técnicos + parágrafo şartname + títulos de esquema/secção), ProductDetail (productNameEs + arrays ES ctaVerbs/specPhrases/stockPhrases + whoTitle/faqTitle/siblingNote), ApplicationAreaPage (UYGULAMA_CARDS_ES + mapeamento de nome curto ES_URUN + frases de índice/categoria + rota hub ambitos-de-aplicacion), SearchPalette (colecção blogEs + BLOG_CATEGORY_SLUGS_ES), LegalPage (octubre 2026 + Última actualización + Inicio + aviso legal), ContactForm (Turquía), PlatformMockup (etiquetas de painel + dados mock de encomenda/estação), ProductWizard (guia de medida/montagem JSX). Ao slug-map.ts foi adicionado o mapeamento /sineklik-olcusu-nasil-alinir/ → /como-tomar-las-medidas-de-una-mosquitera/; 434 links de rotas TR restantes em 14 ficheiros i18n ES foram convertidos para rotas espanholas. Verificação: build completo 4374 páginas, uniqueness-proof 8/8 PASS (máx. 0.442), pairs-coverage 9563751/9563751, inventory-verify PASS broken_internal_links 0, schema-urls 16648 esquemas raiz consistentes, tsc 0 erros.

  • ConteúdoCamada de componentes ES: ramo es em 7 componentes partilhados — categoria/produto/aplicação/pesquisa/legal/formulário/plataforma/wizard
  • CorrecçãoLigação interna ES: 434 rotas TR → rotas espanholas + mapeamento de slug sineklik-olcusu + correcção do hub uygulama-alanlari
  • InfraestruturaVerificação: build 4374 páginas, 8/8 uniqueness PASS, broken_internal_links 0
v1.52.8

Correcção — análise profunda de resíduos de texto IT (ronda de verificação pós-lançamento 3)

Análise profunda de resíduos ingleses em todas as páginas /it/ (nós de texto JSX, modelos html:, campos de dados): parágrafos de definição (tende-zip zip screen, tende-a-nido-d-ape honeycomb, zanzariere meshed barrier, zanzariere-plissettate accordion mesh, tende meccanica, veneziane slat/lamel), 6 blocos html FAQ do index.html, dealer-html do prodotti + frase de fecho WhatsApp, o padrão de link irmão "is described on a separate page" em 17 páginas de detalhe duet/honeycomb + 6 textos de ligação ingleses, frase de montagem condizioni, frase de transparência gestione-conto, parágrafo verbale-foto + import-procedures spedizione-e-consegna, passo de medida zanzariera-fissa, link quality-control + "is seen on a single screen" tracciamento-ordini, frase de ligação zanzariera-plissettata-scorrevole, fragmento "right pick" zanzariere-plissettate, "wind-secure alternative" veneziana-da-esterno, fragmento de continuação tende-a-nido-d-ape, frase de dealer supporto-gratuito-sito-web, texto noscript whatsapp, 6 valores de serviço supporto-gratuito-seo-locale-geo, função Facebook social-media, h3 "Inside the Box" imballaggio + ligações "Insect screen"/"part of quality control" — todos traduzidos fielmente para italiano de Itália a partir da fonte TR.

  • ConteúdoAnálise profunda IT: nós de texto/textos de ligação/campos de dados ingleses restantes em 20+ ficheiros removidos
  • Conteúdoindex.astro: 6 blocos html: FAQ traduzidos exactamente do turco para italiano
  • Conteúdo17 páginas de detalhe: padrão "is described on a separate page" → "è descritta in una pagina separata" + nomes de ligação EN
v1.52.7

Correcção — resíduos de página/esquema IT (ronda de verificação pós-lançamento 2)

Análise de paridade estrutural em 624 pares de páginas TR↔IT (contagem h1–h3/li/a/button/tabela): 623/624 exactos, a única diferença era a secção de blog em falta na página inicial IT — foi adicionada a secção "Guide e articoli tecnici" alimentada por blogIt em /it/index (padrão do gémeo PL). Correcções de resíduos: estatísticas do index Since/One Plant/8 Distinct/2–4 Days/48 hours/2 Years → italiano; Warranty & Support → Garanzia e assistenza. O item EN na lista accordo-di-riservatezza (new product and series plans) e "3 years" → italiano. title/desc/h1 "Sitemap" do mappa-del-sito → Mappa del sito + "pages" → pagine. meta + JSON-LD "Production partner for Türkiye orders" do nostre-referenze → Partner produttivo per gli ordini Turchia. Foi adicionado à cadeia locale do productSchema no schema.ts o ramo /it/ → FAMILY_SPECS_IT — as etiquetas additionalProperty turcas nas páginas de produto (Kılavuz, Rüzgâr dayanımı etc.) fechadas. O configuratore-di-prodotto foi ligado do conjunto de dados EN (GENEL_QUESTIONS_EN/FAMILY_PRODUCTS_EN) ao espelho IT (src/i18n/it/wizard.ts).

  • Conteúdoindex IT: secção de blog em falta adicionada (paridade h2/h3/link exacta com TR)
  • ConteúdoLimpeza de resíduos IT: estatísticas do index + unidades garanzia + riservatezza + mappa-del-sito + referenze
  • Infraestruturaschema.ts: /it/ → FAMILY_SPECS_IT — additionalProperty de produto agora em italiano
  • Infraestruturaconfiguratore-di-prodotto: dados wizard EN → GENEL_QUESTIONS_IT/FAMILY_PRODUCTS_IT
v1.52.6

Correcção — resíduo de tradução incompleta no acordo de confidencialidade IT

Os resíduos ingleses na frase incompleta da página italiana /it/accordo-di-riservatezza/ (during / supply / distributorship) foram completados com italiano natural: durante le trattative e la collaborazione di programma rivenditori, fornitura o distribuzione. Detectado na ronda de verificação TR↔IT pós-lançamento.

  • ConteúdoIT accordo-di-riservatezza: resíduos ingleses removidos, frase completada fiel à fonte TR
v1.52.5

Infraestrutura — camada de idioma IT F6 (PWA/offline/feed/coverage + blog)

A fase F6 da camada de idioma italiano foi concluída (idioma ainda desligado — saída renderizada inalterada): public/data/countries.it.json escrito com 250 registos de países na convenção CLDR-it; ramo OFFLINE_URL_IT do sw.js + cache v6; public/it/manifest.webmanifest e src/pages/it/404.astro adicionados; robots.txt recebeu a linha it-sitemap (sitemap-it.xml entra em produção via enabledLangs em F7). Os endpoints de feed IT src/pages/it/rss.xml.js e opensearch.xml.ts foram escritos; it adicionado aos conjuntos FEED_LANGS + MANIFEST_LANGS do BaseLayout. generate-llms.mjs / check-llms.mjs actualizados com etiquetas de fonte IT (Fonte/Immagine) e contagens de linhas pl+it. PAGE_COVERAGE.it 446 registos (verificado por mapeamento inverso) + CHROME_COVERAGE.it (ui/nav/mail) definido. Blog: src/content/blog-it/come-misurare-una-zanzariera.md (category=guida) + componentes BlogArticleIt/BlogCategoryIt + gerador de rota dinâmica src/pages/it/[slug].astro (ordem de prioridade produto/montagem/artigo/categoria igual ao gémeo PL). Verificação: check-i18n PASS (446/446 mapeamentos).

  • InfraestruturaIT F6: countries.it.json 250 + sw.js OFFLINE_URL_IT + manifest + 404 + rss/opensearch + etiquetas llms
  • InfraestruturaPAGE_COVERAGE.it 446 registos + CHROME_COVERAGE.it — check-i18n PASS
  • NovidadeBlog IT: Come Misurare una Zanzariera + gerador dinâmico it/[slug].astro
  • ActualizaçãolanguageMeta.it enabled: true — camada italiana pronta para publicação (porta de build F7)
v1.52.4

Infraestrutura — camada de idioma IT F4b+F5 (ramos de componentes + modelos de e-mail)

As fases F4b+F5 da camada de idioma italiano foram concluídas (idioma ainda desligado — saída renderizada inalterada): ramo it adicionado a 13 componentes partilhados — ContactForm (nome de país Turchia), DealerForm (áreas de actividade + experiência + subject_line "Richiesta di rivendita"), JobForm (listas de posição/experiência + subject "Candidatura di lavoro"), SearchPalette (colecção blogIt), Footer (subject newsletter), LegalPage (ottobre 2026 + Ultimo aggiornamento + aviso legal), ProductDetail (productNameIt + títulos de categoria/CTA/técnicos), CategoryPage (FAMILY_SPECS_IT + SARTNAMELER_IT + breadcrumb + nomes de esquema), ApplicationAreaPage (UYGULAMA_CARDS_IT + mapeamento de nome curto IT_URUN + frases de índice/categoria), FamilyPricePage (FAMILY_COPY_IT/CALC_IT + breadcrumb + inLanguage it-IT), PriceCalculator (etiquetas + jsStrings + formato de número it-IT), ProductWizard (guia de medida/montagem JSX), PlatformMockup (etiquetas de painel + dados mock de estações de encomenda). Os slugs do src/i18n/it/uygulama-alanlari.ts foram trazidos para as rotas canónicas IT (8 registos — correspondência .find() da página corrigida). Ao send.php foram adicionados a flag $isIt, o mapeamento subject_line IT (Modulo di preventivo/Richiesta di rivendita/Candidatura di lavoro/Candidatura installatore) e 5 modelos de confirmação IT (geral/orçamento/revendedor/instalador/carreira — tratamento formal Lei, ligações de rota /it/); deploy/send.php espelhado. Verificação: php -l PASS, render de pré-visualização dos 5 modelos verificado IT, tsc --noEmit 0 erros.

  • InfraestruturaIT F4b: ramo it em 13 componentes partilhados — formulário/breadcrumb/esquema/dados mock
  • InfraestruturaIT F5: send.php $isIt + mapeamento de subjects + 5 modelos de confirmação (tratamento Lei)
  • Correcçãoslugs do uygulama-alanlari.ts corrigidos para as rotas canónicas IT (8 registos)
v1.52.3

Infraestrutura — camada de idioma IT F1+F2 (dicionário + mapa de slugs)

As fases F1+F2 da camada de idioma italiano foram concluídas (idioma ainda desligado — saída renderizada inalterada): o dicionário ui.it foi escrito com paridade TR 264/264 chaves — tratamento formal Lei, terminologia de italiano de Itália (zanzariera, tenda plissettata, veneziana, su misura, preventivo). NAV_LABELS.it 104/104 etiquetas adicionadas; ao utils.ts foram ligados itDate (nomes de meses gennaio–dicembre) e formatVersionDateIt (esqueleto it/changelog.ts). SLUG_MAP.it 624/624 mapeamentos — conjunto de chaves TR exacto via gerador scripts/_gen-it-slugs.mjs, 624 destinos únicos, 0 tokens desconhecidos; produzido com motor de regras de ordem de adjectivos italiano (giorno-notte/fissa → tecido-montagem → véu → cor → medida). ANCHOR_MAP.it 4 registos (candidatura/caratteristiche/flusso/processo). Verificação: tsc --noEmit 0 erros, check-i18n PASS, missing/extra 0 face ao conjunto de chaves EN.

  • InfraestruturaIT F1: ui.it 264 chaves + NAV_LABELS.it 104 + itDate + esqueleto changelog
  • InfraestruturaIT F2: SLUG_MAP.it 624 mapeamentos únicos + ANCHOR_MAP.it 4 registos — motor de regras de ordem de adjectivos italiano
v1.52.2

Correcção — ramos de idioma de componentes PL + limpeza de polaco no changelog

As fugas de turco detectadas na auditoria de saída renderizada foram fechadas (162 páginas PL afetadas): ramo isPl adicionado ao ProductDetail.astro — import productNamePl, ctaVerbs (Poproś o wycenę/Prześlij wymiary/Zapytaj o cenę/Złóż zapytanie o zamówienie/Zapytanie o wycenę), specPhrases 11 expressões polacas, stockPhrases 4 expressões polacas, whoTitle "Dla kogo jest X?", faqTitle "Pytania o X", ramo PL do ctaTitle, siblingNote frase polaca — os textos "Kimin İçin?", "Hakkında Sorular", "model listelenir", "İçin Ölçü ve Teklif", "üretim spesifikasyonları" visíveis nas páginas de produto são agora polacos. Ramo isPl adicionado ao CategoryPage.astro — imports FAMILY_SPECS_PL + SARTNAMELER_PL e ramos, breadcrumb "Strona główna", título "Dane techniczne", parágrafo spec em texto polaco (ligações strona dokumentów specyfikacji + sieć partnerów montażowych com localizeHref), nomes itemListSchema "Kategorie — X"/"Produkty — X", SectionHeader "Produkty — X" e "Pozostałe kategorie — X" — os textos "Ana Sayfa", "Teknik Veriler", "Ürünleri", şartname/montagem visíveis nas páginas de categoria são agora polacos. Ramo pl no JobForm.astro — posições (Produkcja, Kontrola jakości i wysyłka, Digital i operacje, Relacje z dealerami i klientami, Aplikacja ogólna), experiências (0–1 rok/1–3 lata/3–5 lat/5+ lat) e dicionário de formulário (subject Aplikacja o pracę, Życiorys (CV), Wyślij aplikację). Ramo pl no PlatformMockup.astro — etiquetas de painel (Panel dealera, Stacje produkcyjne, Wycena PDF) e dados de encomenda representativos em polaco. SearchPalette.astro — colecção blogPl + BLOG_CATEGORY_SLUGS_PL registado; a paleta de pesquisa PL agora indexa artigos de blog polacos e slugs de categoria. Limpeza de polaco no i18n/pl/changelog.ts — 67 registos do resíduo turco "birebir" substituídos por "jeden do jednego" (convenção EN "one-to-one" / NL "één-op-één"), correcção de placeholder {grupa}-dla-{produktu}.

  • CorrecçãoProductDetail + CategoryPage + JobForm + PlatformMockup + SearchPalette — ramos de idioma PL em falta adicionados; fuga TR em 162 páginas fechada
  • Correcçãoi18n/pl/changelog.ts — "birebir" 67 registos substituídos por "jeden do jednego"; correcção de placeholder {grupa}-dla-{produktu}
  • CorrecçãoSegunda vaga: 9 esquemas de montagem inLanguage pl-PL + 4 hubs de família productDefPl + ramos PL do ApplicationAreaPage (UYGULAMA_CARDS_PL, expressões índice/cat) + etiqueta raiz do site-map
v1.52.1

Correcção — feed RSS de histórico de versões PL (historia-wersji.xml)

A única lacuna detectada na auditoria de paridade de idiomas foi fechada: não existia o equivalente PL do endpoint RSS de histórico de versões presente nos idiomas EN/DE/NL — src/pages/pl/historia-wersji.xml.ts foi adicionado (padrão exacto do gémeo NL: feed CHANGELOG_PL + KIND_LABEL_PL, esquema de ligação /pl/historia-wersji/, <language>pl</language>, descrição de canal em polaco). O feed produz ligações /pl/historia-wersji/#vX.Y.Z. Verificação: tsc --noEmit 0 erros; paridade de endpoints exacta em 4 idiomas (opensearch + rss + RSS de versão).

  • Correcçãosrc/pages/pl/historia-wersji.xml.ts — endpoint RSS de histórico de versões PL em falta adicionado; paridade de endpoints completa em 4 idiomasHistoria wersji
v1.52.0

Lançamento PL — blogPl + Manifest/RSS/OpenSearch + Camada de Mail + Service Worker v5 + enabled: true

A camada de idioma polaco (Polónia) foi publicada — enabled: true, PAGE_COVERAGE.pl 624 slugs, chrome pl ui:✓ nav:✓ mail:✓. Camada de blog F5: src/content/blog-pl/jak-zmierzyc-moskitiere.md (tradução completa do TR sineklik-olcusu-nasil-alinir — polaco da Polónia: światło otworu, ościeżnica, miara zwijana), índice pl/blog.astro (navegação de categorias, itemListSchema, CTABlock) e página de categoria /pl/poradnik/; diferenciação de H1 "Poradniki i artykuły branżowe" (padrão DE — dup H1 /blog/+/pl/blog/ resolvido). Camada de publicação F6: public/pl/manifest.webmanifest (scope /pl/, descrição PL), src/pages/pl/rss.xml.js (feed blogPl), pl/opensearch.xml.ts (modelo /pl/szukaj/), pl adicionado ao FEED_LANGS+MANIFEST_LANGS do BaseLayout; linha /pl/sitemap.xml no robots.txt. Service worker v5: /pl/offline/ em precache, pedidos de navegação /pl/ caem para a página offline polaca. Camada de mail PL do send.php: $isPl + 5 modelos de confirmação de cliente polacos (ack/quote/dealer/montajci/career — forma Państwo, polaco da Polónia; ligações de rota PL nasze-produkty/wspolpraca-dealerska/monterzy/oferty-pracy) + mapeamentos de subject PL (Wniosek dealerski, Formularz wyceny, Aplikacja o pracę, Zgłoszenie montera, Ocena produktu, Subskrypcja newslettera) + dispatch elseif($isPl) (body/subject/preheader/html). Correcção bónus: Newsletter-Anmeldung adicionado ao isNewsletter e Produktbewertung ao isReview — incompatibilidade de subject dos fluxos de newsletter/avaliação DE fechada. Limpeza de subjects de formulário: PL subject+subjects do kontakt.astro, "Ocena produktu" do napisz-opinie, marcas "(PL)" do zapytanie removidas; subject de newsletter PL do Footer. Registo CHROME_COVERAGE.pl = ui:✓ nav:✓ mail:✓. Verificação: cadeia de build completa PASS — 3.125 páginas, check-i18n pl enabled 624/3124, broken_internal_links 0, uniqueness 8/8 (dup 0), inventory-verify PASS.

  • NovidadeCamada de idioma PL publicada — enabled: true, cobertura 624 slugs, /pl/blog/ + /pl/jak-zmierzyc-moskitiere/ + /pl/poradnik/Blog
  • NovidadeCamada de publicação PL: manifest.webmanifest + rss.xml + opensearch.xml + sw.js v5 /pl/offline/ + linha sitemap no robots.txt
  • Novidadesend.php $isPl + 5 modelos de confirmação PL + 6 mapeamentos de subject PL — public/api/send.php e deploy/send.php exactos
  • CorrecçãoisNewsletter Newsletter-Anmeldung + isReview Produktbewertung — incompatibilidade de subject de newsletter/avaliação DE fechada
v1.51.9

Fecho PL F4 — Página Inicial + Páginas Estáticas + Reparação de Integridade de Ligações e Uniqueness

A fase de páginas da camada polaca foi concluída: pl/index.astro (tradução completa da página inicial TR de 1816 linhas — heroSlidesPl, navLabel, plDate, ligações internas l(), FAQ/JSON-LD) e as restantes páginas grandes (nasze-produkty, plisy, família bayilik, firma, katalog, gwarancja, monterzy, obszary-obslugi e todas as páginas de família/variante/legal/formulário) adicionadas — PAGE_COVERAGE.pl 613 slugs. Reparação de integridade de ligações: os links de slug PL sem prefixo nos ficheiros de dados e páginas i18n/pl foram convertidos para o prefixo /pl/ (669+1088 registos), aspas de fecho perdidas na conversão em massa reparadas (828+465), links internos quebrados 143→0. Erros de sintaxe (string incompleta em deklaracja-dostepnosci, imports relativos errados no offline/404) e violação semântica de espaço (fecho inline de fim de linha em warunki-zamowien) corrigidos. Reparação de uniqueness: as etiquetas de navegação /pl/kontakt/ e /pl/katalog/ foram tornadas exactas com o H1 (Kontakt i wycena, Katalog produktów), a frase repetida do perde-uygulama reescrita, as páginas triangulares Duet/Honeycomb diferenciadas em texto/meta/FAQ/esquema — similaridade máx. 0.442, dup title/desc/h1/canonical 0. Os 12 destinos quebrados restantes resolvidos um a um: prefixo /pl/ duplo do productMounts revertido (o modelo imprime /pl${}), breadcrumb /korporacyjne/→/pl/firma/, ramo pl→obszary-zastosowan no ApplicationAreaPage, changelog /pl/blog/→/en/blog/, links zapytanie /pl/nasze-projekty/#proces (concordância ANCHOR_MAP.pl — id de secção surec→proces). Verificação: inventory-verify PASS (3121 rotas, broken 0, órfãs apenas 404/offline), tsc 0, uniqueness-proof 8/8 PASS.

  • Novidadepl/index.astro + restantes páginas estáticas grandes — F4 completo, PAGE_COVERAGE.pl 613 slugsStrona główna
  • CorrecçãoIntegridade de ligações PL: slugs sem prefixo com prefixo /pl/ (1.757 registos), reparação de aspas quebradas (1.293), reversão de /pl/pl/ duplo — broken_internal_links 143→0
  • CorrecçãoUniqueness PL: kontakt/katalog nav↔H1 exactos, diferenciação de duet/honeycomb triangulares, repetição perde-uygulama — 8/8 alegações PASS, grupo dup 0
  • CorrecçãoRamo pl do ApplicationAreaPage (ligação de cartão obszary-zastosowan) + breadcrumb /korporacyjne/→/pl/firma/ + concordância ANCHOR_MAP.pl #proces
v1.51.8

Continuação DE F4 — Análise de Anomalias de Extracção de Strings em 436 Ficheiros + Correcção em 12 Ficheiros

Décima quarta ronda de auditoria — todas as strings visíveis das restantes 436 páginas DE foram extraídas como dump numerado por linha; verificação de anomalias com scanner de classe palavra EN-only + calque (3.680 ocorrências brutas → 70 ocorrências precisas → todas analisadas em contexto). Correcções reais ≈30 registos, 12 ficheiros: Sample Approval→Musterfreigabe (private-label-fertigung), Compact Look→Kompakte Optik (jalousien), Can I become→Kann ich Händler werden (produkte), Delivery→Lieferung (warum-fenetre-systems), Dim-Out→Dimout (plissees + plissee-systeme), Zipper→Reißverschluss + gezippt→zipgeführt (zip-screens, zip-screen-systeme, zip-screen-montagearten), gehäustes Oberrollen→kassettengehäuste Oberaufwicklung, Delivered/Delivery Failed→Zugestellt/Zustellung fehlgeschlagen (versand-und-lieferungsverfolgung), Landkreis→Bezirk (servicegebiete — a terminologia de distrito de İstanbul/Kocaeli é Bezirk, não Landkreis), Akte→Vorgang, finalisiert→nimmt vor, Anlage→Werk, years/hours→Jahre/Stunden (garantie), werden gesehen→ersichtlich, Eins-zu-eins-Lieferung→identische Ausführung, garantiert→gedeckt, Lösung versandt→Lösungsversand, separates Verfahren→eigener Vorgang, Today→Heute + Panel→Portal (unsere-geschichte). Os restantes 21 ficheiros/27 ocorrências são de classe legítima: termos de produto Wind/Zip-Screen/Mono-Logo, chaves i18n, selectores CSS, srcset. Ledger persistente: docs/content-audit/data/de-page-read-ledger.json (registo flag_pass).

  • Correcçãoanálise de anomalias de strings em 436 ficheiros + correcções de etiqueta EN/Zipper/Dimout/Bezirk (≈30 registos, 12 ficheiros)
v1.51.7

Leitura Linha a Linha DE F4 — Páginas Grandes + Migração de Slug + Classes Leckage/Demontage

Décima terceira ronda de auditoria — as 10 maiores páginas de src/pages/de/ lidas linha a linha com os gémeos TR (ledger persistente: docs/content-audit/data/de-page-read-ledger.json). Correcções: index.astro 37 registos (etiquetas de cartão EN, naturalização Großhandelshändler, meta); haendlerpartnerschaft 24 registos (Gebietsschutz, Flachpack-Partner, Bewerbung, Kundenhoheit, Empfehlungspartner). A classe Demontage foi separada: sentidos de desmontagem preservados, sentidos demonte=flachpack normalizados como Bausatz/Flachpack em 14 ficheiros; o slug /de/fertig-und-demontageversand/ → /de/fertig-und-bausatzversand/ migrado (SLUG_MAP actualizado, nginx 301 adicionado). A classe Leckage ≈130 ocorrências em 16 ficheiros passou a Lichtleckage/Kantenlichtleckage/Randlichtleckage. Correcções de página: behaege, produkte, duette-plissees (Zwei-Enden→beidseitig, Selbstklebendes, Akte→Vorgang), insektenschutz-plissees (células EN Narrowest/Wide/Deep/Doors and Frequent Passage, verbo Plisseegedächtnis), plissees (direcção Einblick→Aussicht, faltet zusammen, Cordless Operation), behag-montagearten (Karnies→Stuckleiste), insektenschutz (células EN Durability/Weave/Weight/Strength/Default/Mobile/None, Allergenrückhalt, Drehflügel), zip-screens (Wind-Locked→Windverriegelt, Zipper→Reißverschluss, Kurbelmodell, Witterung, None→Keine). Limpeza geral: angewendet→angewandt 50x, Insektenschütze→Insektenschutz-Plissee, Gebeitsschutz→Gebietsschutz (incl. haendlervertrag).

  • CorrecçãoDE F4: 10 páginas grandes linha a linha + migração de slug Bausatz + Leckage→Lichtleckage (16 ficheiros) + etiquetas de células EN (≈200 correcções)
v1.51.6

Auditoria Profunda DE F4 — Classes wollenden/liest/evaluiert + Restos EN

Décima segunda ronda de auditoria — verificação de paridade estrutural de 448 ficheiros em src/pages/de/ (0 elementos em falta: contagens Section/h2/h3/li/details/tr/img/input/btn exactas com TR), paridade de factos numéricos em 624 páginas DE 0 desvios, verificação de 1.463 metas title/description 0 descobertas. Restos EN: aria-label + estrela + textos de selo do de/bewertungen estavam em inglês (rating on Google→auf Google, reviews→Bewertungen, Google Business Profile→Google-Unternehmensprofil, /5 stars→/5 Sterne), subject mailto do de/projektanfrage Bulk Project Request→Großprojekt-Anfrage. Classes de calque: im Feld/aus dem Feld no sentido de terreno→in der Praxis/aus der Montagepraxis/vor Ort (Feld no sentido de painel técnico preservado — Festfeld/Drehfeld válidos), classe de particípio inválido wollenden ≈95 registos (in einem Dunkelheit wollenden Raum→der Dunkelheit braucht, Für die X wollenden→Für alle die X möchten, suchenden→sucht/möchte), calque liest sich lê-se ≈170 registos→wirkt/wirkt wie, wird bemerkt→fällt auf/spürbar/sichtbar (≈20), evaluiert→geprüft/abgestimmt (≈38), gewollt→gewünscht (≈33), wird geschrieben→wird angegeben (≈38, calque escreve-se no passo de encomenda), kontaktiert→berührt/ausgesetzt, Küchendampfgrenze explicado, wird angewendet→angewandt, etiqueta SVG schraeg-plissee maiúscula, montaj-pages Standardszenario. Verificações: análise de palavras TR no dist 0 (exceto comentários Google verbatim), análise de palavras duplas der-der/dem-dem apenas estruturas legítimas de adjectivo-verbo alargado, análise de frases sem verbo limpa.

  • CorrecçãoClasses de calque wollenden/liest sich/evaluiert/gewollt (≈400 correcções) + restos EN de/bewertungen e de/projektanfrage
v1.51.5

Segunda Vaga de Calques DE + Quebra de JS do Horário de Funcionamento /de/kontakt

Décima primeira ronda de auditoria — camada de páginas F4: no script de horário de funcionamento de /de/kontakt, a opção inválida Intl.DateTimeFormat(weekday: kurz) lançava RangeError e derrubava todo o cartão de horas (alinhado com o padrão TR/EN: en-GB + weekday:short + array de índice inglês — os nomes de dias são usados apenas no cálculo do índice, não são impressos no ecrã). A mesma classe de erro silencioso foi encontrada no precedente NL (o locale nl-NL não corresponde ao array de índice inglês → day:-1; âmbito separado, registado). Segunda vaga de calques (≈60 correcções): werden gebraucht→werden benötigt (variante plural), wird erzählt→erläutert, wird gefühlt→zu spüren, wird erlebt→entsteht, wird bemerkt→fällt auf/wahrnehmbar, wird gefragt→erfragt, wird gewollt→gewünscht, wird angewendet→angewandt, classe existiert completamente resolvida (≈45: disponibilidade de produto→steht bereit/ist erhältlich/gibt es, existência física→vorhanden ist/vorliegt, ausência→entfällt, Vector→liegt vor, Canal→findet sich, Außenfläche→ist immer vorhanden, Padrão→entsteht/wirkt durch Licht). Verificação pessoal: análise de cadeia de palavras TR em 451 páginas DE 0 fugas (em strings visíveis); análise Intl/DateTime limpa em todos os componentes; reparação da frase Personalraumbewegung.

  • CorrecçãoCorrecção RangeError do cartão de horas /de/kontakt + segunda vaga de calques (≈60: werden gebraucht, wird erlebt/bemerkt/erzählt/gefühlt/gefragt/gewollt, existiert→bereit/vorhanden/entfällt)
v1.51.4

Ronda de Naturalidade DE — Limpeza de Padrões de Calque + 4 Mapas de Categoria

Décima ronda de auditoria — limpeza sistemática de padrões turco-alemães (calque): verbos de limpeza de direcção errada (≈18 registos, silinir→lässt sich abwischen), normalização Ertrag→Nutzen/Gewinn (≈47, padrão calque getiri — Ertrag significa rendimento de colheita/financeiro), resolução de contexto trennt sich (≈36: separação física→löst sich, diferenciação→unterscheidet sich, selecção→hängt ab/wird gewählt, vista→abgetrennt, clima→entkoppelt), naturalização Geräusch (≈12: lamela oscilante→klappert, mecanismo→verursacht Geräusche), retórica ehrlich (≈49: limite é honesto→wird ehrlich benannt), classificação wird-genommen (medida Maß nehmen preservada; selecção→gewählt, aprovação→eingeholt, posição→bestimmt, tolerância→einkalkuliert, luz→hereinlässt), wird gelesen→abgelesen, wird gehalten→zurückgehalten, wird gebraucht→benötigt (≈29 registo profissional), wird gebaut→aufgebaut, wird gegeben→geboten, wird arrangiert→geplant, wird gesehen→sichtbar/geprüft, wird gemacht→durchgeführt, wird gesucht→benötigt, obligatorisch→erforderlich (≈14), Pilotloch→gebohrt, Sonderfertigung→Rückgaberecht. Ortografia: Voldunkelheit→Volldunkelheit, posse Graus/Cremes/Weißs→estruturas des-von, aspas mistas „…”→„…“, garantie request→Anfrage, reparação de aspas kostenlose-seo. CATEGORY_DE 8/8 completado (Plissees/Wabenplissees/Duette-Plissees/Jalousien adicionados — compatível com a terminologia kicker do hero-slides); ILCE_DE Todos os distritos→Alle Bezirke (o padrão da página é Bezirk, Stadtteil significava bairro). Análises: paridade de registos dos 17 ficheiros i18n restantes completa (title 247→247 etc.), teknik-veriler 8 famílias exactas, montaj 8 grupos/34 itens, uygulama-cards 51 grupos+217 itens, product-names 210 chaves 0 em falta, countries.de.json 250 registos, dist/de du-form 0, sufixo TR 0 (exceto citações verbatim), atributos limpos, formatos de data DD.MM.YYYY alemães.

  • CorrecçãoLimpeza sistemática de calques (≈200 correcções) + CATEGORY_DE 8/8 + etiqueta de distrito de formulário padrão Bezirk
v1.51.3

Arquitectura de Selos de Pesquisa DE + Etiquetas EN Restantes + Nomes em Minúscula

Nona ronda de auditoria: o SearchPalette procurava o URL de resultado do catOf (caminho completo /de/...) no catMap com chave TR — os selos de categoria caíam para o fallback em todos os idiomas locais; o catMap agora chaveia a rota completa do idioma da página com reg()/localizeHref, a colecção de blog específica do idioma e a taxonomia de categorias são registadas separadamente (em colisão de slug, a chave produto/serviço/legal é preservada — haendlerpartnerschaft é Leistung, não Blog). Restos EN: nav de/blog All→Alle, filtro de/monteure All→Alle, de/bewertungen Summary→Übersicht e Google Rating→Google-Bewertung (TR Google Puanı). Nomes em minúscula: duet-perde Das glas→Das Glas + zwei reale Arbeiten→zwei echte Aufgaben, honeycomb eingangsglas→Eingangsglas + beide Arbeiten→beide Aufgaben. Análises: palavra turca em dist/de (apenas comentários Google verbatim + designação da empresa + linha de comentário), verificação de conteúdo ui.de 264/264 e NAV_LABELS.de 104/104 0 marcas, análise de minúscula após dois-pontos legítima, resíduo de chave TR data-cat-map apenas caminhos de categoria TR fora de âmbito.

  • CorrecçãoSearchPalette catMap construído com chaves totalmente localizadas + etiquetas inglesas restantes e nomes em minúscula corrigidos
v1.51.2

Geografia de Formulários DE e Texto Restante — Nomes Oficiais DACH + Pill Landkreise + Nome de Esquema ItemList

Oitava ronda de auditoria: selo de distrito em de/servicegebiete districts → Landkreise (İstanbul 39, Kocaeli 12 — o padrão da página é Landkreise); o nome de esquema ItemList de de/unsere-referenzen estava em inglês → Europäische Marken — Produktionspartner für die Türkei (TR/NL estava no próprio idioma); exónimos ingleses nas listas de estados dos formulários substituídos por nomes oficiais — states/DE.json: Bavaria→Bayern, Hesse→Hessen, Lower Saxony→Niedersachsen, North Rhine-Westphalia→Nordrhein-Westfalen, Rhineland-Palatinate→Rheinland-Pfalz, Saxony→Sachsen, Saxony-Anhalt→Sachsen-Anhalt, Thuringia→Thüringen; states/AT.json: Carinthia→Kärnten, Lower/Upper Austria→Nieder-/Oberösterreich, Styria→Steiermark, Tyrol→Tirol, Vienna→Wien; states/CH.json: Geneva→Genf, Lucerne→Luzern, Fribourg→Freiburg, Neuchâtel→Neuenburg, Ticino→Tessin, Valais→Wallis, Vaud→Waadt, Basel-Land→Basel-Landschaft. countries.de.json 250 registos completos (0 corrompidos); product-pages 142 registos rácio de massa DE 1,21–1,53; ficheiros uygulama exactos por campo; paridade de artigos blog-de; rss/opensearch/404/offline/suche em alemão. Trabalho em aberto: 55 registos cortados em countries.nl.json (âmbito NL).

  • CorrecçãoSelo de distrito de/servicegebiete + nome de esquema ItemList de/unsere-referenzen germanizados; listas de estados DE/AT/CH convertidas para endónimos oficiais
v1.51.1

Correcção Gramatical DE — mancher Rahmenserie e Padrões Naturais

Sétima ronda de auditoria: no montaj-pages, o quantificador incompatível com nome singular feminino In manchen Rahmenserie → In mancher Rahmenserie; no mesmo parágrafo, os padrões mecânicos foram naturalizados — wechselt nach dem Hersteller → variiert je nach Hersteller, An verbreiteten Rahmenmarken → Bei gängigen Rahmenmarken, An lokalem oder altem Rahmen → Bei lokalem oder älterem Rahmen, existiert … als Standard → standardmäßig vorhanden. Análises: padrão de import de dados TR (cobertura de override completa — 7/7 categorias), saída do gerador şartname (spec-alemão profissional), paridade de variantes pricing (8=8 — a diferença anterior era artefacto de definição de tipo), notas uygulama-alanlari (8=8, natural).

  • CorrecçãoIncompatibilidade quantificador-nome no montaj-pages e padrões mecânicos corrigidos com alemão da Alemanha natural
v1.51.0

Auditoria de Idioma DE — Etiquetas Inglesas Restantes e Consistência de Navegação

Sexta ronda de auditoria: texto de ligação inglês restante no garantie.astro (catalogue code → Katalogcode) e erro de espaço antes de vírgula, dealer portal em bestell- und sonderanfertigungsbedingungen → Händlerportal, product code em garantieanfrage → Produktcode, Orders em nutzungsbedingungen → Bestellung, artigo inglês The em haendlervertrag → Das, cabeçalho de tabela Level em unterhaendler-verwaltung → Stufe, cabeçalho de tabela Drive em zip-screens → Antrieb. Em NAV_LABELS.de /blog/ → Ratgeber e /site-haritasi/ → Seitenübersicht — consistência de nomes com os H1 das páginas alcançada (o precedente EN mantinha o padrão nav=h1).

  • CorrecçãoÚltimos textos de ligação e artigos ingleses nas páginas DE removidos (Katalogcode, Händlerportal, Produktcode, Bestellung, Das)
  • CorrecçãoCabeçalhos de tabela DE Level/Drive → Stufe/Antrieb; etiquetas de navegação Blog/Sitemap → Ratgeber/Seitenübersicht (consistência H1)
v1.50.9

Localização de Ligações Internas DE — Segunda Vaga (498 Campos)

O segundo padrão fora da análise da v1.50.8 foi fechado: 498 registos com slug TR literal em campos href/link/path/url dos ficheiros de dados i18n DE e páginas .astro DE (como /stor-perde/) foram convertidos para a rota /de/ via SLUG_MAP.de — cartões de produto do behaege.astro, crumbs do [slug].astro, dados de página index/produkte/unternehmen, hrefs de produto do wizard.ts, incluindo registos montaj-pages, em 18 ficheiros. As chamadas l('/tr-slug/') foram preservadas conforme a arquitectura localizeHref (0 quebradas); todos os destinos convertidos foram verificados no SLUG_MAP (0 não correspondidos).

  • Correcção498 campos href/link com rota TR literal na camada de página e dados DE convertidos para o slug /de/ (18 ficheiros)
v1.50.8

Localização de Ligações Internas DE — 764 Ligações

764 ligações em linha nos ficheiros de dados i18n DE (href="/tr-slug/") apontavam para a rota turca — caía-se da página alemã para a página turca. Todas as ligações foram convertidas para a rota /de/ com 624 mapeamentos TR→DE de slug via SLUG_MAP.de (0 não correspondidas); 4 ligações com âncora também foram verificadas com o id de destino via ANCHOR_MAP.de. Ficheiros afetados: product-pages.ts (318 ligações), plise-perde-uygulama.ts (105), ficheiros de aplicação duet/honeycomb/jaluzi/zip/perde/sineklik, categories, pricing, sartname, uygulama-alanlari. Páginas .astro DE analisadas — todas já tinham o prefixo /de/. Verificação de render: 0 ligações internas sem prefixo /de/ restantes no dist/de.

  • Correcção764 ligações internas com rota TR na camada de dados i18n DE convertidas para o slug /de/ via SLUG_MAP.de
  • CorrecçãoLigações com âncora convertidas após verificação do id de destino com ANCHOR_MAP.de — nenhuma âncora quebrada
v1.50.7

Limpeza de Etiquetas e Padrões Ingleses Restantes DE

As etiquetas não traduzidas restantes na saída DE foram apanhadas pela análise de palavras inglesas nos gémeos .md produzidos e corrigidas com os equivalentes da fonte TR: valores de controlo/etiqueta na página zip-screens (Crank handle → Kurbel, Outdoor → Außenbereich, Interior → Innenbereich, Basic → Basis, Low → Niedrig, Side Guides → Seitliche Führungsschienen, Manual → Manuell), títulos de cartões ingleses nos arrays de tabelas (Full Circle → Voller Kreis, Free Stance → Freistehend, Standard balcony door → Standard-Balkontür, Standard vertical window → Standard-Vertikalfenster, Standard horizontal → Standard-Horizontal, Main Dealer → Haupthändler, Sub-Dealer → Unterhändler, Single/Double Panel → Einzel-/Doppelpaneel, Single/Double Direction → Einzel-/Doppelrichtung, Half Circle → Halbkreis, Segment Arc → Segmentbogen, gap ventilation → Spaltlüftung), Wander → Schiebesystem (TR "gezer") nos dados product-pages.ts, "4 Standard" → "4 Standardfarben", Heavy-Duty-Nutzung → harter Einsatz nos dados sineklik-uygulama, Stainless steel → Edelstahl na página insektenschutz-systeme, "Low-medium. Dry living areas only" → "Niedrig–mittel. Nur trockene Wohnbereiche" na página jalousien, "and" → "und" na página liefervertrag, "An der glasschaligen Wintergarten" → "Am glasschaligen Wintergarten" nos dados duet-perde-uygulama, ", und Braun" → " und Braun" (pontuação assindética) na descrição de cor do product-pages.ts, "extra feine Masche" → "extrafeine Masche" na página insektenschutz, "Horizontal + Slope" → "Horizontal + Neigung" na página decken-plissee, "Sloped Winter Garden" → "Schräg-Wintergarten" e "Angled Architectural Glass" → "Winklige Architekturgläser" na página schraeg-plissee, "knock-down model" → "Demontagemodell" na página versand-und-logistik. Na segunda vaga de análise, o bloco spec do fester-insektenschutz (Colour → Farbe, Clipped / Screwed → Clips / Schrauben) foi corrigido.

  • CorrecçãoValores de etiqueta/controlo ingleses nas páginas DE zip-screens + jalousien + insektenschutz-systeme traduzidos para alemão da Alemanha a partir da fonte TR
  • CorrecçãoTítulos de cartões/tabelas e valores spec ingleses na camada de dados i18n DE (Wander, Heavy-Duty, 4 Standard etc.) fechados
  • CorrecçãoRestos "and", erros de caso de artigo e pontuação nas páginas legais/de aplicação DE resolvidos com a fonte TR
v1.50.6

Reparação de Frases de Referência Cruzada DE

Nos parágrafos de referência cruzada no fim das páginas de sistema/detalhe DE, o padrão "wird auf der <a>…</a>." terminava sem particípio (wird … auf der X. — verbo suspenso); em 23 ficheiros as frases foram completadas com "beschrieben/aufgelistet/zusammengefasst/abgewogen/verglichen" e o caso de artigo corrigido (der Anwendungsbereiche → in den Anwendungsbereichen, der Deckensystem → auf dem Deckensystem, der Rollosystem → im Rollosystem, das Ovales System → auf dem Ovalsystem, der Produktkatalog → im Produktkatalog, der Preis-Rechner → auf dem Preisrechner, das Anwendungsbereiche → in den Anwendungsbereichen, artigos do modelo horizontales/vertikales). Em 10+ ficheiros foi fechado o espaço em falta após </a> (</a>beschrieben → </a> beschrieben). Textos de ligação ingleses traduzidos (vertical system → Vertikalsystem, horizontal system → Horizontalsystem, sliding form → Schiebeform, knock-down orders → Demontagebestellungen, order card → Auftragskarte, variantes vertical/horizontal form, sliding model → Schiebemodell). Páginas legais: a frase incompleta do einwilligungserklaerung foi completada como "…erfolgen auf den in den Datenschutzhinweisen (KVKK) genannten Rechtsgrundlagen"; datenschutzerklaerung "den Geheimhaltungsvereinbarung" → "die Geheimhaltungsvereinbarung" e "Datenschutzbezogene Fragen können gesendet werden an" → "Fragen zum Datenschutz werden an … weitergeleitet".

  • Correcção23 páginas DE + ficheiros de dados i18n: frases de referência cruzada sem particípio completadas, erros de caso de artigo resolvidos
  • CorrecçãoTextos de ligação ingleses (vertical/horizontal system, sliding form, knock-down orders, order card) traduzidos para alemão da Alemanha
  • Correcçãoeinwilligungserklaerung + datenschutzerklaerung: frase incompleta e erro de artigo corrigidos segundo a fonte TR
v1.50.5

Sensibilidade a Maiúsculas DE e Resíduos de Modelo

A nota irmã de detalhe de produto (ProductDetail) e o título de secção relacionada de detalhe de aplicação (ApplicationDetailPage) minúsculizavam os títulos feature/point alemães com toLowerCase() — em alemão os nomes ficam com maiúscula; a minúsculização foi removida nos ramos DE (em 200+ páginas de produto, caso correcto "ist auf Verdunkelungslage, Warmer Tag … ausgerichtet"). Cartões de selecção de/plissees (Tenant or Undrillable Surface → Mieter oder nicht bohrbare Fläche, Folding Glass Balcony → Faltglasbalkon) e cabeçalhos da tabela de comparação (Glass Balcony → Glasbalkon, Mounting Note → Montagehinweis); descrição de cartão de/preis-rechner (with … selection → …-Auswahl) e Calculate → Berechnen; aria-label de pontuação das 7 páginas de família out of 5 → von 5; "out of 5 stars" do unsere-referenzen → "von 5 Sternen"; jaluzi-perde-uygulama "der erste Term" → "die erste Bedingung" (TR: ilk şart) e "ist der Term" → "ist die Voraussetzung"; ramo de adicionado ao generate-llms.mjs — os gémeos .md /de/ e o llms-full.txt agora imprimem o título "Quelle:" e a etiqueta de imagem "Bild:" (antes ficavam Kaynak/Görsel).

  • CorrecçãoProductDetail/ApplicationDetailPage/preis-rechner: toLowerCase removido no DE — caso nominal alemão corrigido em 200+ páginas de produto
  • CorrecçãoTítulos de cartões + colunas de tabela de/plissees, out of 5 → von 5 aria-label em 7 páginas, der erste Term → die erste Bedingung
  • Correcçãogenerate-llms: caminhos /de/ reconhecidos como de — etiquetas Quelle:/Bild: nos gémeos .md
v1.50.4

Ramo Spec DE/NL do productSchema additionalProperty

O productSchema do schema.ts, quando specRows não era fornecido, caía para FAMILY_SPECS_EN apenas em /en/ e voltava para o FAMILY_SPECS TR nos caminhos /de/ e /nl/ — os campos additionalProperty do JSON-LD de 11 páginas DE (9 duette + 2 zip) e 21 páginas de sistema/detalhe NL imprimiam etiquetas spec turcas (Kumaş yapısı, Hücre düzeni, Kılavuz, Kontrol…). Foram adicionados os ramos FAMILY_SPECS_DE e FAMILY_SPECS_NL (exactos com o padrão existente no CategoryPage); as páginas DE agora imprimem Stoffstruktur/Zellanordnung/Bedienung/Führung/Windwiderstand e as páginas NL etiquetas neerlandesas.

  • CorrecçãoFallback spec do productSchema consciente do locale: /en/→EN, /nl/→NL, /de/→DE, TR→TR — fuga de additionalProperty TR em 11 páginas DE + 21 NL fechada
  • Correcçãode/zwischenglas-duette-plissee e 8 detalhes duette + de/horizontal-zip-screen + de/vertikal-zip-screen JSON-LD passaram para etiquetas spec alemãs
v1.50.3

Limpeza de Resíduos Ingleses dentro de Frases Alemãs

Frases de língua mista e valores ingleses isolados apanhados na análise profunda de nós de texto foram resolvidos: o padrão de referência cruzada "is described on a separate page" em 15 páginas de detalhe duette/wabenplissee foi traduzido para o passivo alemão (wird … auf einer separaten Seite beschrieben) e os textos de ligação foram alinhados com os nomes de produto (ovale/runde/vertikale Wabenplissee etc.); frases de fecho fester-insektenschutz e aussen-jalousie; parágrafo de nota de rodapé schiebe-insektenschutz-plissee; parágrafo Geltungsbereich do geheimhaltungsvereinbarung + 3 Jahre + maiúscula no início de lista; "under the customer's brand" do private-label-fertigung → unter der Marke des Kunden; cláusula de procedimentos de importação versand-und-lieferung; cláusula de importador distributionsvertrag; item de análise cookie-richtlinie; parágrafo Abmeldung einwilligung-werbenachrichten; frase introdutória montage-und-anwendungsbedingungen; conjunções "and" bestell-… e garantie → und; mensagem noscript whatsapp; duas frases musterversand; h3 "Inside the Box" verpackung + ligações Insect screen/quality control; frase introdutória nutzungsbedingungen; StatsBar unsere-referenzen/ueber-uns (Since 2022/48 hours/Quote Turnaround/In Production); dl warum-fenetre-systems (8 main lines/2–4 business days); etiqueta Café unsere-loesungen; linha EN 13561 zip-screens + etiqueta The strongest; duas funções de cor pressemappe; etiquetas de eixo SVG + dois h2 oval-plissee; aria-label Rating → Bewertung + título de estrela bewertung-abgeben; SectionHeader Timeline → Zeitleiste unsere-geschichte; frases de corpo insektenschutz-drehrahmen/schiebe/rollo; Manual Crank vertikal-zip-screen; ligação quality control bestell-und-produktionsverfolgung; cabeçalhos de tabela projektanfrage (Unit/Qty + 3 células).

  • CorrecçãoO padrão "is described on a separate page" em 15 pares duette/wabenplissee traduzido para o passivo alemão; textos de ligação alinhados com nomes de produto alemães
  • CorrecçãoTextos legais (geheimhaltungsvereinbarung, versand-und-lieferung, distributionsvertrag, cookie-richtlinie, einwilligung-werbenachrichten, montage-und-anwendungsbedingungen, bestell-…, nutzungsbedingungen) limpos de resíduos ingleses dentro das frases
  • CorrecçãoCartões StatsBar/dl (unsere-referenzen, ueber-uns, warum-fenetre-systems), etiquetas de eixo SVG, aria-label e textos noscript — mais de 20 resíduos isolados
v1.50.2

Limpeza da Camada de Dados e Props Partilhados Alemãs

Os últimos resíduos ingleses apanhados na análise profunda de props/níveis foram resolvidos: valores de chips de/servicegebiete (51 Districts/81 Provinces/Worldwide → Landkreise/Provinzen/Weltweit), título de secção "Knock-Down Shipment" e pills de países de entrega (nameEn → COUNTRY_DE: Deutschland/Niederlande/Frankreich/Belgien/Österreich/Schweiz/Italien/Spanien; o nameEn do esquema foi conscientemente preservado); células da tabela de comparação de/produkte (usage/light/insulation/wide/place + models/linkLabel) e contadores "7 categories" → Kategorien; tabela de cobertura de/garantie (células scope/term/part); nomes de categorias de/plissees (Semi-Blackout/Blackout); selos de estatísticas de/index (Since/One Plant/8 Distinct/2–4 Days); campos de cartão de/haendler-kundenverwaltung; duas linhas de serviços seo-geo; funções de cor pressemappe; resíduos isolados em projektanfrage/soziale-medien/wabenplissees/insektenschutz-plissee-systeme/vertikal-plissee. Além disso, foram adicionados ao CHANGELOG_DE os registos em falta v1.49.0/v1.50.0/v1.50.1 (TR 272 = DE 272; a lacuna de sincronização do changelog EN foi conscientemente anotada).

  • Correcçãode/servicegebiete: 3 valores de chips + título de secção + 8 pills de países germanizados (mapa COUNTRY_DE); nameEn do esquema areaServed preservado
  • Correcçãode/produkte: 28 células da tabela de comparação + nomes de modelo do cartão-guia + countLabels; de/garantie 7 células; de/index 4 selos de estatísticas; resíduos de props isolados em 8 páginas
  • ActualizaçãoCHANGELOG_DE: registos v1.49.0, v1.50.0, v1.50.1 em alemão da Alemanha adicionados — paridade TR/DE 272=272
v1.50.1

Limpeza de Resíduos de Páginas Alemãs e Localização de Datas

Os últimos resíduos ingleses nas páginas alemãs foram resolvidos: as etiquetas de data GOOGLE_REVIEWS nas páginas DE imprimiam o mês em inglês com enDate (October/May) — de/index, de/bewertungen e de/unsere-referenzen agora usam deDate (Oktober/Mai); o bloco local TR_MONTHS/enDate do unsere-referenzen foi removido e a expressão "Production partner for Türkiye orders" na descrição JSON-LD foi traduzida para alemão da Alemanha (Produktionspartner für Türkei-Aufträge). O mapeamento COUNTRY_EN produzia a saída DE correctamente (Deutschland/Niederlande/Dänemark), a sua estrutura foi preservada.

  • Correcçãode/index, de/bewertungen, de/unsere-referenzen: datas de avaliações renderizadas com deDate em vez de enDate — nomes de meses alemães como Oktober/Mai
  • Correcçãode/unsere-referenzen: mapa local TR_MONTHS removido (Mart→March, Mayıs→May estava errado em inglês); descrição de revendedor JSON-LD traduzida para alemão da Alemanha
v1.50.0

Infraestrutura de Publicação Alemã e Modelos de E-mail (F6)

A camada de publicação do locale alemão foi concluída: /de/manifest.webmanifest (nome/descrição alemães, scope /de/), /de/rss.xml (feed blogDe), /de/opensearch.xml (definição de pesquisa alemã) adicionados; o BaseLayout agora imprime ligação RSS/OpenSearch/manifest DE nas páginas DE (FEED_LANGS + MANIFEST_LANGS actualizados). Service worker v4: /de/offline/ em precache e pedidos de navegação /de/ caem para a página offline alemã. Ao send.php foram adicionados o idioma $isDe e 5 modelos de confirmação de cliente alemães (ack/quote/dealer/montajci/career — forma Sie, alemão da Alemanha; public/api/send.php e deploy/send.php exactos); a detecção da variante de formulário reconhece os valores subject_line alemães, as páginas DealerForm/Footer/bewertung enviam subject alemão. CHROME_COVERAGE.de mail:✓ — o chrome de é agora ui:✓ nav:✓ mail:✓.

  • Novidadepublic/de/manifest.webmanifest + src/pages/de/rss.xml.js + src/pages/de/opensearch.xml.ts — manifesto PWA alemão, feed RSS (blogDe) e definição OpenSearch
  • Novidadesend.php $isDe: 5 modelos de confirmação de cliente alemães (geral/orçamento/revendedor/montador/carreira) + texto simples + assunto + preheader — alemão da Alemanha, forma Sie; destinatário de notificação, proibição Reply-To, fluxo MX/iCloud e arquitectura de log inalterados
  • Actualizaçãode adicionado ao FEED_LANGS/MANIFEST_LANGS do BaseLayout — páginas DE agora imprimem ligação /de/rss.xml, /de/opensearch.xml, /de/manifest.webmanifest em vez do fallback TR
  • Actualizaçãosw.js v4: OFFLINE_URL_DE precache + página offline alemã nas navegações /de/; DealerForm/Footer/bewertung-abgeben enviam subject_line alemão
v1.49.0

Infraestrutura de Localização Alemã (F1–F2)

As duas primeiras fases da localização em alemão da Alemanha/DACH foram estabelecidas. F1: o dicionário ui.de foi preenchido com 264 chaves (paridade exacta com ui.en, forma Sie, termos da Alemanha — Insektenschutz, Plissee, Wabenplissee, Jalousie, Behag, Rollo); NAV_LABELS.de 104 etiquetas de menu; helper deDate no utils.ts; registo CHROME_COVERAGE.de (ui:✓ nav:✓ mail:✗ — F6 pendente). F2: 624 slugs nativos alemães produzidos no SLUG_MAP.de via gerador scripts/_gen-de-slugs.mjs — exactos com as chaves TR↔EN, sem colisões (incluindo a distinção produto/aplicação de caravana); ANCHOR_MAP.de 4 registos adicionados. de.enabled permanece conscientemente false — o âmbito será preenchido faseadamente via PAGE_COVERAGE.de; nenhuma alteração visível no site.

  • Novidadedicionário ui.de: 264 chaves preenchidas com alemão da Alemanha — paridade ui.en verificada (sem em falta/extra/vazias); forma Sie, ß/ä/ö/ü, conjunto de termos técnicos (Insektenschutz, Plissee, Wabenplissee, Duette-Plissee, Jalousie, Zip-Screen, Behag, Rollo, maßgefertigt, Montage)
  • NovidadeNAV_LABELS.de: 104 etiquetas de menu — famílias de produtos, sistemas, tipos de montagem, áreas de aplicação, serviços, institucional, legal/contractos, controlos de pesquisa/menu/idioma
  • NovidadeSLUG_MAP.de: 624 slugs nativos alemães via gerador scripts/_gen-de-slugs.mjs — dicionário de expressões + composição de tokens; a colisão produto/aplicação de caravana foi resolvida como wohnmobil-insektenschutz vs insektenschutz-fuer-wohnmobile
  • NovidadeANCHOR_MAP.de: bayilik#basvuru→bewerben, garanti-ve-servis-yonetimi#ozellikler→merkmale, #akis→ablauf, projelerimiz#surec→prozess; deDate (Ocak→Januar …) adicionado ao utils.ts
  • InfraestruturaCHROME_COVERAGE.de: { ui: true, nav: true, mail: false } — send.php $isDe + 5 modelos de confirmação DE em F6; PAGE_COVERAGE.de vazio por regra de âmbito até as traduções de página terminarem; pnpm check + check-i18n PASS
v1.48.0

Limpeza de Resíduos Neerlandeses e Conclusão da Infraestrutura NL

Todos os resíduos ingleses/turcos apanhados na verificação neerlandesa foram resolvidos: o resíduo schema inLanguage: en-US em 27 páginas passou a nl-NL; os parágrafos ingleses semi-traduzidos em mais de 20 páginas NL foram completados; o assistente de produto agora funciona com os conjuntos de dados FAMILY_PRODUCTS_NL + GENEL_QUESTIONS_NL. A camada de formulários foi ligada de ponta a ponta ao neerlandês — ramo $isNl do send.php + 5 modelos de confirmação NL, campos lang ocultos, linhas de assunto NL; ramos NL do JobForm/DealerForm/ContactForm/PlatformMockup. Lacunas de infraestrutura fechadas: countries.nl.json (250 países), nl/404, OFFLINE_URL_NL do service worker, linha de sitemap nl no robots.txt, etiquetas Bron:/Afbeelding: do gerador llms.

  • CorrecçãoTodos os resíduos ingleses/turcos visíveis na análise de render NL resolvidos — schema inLanguage, Europe→Europa, Türkiye→Turkije, restos de prosa EN em index/zipscreens/duette/jaloezieen/horren/plisse/gordijnen e 15+ páginas traduzidos para neerlandês
  • NovidadeCamada de dados NL do assistente de produto: FAMILY_PRODUCTS_NL + GENEL_QUESTIONS_NL (src/i18n/nl/wizard.ts); productwizard.astro usa os conjuntos NL; ProductWizard imprime descrição de medida/montagem NL
  • NovidadeCamada de confirmação NL do send.php: $isNl + mapeamentos de assunto Offerteformulier/Dealerschapsaanvraag/Sollicitatie/Aanvraag installateur + 5 modelos de confirmação HTML NL; deploy/send.php sincronizado
  • CorrecçãoComponentes de formulário NL: posição/experiência/CV/textos de sucesso-erro do JobForm, listas de actividade/experiência/modelo + Turkije do DealerForm, Turkije do ContactForm; todos os formulários enviam o campo lang oculto
  • NovidadeInfraestrutura NL: public/data/geo/countries.nl.json (250 países), src/pages/nl/404.astro, sw.js OFFLINE_URL_NL (v3), linha de sitemap nl no robots.txt, etiquetas NL Bron:/Afbeelding: do generate-llms/check-llms
  • CorrecçãoLimpeza de erro de idioma em massa nos ficheiros de dados NL: distinção orde→gordijn/volgorde (≈150 usos), is een must→is vereist, custom snit→snit op maat, beleefd→beleeft/ervaren, open-sluit-count→open-sluitfrequentie, Wooneenheid-hardware→Wooneenheidbeslag
  • MelhoriaSITE.hours.shortNl (Ma–Vr/Za/Zo) + shortEn removido das páginas NL; "Back online" offline→NL; pontuação do Footer 5,0 em NL; painel+mock order do PlatformMockup NL; lang=nl oculto do beoordeling-schrijven
v1.47.1

Arquitectura de Endpoints Locais — Feed, OpenSearch, Manifest

As ligações RSS/OpenSearch do BaseLayout foram tornadas conscientes do idioma e protegidas por lista branca de endpoints (FEED_LANGS) — até um novo idioma ser publicado, nenhuma ligação nesse idioma é impressa nem é gerado 404. O manifesto PWA neerlandês (public/nl/manifest.webmanifest) foi adicionado; a ligação do manifesto é impressa por idioma através da lista MANIFEST_LANGS. O formato de data do ArticleCard é agora derivado do locale languageMeta — os cartões de blog neerlandeses usam o formato nl-NL em vez de tr-TR.

  • MelhoriaBaseLayout: ligações rss.xml/opensearch.xml produzidas com lista branca FEED_LANGS + padrão /{lang}/ — nenhuma ligação é impressa em idioma sem endpoint
  • Novidadepublic/nl/manifest.webmanifest — manifesto PWA neerlandês; o href do manifesto é impresso por idioma com a lista branca MANIFEST_LANGS
  • CorrecçãoLocale de data do ArticleCard derivado de languageMeta[lang].locale — nl-NL em vez de tr-TR nos cartões de blog NL
v1.47.0

Neerlandês (Nederlands) Publicado — nl.enabled

O idioma neerlandês (Países Baixos, nl-NL) foi oficialmente publicado: "Nederlands" fica visível no selector de idioma, nl-NL é adicionado às alternativas hreflang e o mapa do site NL e os sitemaps são publicados. Nas verificações da ronda final pré-lançamento, as descobertas foram zeradas — 349 ligações internas literais na camada de dados transportavam slug TR/EN em vez de slug NL, todas convertidas para slug neerlandês nativo via SLUG_MAP; a incompatibilidade de palavras title↔h1 em 23 páginas foi alinhada ao formato h1; a frase repetida na página veranda-hor foi resolvida com variantes naturais.

  • Novidadeui.ts: nl.enabled=true — 624/624 páginas, selector de idioma + hreflang + sitemap activos
  • Correcção342 hrefs literais com slug TR + 7 EN nos ficheiros de dados src/i18n/nl → slug NL (ex. /nl/balkon-zip-perde/ → /nl/balkon-zipscreen/, /nl/insect-screens/ → /nl/horren/); links internos quebrados 114 → 0
  • CorrecçãoIncompatibilidade title↔h1 resolvida em 23 páginas — titles alinhados ao formato de palavra do h1 (duettegordijnsysteem → duette-gordijnsysteem etc.); docTitles honeycomb compatíveis com o nome do produto
  • CorrecçãoRepetição de frase intra-página nos dados da aplicação veranda-hor resolvida com variantes naturais neerlandesas
v1.46.3

Camada de Páginas Neerlandesa — 446 Páginas + Rotas Dinâmicas

A camada de páginas neerlandesa (Países Baixos, nl-NL) foi concluída: todas as 446 páginas sob /en/ foram transferidas para /nl/ em neerlandês dos Países Baixos; a análise de resíduos do gerador baixou a 0 strings — não há restos de texto inglês ou turco. O gémeo dinâmico [slug].astro produz 176 rotas (23 catálogo + 119 produtos de família + 34 detalhes de montagem); os componentes BlogArticleNl/BlogCategoryNl e a colecção blogNl estão em produção com o primeiro artigo neerlandês. PAGE_COVERAGE.nl igualou a cobertura inglesa com 624/624 registos. O idioma ainda está nl.enabled=false — será aberto na fase final.

  • Novidadesrc/pages/nl/ — 446 páginas estáticas (equivalentes exactos dos gémeos EN), com o dicionário _nl-labels.json de ≈4.9k registos; verificação do gerador 0 resíduos
  • Novidadesrc/pages/nl/[slug].astro — 176 rotas com prioridade produto > montagem > artigo > categoria; BlogArticleNl + BlogCategoryNl + colecção blogNl + primeiro artigo /nl/horren-inmeten/
  • InfraestruturaPAGE_COVERAGE.nl 446 estáticos + 178 dinâmicos = 624 registos; check-i18n 0 violações, check-changelog/astro check verde
v1.46.2

Camada de Detalhes de Montagem Neerlandesa — 34 Registos

A camada de dados montaj-pages neerlandesa (Países Baixos, nl-NL) foi concluída: todos os 34 registos de detalhe de montagem (plissegordijn 5, honeycomb-gordijn 5, duette-gordijn 5, plisséhor 5, hor 5, jaloezie 6, zipscreen 3) foram traduzidos da fonte inglesa para neerlandês dos Países Baixos. 174 secções, 102 FAQs, 100 ligações; chaves de registo, ids de secção, parentSlug e ícones exactos com a fonte — 0 restos de texto simples inglês. O idioma ainda não está em produção; as páginas serão geradas em fases seguintes.

  • Infraestruturamontaj-pages.nl — 34 registos × 174 secções (91 prosa, 30 listas, 23 tabelas, 23 passos, 7 cartões) + 102 FAQs; paridade estrutural exacta com EN
v1.46.1

Infraestrutura Neerlandesa — Camada de Slugs e Interface

As duas primeiras fases da infraestrutura de tradução neerlandesa (Países Baixos, nl-NL) foram estabelecidas: o dicionário ui.nl com todas as 264 chaves, NAV_LABELS.nl com 117 registos de menu e o helper nlDate com nomes de meses neerlandeses foram adicionados. SLUG_MAP.nl transporta todos os 624 registos com slugs neerlandeses nativos (horren, plissegordijnen, duette-gordijnen, jaloezieen, zipscreens…); ANCHOR_MAP.nl mapeia ligações de secção para ids nativos. O idioma ainda não está em produção — nl.enabled fechado, páginas e camada de dados serão produzidos em fases seguintes.

  • InfraestruturaSLUG_MAP.nl — 624 registos, slug neerlandês nativo; mapeamento de ida e volta verificado, 0 erros de formato/colisão
  • Infraestruturaui.nl + NAV_LABELS.nl + nlDate — dicionário de interface e camada de menu completados em neerlandês dos Países Baixos
v1.46.0

Inglês Publicado — 624 Páginas

O idioma inglês foi publicado na totalidade: en.enabled foi aberto; as alternativas hreflang do head (tr/en/x-default), og:locale:alternate e o esquema availableLanguage do WebSite entraram em vigor; o selector de idioma já estava activo com base no âmbito. /en/sitemap.xml ao vivo, anunciado no robots.txt; 624 páginas servidas com slug nativo, canonical e JSON-LD. LangSuggest activo — a banda de sugestão é mostrada aos visitantes cujo idioma do navegador é inglês, a escolha consciente é guardada como preferência.

  • NovidadePublicação completa do inglês — 624 páginas sob /en/; head hreflang tr+en+x-default, og:locale:alternate en_US, esquema availableLanguagePágina inicial EN
  • ActualizaçãoLangSuggest activo: banda de sugestão de idioma para quem tem o navegador em inglês; a escolha consciente de idioma é guardada como preferência persistente e aplicada na visita seguinte
v1.45.90

Sitemap XML por Idioma — /en/sitemap.xml

A arquitectura de sitemap foi normalizada para o padrão por idioma: /sitemap.xml transporta apenas páginas turcas, /en/sitemap.xml transporta apenas páginas inglesas e os seus próprios ficheiros de grupo /en/sitemap-*.xml. A geração de grupos agora produz slug nativo com o directório de idioma registado + âmbito PAGE_COVERAGE (/en/about-us/ em vez de en/hakkimizda); as alternativas hreflang são resolvidas em ambas as direcções e via slug-map. robots.txt anuncia o índice EN com uma linha Sitemap separada. Cada novo idioma cuja tradução saia recebe automaticamente o seu próprio sitemap com o mesmo padrão.

  • Novidade/en/sitemap.xml + /en/sitemap-{grupo}.xml — apenas páginas EN, slug nativo, filhos no próprio índiceSitemap EN
  • CorrecçãogetSitemapGroups não produzia o grupo EN devido à incompatibilidade TR-path↔EN-slug do filtro de idioma; localePageSet agora abrange PAGE_COVERAGE e as entradas transportam slug nativo + ficheiro fonte EN real
  • CorrecçãoAs alternativas hreflang do urlsetXml imprimiam /{lang}/{trSlug}; agora slug nativo com translateSlug e mapeamento inverso com slugToTr — idiomas alternativos via sitemapLangs (idiomas com âmbito preenchido) em vez de enabledLangs
  • Actualizaçãorobots.txt: /en/sitemap.xml anunciado com linha Sitemap separada; nota de adição de linha para idiomas futuros adicionada
v1.45.89

Mapa do Site EN — Sitemap

O slug e o nome do mapa do site inglês foram simplificados: /en/site-map/ → /en/sitemap/, título da página Site Map → Sitemap. A etiqueta de navegação já era Sitemap; slug-map, breadcrumb e ligações do changelog foram alinhados num único nome.

  • CorrecçãoSlug do mapa do site EN /en/site-map/ → /en/sitemap/; title/h1/breadcrumb da página "Site Map" → "Sitemap"Sitemap
v1.45.88

Auditoria da Página Raiz Inglesa — Mapeamento de Âncoras, Ligação e Localização de Datas

A camada fechada pela nova análise da página raiz inglesa e de toda a árvore EN: localizeHref agora separa a cauda query/âncora e mapeia o caminho, os ids de secção são convertidos para o idioma de destino com ANCHOR_MAP; os cartões de produto e componentes de catálogo, ligações literais de slug TR, ponte CTA do hero, o cartão de participação LogoGrid e as datas de avaliações da página inicial foram totalmente localizados. hrefs TR fora do selector zerados em 624 páginas EN.

  • CorrecçãolocalizeHref — ligações internas com âncora como /bayilik/#basvuru não eram apanhadas pela verificação de âmbito; agora o caminho é mapeado e a âncora é convertida para o id de secção do idioma de destino com ANCHOR_MAP
  • NovidadeANCHOR_MAP + translateAnchor — mapeamento de id de secção TR→EN (basvuru→apply, ozellikler→features, akis→flow, surec→process)
  • CorrecçãoDatas de avaliações da página inicial EN — October/May em vez de Ekim/Mayıs é impresso com o helper partilhado enDateHome
  • CorrecçãolocalizeHtml — hrefs com âncora também são agora convertidos para o idioma
  • CorrecçãoCategoryProductGrid + ProductCard — hrefs de cartões de produto agora resolvidos com localizeHref
  • Correcção20 ligações literais de slug TR em 12 páginas EN (/galeri/, /kalite-kontrol/ etc.) convertidas para os caminhos gémeos EN
  • Correcçãocatalogue — os chips de produto chamavam translateSlug com bare-slug; ligados ao caminho /en/ correcto com localizeHref
  • CorrecçãoSlider hero EN — CTAs externos agora também localizam hrefs de ponte interna (/whatsapp/ → /en/whatsapp/)
v1.45.87

Activos Secundários Ingleses — Feed, Manifest, E-mails de Formulário

A camada de activos secundários ingleses foi concluída: feed RSS EN, OpenSearch EN e manifesto PWA EN adicionados; as referências do BaseLayout foram tornadas conscientes do idioma. O fluxo de formulários tornou-se bilingue de ponta a ponta — o ContactForm agora envia o campo de idioma e o send.php responde com os gémeos ingleses dos cinco modelos de confirmação de cliente. As etiquetas de países de parceiros internacionais na página inicial foram traduzidas para inglês.

  • NovidadeFeed RSS inglês — publica artigos do blog EN com texto de canal inglêsBlog
  • NovidadeDefinição OpenSearch inglesa e manifesto PWA EN — a camada de pesquisa e aplicação transporta meta inglês
  • ActualizaçãoBaseLayout — referências RSS, OpenSearch e manifesto resolvidas conforme o idioma da página
  • NovidadeModelos de confirmação ingleses do send.php — e-mails de contacto, orçamento, revendedor, montador e candidatura de emprego conscientes do idioma
  • ActualizaçãoContactForm — os envios transportam o idioma da página no campo lang; o send.php reconhece os valores subject EN
  • CorrecçãoEtiquetas de países de parceiros internacionais da página inicial traduzidas para inglês (Germany, Netherlands, Denmark)Home
  • ActualizaçãoGerador llms consciente do idioma — gémeos .md das páginas EN e secções llms-full produzidos com etiquetas Source:/Image:
  • ActualizaçãoRegisto CHROME_COVERAGE preenchido — ui (171 chaves), nav (101 etiquetas), mail (5 modelos EN) verificados e marcados
  • CorrecçãoMeta descrição de /en/social-media/ completada exactamente com a fonte TR (product, installation and dealer announcements)
  • CorrecçãoErro de render de FAQ EN resolvido — em 3 registos de produto, o link HTML aparecia como texto escapado no campo answer; convertido para a estrutura answer(simples)+html(com link) segundo o padrão TR
  • CorrecçãoLigações dentro de html de FAQ nas páginas EN imprimiam slug TR — o Accordion do ProductDetail e o texto aralik do FamilyPricePage agora aplicam localizeHtml; a ligação interna de /en/warranty/ convertida para o gémeo EN
  • Correcção4 ligações internas perdidas readicionadas nos dados de produto EN (ligações contextuais sala/quarto de criança/quarto); paridade de classes verificada — as 41 âncoras com classe em TR também com classe em EN, as que TR deixa sem classe ficam sem classe
  • CorrecçãoAtributo class duplo na camada EN do sineklik-uygulama resolvido — 41 âncoras normalizadas para uma class; verificação de paridade numérica completada em 25 ficheiros (25.075 campos, 0 incompatibilidades reais — 11 descobertas de changelog verificadas como diferença de ordem sintática inglesa)
  • MelhoriaProva de paridade total da camada de dados TR-EN completada — 25 pares de ficheiros, 27.194 folhas: 0 ligações perdidas, 0 incompatibilidades de classe, 0 incompatibilidades de número/unidade, 0 texto de corpo não traduzido; conjuntos href verificados em 561 campos com ligações (o design de slug literal EN é legítimo)
  • CorrecçãoA opção de país estática nos formulários EN imprimia Türkiye — o ContactForm tornou-se consciente do idioma, as páginas EN mostram Turkey; a pontuação Google do footer saía com vírgula decimal (5,0) nas páginas EN — corrigida para 5.0
  • CorrecçãoO mapa do site EN não listava páginas dinâmicas [slug] — localePageSet agora também abrange PAGE_COVERAGE; os grupos Tipos de Montagem e Blog e a secção Tipos de Montagem de Estores tornaram-se visíveis no mapa EN
  • CorrecçãoA página /en/about-us/ tinha sido escrita independentemente da fonte TR — reconstruída exacta com a estrutura de /hakkimizda/ (valores FeatureList, cartões Gebze/Kocaeli, StatsBar, CTA; ligações contextuais nos gémeos EN)About Us
  • CorrecçãoAs etiquetas de artigos e categorias de blog no mapa do site EN imprimiam título TR — a colecção blogEn e BLOG_CATEGORY_LIST_EN foram adicionados à cadeia de etiquetas; o artigo aparece como "How to Measure an Insect Screen?", a categoria como "Guide"Sitemap
  • CorrecçãoO additionalProperty do productSchema imprimia etiqueta spec TR nas páginas EN — em caminhos /en/, quando specRows não é fornecido, passa a cair para FAMILY_SPECS_EN; a fuga Kumaş yapısı/Hücre düzeni em 18 páginas de sistema duet/honeycomb foi fechada
  • Correcção447 URLs /en/ infiltravam-se no sitemap-pages.xml TR — o filtro trStaticPaths só olhava para idiomas enabled, os ficheiros src/pages/en/ do idioma fechado eram considerados estáticos TR e caíam na rede de segurança e imprimiam hreflang="tr"; o filtro agora exclui todos os idiomas registados, sitemap 1069→622 URLs
  • CorrecçãoO selector de país do DealerForm imprimia a opção estática "Türkiye" — na página de revendedor EN agora é renderizado "Turkey" (a lista de países carregada lazy por JS já usava countries.en.json; o fallback sem JS também foi ligado ao idioma)
v1.45.86

Blog Inglês — Índice, Categoria e Primeiro Artigo

O gémeo inglês do conjunto de blog está em produção — a página de índice /en/blog/, a página de categoria /en/guide/ e o primeiro artigo /en/how-to-measure-an-insect-screen/ foram abertos com tradução completa; a colecção blogEn e a taxonomia de categorias EN foram estabelecidas.

  • NovidadePágina de índice /en/blog/ — navegação de categorias, esquema ItemList e texto introdutório em inglês; os cartões de artigo são alimentados pela colecção blogEn.Blog
  • NovidadePrimeiro artigo inglês /en/how-to-measure-an-insect-screen/ — tradução linha a linha com a fonte TR; ligações internas para gémeos EN (installation-types, pleated-insect-screens, sliding-insect-screen); esquema BlogPosting inLanguage en-US.Guia
  • InfraestruturaColecção de conteúdo blogEn + taxonomia EN src/i18n/en/blog-categories.ts + componentes BlogArticleEn/BlogCategoryEn + rota dinâmica /en/[slug] estabelecidas; as datas do ArticleCard agora são formatadas conforme o idioma da página.
  • CorrecçãoLigações de chrome que ficaram em TR nas páginas EN localizadas — a ligação de política do aviso de cookies cai para /en/cookie-policy/, as ligações WhatsApp (CTABlock, Footer, MobileDrawer, Calculator, ProductArticle e páginas EN) caem para /en/whatsapp/.
v1.45.85

Histórico de Versões Inglês — Página e RSS em Produção

O equivalente inglês de todos os 254 registos do changelog foi completado; a página /en/version-history/ e o feed RSS /en/version-history.xml estão em produção — breadcrumb, estatísticas, selos de tipo, datas e ligações em inglês.

  • NovidadePágina /en/version-history/ aberta — todos os 254 registos de versão em inglês; selos de tipo (New/Update/Improvement/Fix/Infrastructure), cartões de estatísticas, esquema ItemList e referência RSS EN.Histórico de Versões
  • NovidadeFeed RSS /en/version-history.xml — título de canal, descrição, categoria e textos de itens em inglês; language=en.
  • MelhoriaCHANGELOG_EN 254/254 registos completados — versão, data, contagem de itens, tipo e hrefs de ligação exactos com a fonte TR; etiquetas de ligação convertidas para nomes de páginas inglesas (o href TR é preservado em rotas sem gémeo EN).
v1.45.84

Camada de Dados do Histórico de Versões Inglês — Faseada

src/i18n/en/changelog.ts foi aberto — os equivalentes ingleses dos registos do changelog estão a ser processados faseadamente; os primeiros 109 registos (v1.45.83→v1.39.7) estão na camada com tradução completa. A página EN entrará em produção quando todos os registos estiverem traduzidos.

  • Infraestruturasrc/i18n/en/changelog.ts: CHANGELOG_EN + KIND_LABEL inglês (New/Update/Improvement/Fix/Infrastructure) adicionados; versão, data, tipo e estrutura de ligações exactos com a fonte TR — apenas os textos foram traduzidos.
  • Melhoria109 registos traduzidos na primeira fatia (v1.45.83 → v1.39.7): título, resumo, textos de itens e etiquetas de ligação em inglês; nomes de páginas/slugs ligados ao TR preservados.
v1.45.83

Categorias de Plissado em Inglês — 7/7

Os gémeos ingleses das 7 classes de tecido do estore plissado estão sob /en/ — as páginas de categoria liso, véu, estampado, padrão, dia-noite duplo, semi-blackout e blackout total estão em produção com tradução completa.

  • Novidade7 páginas de categoria sob /en/ com tradução completa — plain-pleated-blinds, sheer-pleated-blinds, printed-pleated-blinds, textured-pleated-blinds, day-night-pleated-blind, semi-blackout-pleated-blinds, blackout-pleated-blinds; todo o conteúdo EN incluindo parágrafos de entrada, 3 secções de detalhe (categoria lisa), tabelas de dados técnicos, cartões de produto, secção de categorias irmãs e CTA.
  • ActualizaçãoCampo sku do esquema de produto adicionado às páginas de categoria honeycomb e duet inglesas — paridade de esquema alcançada com os gémeos TR.
v1.45.82

Categorias Duet em Inglês — 5/5

Os gémeos ingleses das 5 classes de tecido do estore duet estão sob /en/ — as páginas de categoria duet liso, véu, estampado, padrão e sunscreen estão em produção com tradução completa.

  • Novidade5 páginas de categoria sob /en/ com tradução completa — plain-duette-blinds, sheer-duette-blinds, printed-duette-blinds, textured-duette-blinds, sunscreen-duette-blinds; todo o conteúdo EN incluindo parágrafos de entrada, tabelas de dados técnicos, cartões de produto (7+5+2+7+6 produtos), secção de categorias irmãs e CTA.
v1.45.81

Categorias Honeycomb em Inglês — 3/3

Os gémeos ingleses das 3 classes de tecido do estore honeycomb estão sob /en/ — as páginas de categoria honeycomb liso, estampado e padrão estão em produção com tradução completa.

  • Novidade3 páginas de categoria sob /en/ com tradução completa — plain-honeycomb-blinds, printed-honeycomb-blinds, textured-honeycomb-blinds; todo o conteúdo EN incluindo parágrafos de entrada, tabelas de dados técnicos, cartões de produto (7+2+7 produtos), secção de categorias irmãs e CTA.
v1.45.80

Categorias de Persiana em Inglês — 3/3 + esqueleto de categoria bilingue

Os gémeos ingleses das 3 categorias de material da persiana estão sob /en/ — o esqueleto CategoryPage foi tornado consciente do idioma; a camada de dados de categoria foi aberta.

  • Novidade3 páginas de categoria sob /en/ com tradução completa — wooden-venetian-blinds, aluminium-venetian-blinds, fabric-venetian-blinds; todo o conteúdo EN incluindo parágrafos de entrada, tabelas de dados técnicos, ligações şartname-montador, cartões de produto, secção de categorias irmãs e CTA.
  • InfraestruturaCategoryPage + CategoryCardGrid conscientes do idioma — breadcrumb, caminhos de esquema, linhas de dados técnicos (FAMILY_SPECS_EN), âncora şartname e ligações internas resolvidas com localizeHref/localizeHtml; a camada de dados de categoria EN jaluzi-categories.ts (EN) foi alargada para campos de página completos.
v1.45.79

Variantes de Estore Plissado em Inglês — 9/9 (família completa)

Os gémeos ingleses das 9 páginas de variante do estore plissado estão sob /en/ — a família de modelos está completamente bilingue; os cartões de sistema foram ligados aos gémeos EN.

  • Novidade9 páginas de variante sob /en/ com tradução completa — horizontal, vertical, ceiling, cased, triangular, sloped, round, oval, between-glass; todo o conteúdo EN incluindo tabelas de modo/direcção/série, processos de produção Steps, valores técnicos SpecTable e esquemas de corte SVG; esquemas article+product+faq+table EN.
v1.45.78

Variantes Duet em Inglês — 9/9 (família completa)

Os gémeos ingleses das 9 páginas de variante do estore duet estão sob /en/ — a família de modelos está completamente bilingue; as ligações cruzadas honeycomb↔duet foram ligadas aos gémeos EN.

  • Novidade9 páginas de variante sob /en/ com tradução completa — horizontal, vertical, ceiling, cased, triangular, sloped, round, oval, between-glass; cada uma com 5 caraterísticas + 3 Prose + 4 FAQ; esquema article+product+faq EN; as referências a duet nas páginas honeycomb foram actualizadas para os gémeos EN; cartões de sistema 9/9 EN.
v1.45.77

Variantes Honeycomb em Inglês — 9/9 (família completa)

Os gémeos ingleses das 9 páginas de variante do estore honeycomb estão sob /en/ — a família de modelos está completamente bilingue.

  • Novidade9 páginas de variante sob /en/ com tradução completa — horizontal, vertical, ceiling, cased, triangular, sloped, round, oval, between-glass; cada uma com 5 caraterísticas + 3 Prose + 4 FAQ; esquema article+product+faq EN; ligações cruzadas de variante para gémeos EN, referências duet no destino TR (gémeos no conjunto seguinte); cartões de sistema 9/9 EN.
v1.45.76

Variantes de Persiana em Inglês — horizontal + cassete + fachada (família completa)

Os gémeos ingleses das páginas de variante de persiana horizontal, cassete e fachada exterior estão sob /en/ — a família de modelos de persiana está completamente bilingue.

  • Novidade3 páginas de variante sob /en/ com tradução completa — Horizontal (4 peças + tabela de 4 controlos), Cassette (3 séries de cassete + 6 vantagens), External (3 formas de guia + 6 vantagens, nota de escala 4,5 m/16 m²); esquema article+product+faq+table EN; cartões de variante de sistema para gémeos EN.
v1.45.75

Variantes de Estore Zip em Inglês — vertical + horizontal

Os gémeos ingleses das páginas de variante de estore zip vertical e horizontal estão sob /en/ — a família de modelos zip está completamente bilingue.

  • Novidade2 páginas de variante sob /en/ com tradução completa — Vertical (4 peças + tabela de 3 controlos + 4 caraterísticas + 3 FAQ) e Horizontal (4 peças + tabela de 3 aplicações + 4 caraterísticas + 3 FAQ); esquema article+product+faq+table EN; ligações cruzadas vertical↔horizontal para gémeos EN; cartões de variante de sistema EN.
v1.45.74

Páginas de Modelo de Mosquiteiro Plissado em Inglês — últimas 3 (família completa)

Os gémeos ingleses das páginas de modelo de mosquiteiro plissado duplo, vertical e com estore plissado estão sob /en/ — 8/8 modelos da família bilingues.

  • Novidade3 páginas de modelo sob /en/ com tradução completa — Double (folha dupla, tabela de 3 áreas de utilização), Vertical (tabela de 3 disposições de recolha, compatibilidade com persiana), With Pleated Blind (tabela de 3 camadas, função dupla); esquema article+product+faq+table EN; tabela de sistema 8/8 EN.
v1.45.73

Páginas de Modelo de Mosquiteiro Plissado em Inglês — primeiras 3

Os gémeos ingleses das páginas de modelo de mosquiteiro plissado horizontal, deslizante e sem soleira estão sob /en/.

  • Novidade3 páginas de modelo sob /en/ com tradução completa — Horizontal (tabela de disposições de direcção), Sliding/deslizante (tabela de 3 instalações), Threshold-Free (3 cenários de passagem); cada uma Prose + 6 caraterísticas + tabela + 4 FAQ, esquema article+product+faq+table EN, ligações cruzadas para gémeos EN.
v1.45.72

Páginas de Modelo de Mosquiteiro em Inglês (3 páginas)

Os gémeos ingleses das páginas de modelo de mosquiteiro de batente, enrolável e deslizante estão sob /en/.

  • Novidade3 páginas de modelo sob /en/ com tradução completa — Hinged (padrão de porta, trio dobradiça+retentor), Roller (cassete de mola, sem desmontagem no inverno), Sliding (painel de calha, opção de fecho); cada uma Prose de sistema + 6 caraterísticas + Prose de utilização + 4 FAQ, esquema article+product+faq EN, ligações cruzadas para gémeos EN.
v1.45.71

Páginas de Sistemas em Inglês — Persiana e Cortina (8/8 completo)

Os gémeos ingleses das páginas de sistemas de persiana e cortina estão sob /en/ — toda a família de sistemas está agora bilingue.

  • Novidade2 páginas sob /en/ com tradução completa — Venetian Blind Systems (4 componentes, 3 materiais + tabela de 4 mecanismos, 3 variantes, 4 FAQ) e Curtain Systems (tabela de sistemas de 8 produtos — total 30 linhas, 4 cartões de mecanismo, tabela de 8 modelos com ligações EN, listas técnicas, 4 FAQ); o hub our-systems está agora completamente EN.
v1.45.70

Páginas de Sistemas em Inglês — Honeycomb e Duet (2 páginas)

Os gémeos ingleses das páginas de sistema de estore honeycomb e estore duet estão sob /en/.

  • Novidade2 páginas sob /en/ com tradução completa — Honeycomb Blind Systems (4 componentes, tabelas de célula + tecido, 9 variantes, 4 FAQ) e Duette Blind Systems (4 componentes, tabela de 4 modos de dobragem, 3 áreas de utilização, 9 variantes, 4 FAQ); esquemas article+faq+table EN.
v1.45.69

Páginas de Sistemas em Inglês — Plissado e Zip (2 páginas)

Os gémeos ingleses das páginas de sistema de estore plissado e estore zip estão sob /en/.

  • Novidade2 páginas sob /en/ com tradução completa — Pleated Blind Systems (4 cartões de componente, 9 cartões de variante, 5 montagens + 4 tabelas de tecido, 4 FAQ) e Zip Screen Systems (2 cartões de variante, 4 componentes, 3 áreas de utilização, factor de abertura + listas técnicas, 4 FAQ); esquemas article+itemList+faq+table EN.
v1.45.68

Páginas de Sistemas em Inglês — Dupla de Mosquiteiros (2 páginas)

Os gémeos ingleses das páginas de sistemas de mosquiteiro e mosquiteiro plissado estão sob /en/.

  • Novidade2 páginas sob /en/ com tradução completa — Insect Screen Systems (4 cartões de componente, tabela de 10 modelos, listas técnicas de rede/perfil, 4 FAQ) e Pleated Insect Screen Systems (4 cartões de componente, tabela de 8 modelos, 3 tipos de soleira, 4 FAQ); esquemas article+itemList+faq+table EN, breadcrumb na cadeia /en/our-systems/.
v1.45.67

Conjunto de Assistente e Sistemas em Inglês (2 páginas + dados)

Os gémeos ingleses das páginas de assistente de produto e hub de sistemas estão sob /en/; a camada de dados do assistente ganhou o conjunto de perguntas/produtos inglês.

  • Novidade2 páginas sob /en/ com tradução completa — Product Wizard (4 perguntas×6/6/3/3 opções EN, esquema WebApplication inLanguage en, 4 FAQ; o componente ProductWizard é alimentado pelo dicionário wiz.* EN com a camada de idioma existente) e Our Systems (8 cartões de sistema, cartão de tipos de montagem /en/installation-types/, 4 cartões de infraestrutura, itemListSchema EN).
  • Melhoriawizard.ts: GENEL_QUESTIONS_EN + FAMILY_PRODUCTS_EN adicionados — camada de dados de tradução completa de 4 perguntas e 8 famílias de produtos; os hrefs são resolvidos para a rota EN com o padrão TR localizeHref (render TR exacto).
v1.45.66

Conjunto de Regiões e Projeto em Inglês (2 páginas)

Os gémeos ingleses das páginas de áreas de serviço e pedido de projeto estão sob /en/; os nomes de países de entrega foram ligados à camada inglesa.

  • Novidade2 páginas sob /en/ com tradução completa — Service Areas (4 chips de âmbito, cartão de equipa única + lista de verificação de 5 itens, mapa de pills de 51 distritos, 3 cartões de serviço, 8 pills de países + CTA de fabricante, processo de 4 passos, 6 FAQ; serviceSchema areaServed com nomes de países EN, howToSchema EN) e Project Request (3 estatísticas, lista de 4 itens, 3 cartões de canal, tipos de projeto do ContactForm EN, tabela de medidas de exemplo, 3 cartões de escala; serviceSchema EN).
  • Melhoriaservice-regions.ts: campo nameEn adicionado aos registos DELIVERY_COUNTRIES — a página EN imprime o nome do país em inglês (render TR exacto).
v1.45.65

Conjunto ERP e Soluções em Inglês (4 páginas)

Os gémeos ingleses das páginas de gestão de sub-revendedores, conta corrente, gestão de garantia/serviço e hub de soluções estão sob /en/.

  • Novidade4 páginas sob /en/ com tradução completa — Sub-Dealer Management (configuração de 4 passos, tabela de autorizações, 4 FAQ), Current Account and Collection Tracking (6 cartões de caraterísticas, Prose de fluxo de caixa, 4 FAQ), Warranty and Service Management (fluxo de serviço de 4 passos, SpecTable de 6 módulos, 4 FAQ) e Our Solutions (4 grupos, 17 cartões de solução — todos ligados a gémeos EN).
  • MelhoriaA ligação interna dealer-customer-management foi actualizada para o gémeo /en/warranty-and-service-management/ recém-aberto.
v1.45.64

Conjunto de Painel de Revendedor em Inglês (4 páginas)

Os gémeos ingleses das páginas de ecrã de encomenda inteligente, preço/orçamento instantâneo, seguimento de envio e gestão de clientes de revendedor estão sob /en/.

  • Novidade4 páginas sob /en/ com tradução completa — Smart Order Screen (fluxo de 4 passos, tabela de entrada por produto, 4 FAQ), Instant Pricing and Quote System (4 cartões de canal, fluxo de margem de 3 passos, 4 FAQ), Shipping and Delivery Tracking (tabela de 5 fases, secção de pagamento à entrega, 4 FAQ) e Dealer Customer Management (SpecTable de cartão de cliente de 5 campos, fluxo do registo à venda, 4 FAQ).
v1.45.63

Conjunto de Páginas de Sistema em Inglês (3 páginas)

Os gémeos ingleses das páginas de pesquisa, offline e 404 estão sob /en/; o SW agora deixa cair a página offline inglesa para pedidos /en/.

  • Novidade3 páginas sob /en/ com tradução completa — página de pesquisa (pesquisa ao vivo Pagefind, mapa de categorias EN com localizeHref, dicionário search.* EN), página offline (selo de estado, lista de cache, contacto offline; textos de estado JS EN, locale de ordenação en) e 404 (cartões de páginas populares ligados a gémeos EN, script beacon igual).
  • Melhoriasw.js: pedidos de navegação sob /en/ agora caem para /en/offline/ quando a ligação falha (antes caía a página turca para todos). Offline EN adicionado ao PRECACHE.
v1.45.62

Conjunto de Páginas Auxiliares em Inglês (2 páginas)

Os gémeos ingleses das páginas de ponte WhatsApp e Mapa do Site estão sob /en/; a camada de dados do mapa do site foi tornada funcional por idioma.

  • Novidade2 páginas sob /en/ com tradução completa — página de ponte WhatsApp (ecrã de redireccionamento, canais de contacto, lista de perguntas, função de ponte) e Mapa do Site (filtro ao vivo, cartões de grupo/secção, textos de estado).
  • CorrecçãogetSiteMap(lang) comparava hrefs TR com o conjunto de slugs do idioma, por isso o mapa EN devolvia quase vazio. Agora o slug local é verificado com translateSlug; as etiquetas são obtidas exactamente do title do PageLayout da página de destino ou da camada de dados EN (famílias aplicação/montagem/produto/preço), a ligação de cobertura cai para a primeira linha se não houver gémeo.
  • CorrecçãoA classificação de páginas do content-audit extract.mjs procurava sob src/pages/ com leaf-slug — todas as páginas EN eram marcadas erradamente como dynamic. O caminho fonte agora é derivado do caminho relativo ao URL; as páginas EN distribuíram-se por tipos correctos como static/application-detail.
  • InfraestruturaSITE.hours.shortEn adicionado (Mon–Fri/Sat/Sun). O filtro do mapa do site EN usa toLocaleLowerCase('en') + textos de estado ingleses; a página TR e o comportamento do script foram preservados exactos.
v1.45.61

Conjunto de Suporte a Revendedores em Inglês (3 páginas)

Os gémeos ingleses das páginas Seguimento Encomenda-Produção, Suporte de Website Gratuito e Suporte SEO/GEO Local Gratuito estão sob /en/.

  • Novidade3 páginas sob /en/ com tradução completa — seguimento de produção (percurso de produção de 6 fases, Prose de transparência + lista de 5 itens, 4 FAQ), suporte de website (6 caraterísticas, configuração de 4 passos, Prose white-label, 4 FAQ) e suporte SEO/GEO (SpecTable de 6 serviços, processo de 4 passos, 4 FAQ).
  • InfraestruturaBreadcrumb Home→Dealership→página — cadeia /en/dealership/ preservada. articleSchema/howToSchema/serviceSchema lang=en; ligações internas para gémeos EN (/en/quality-control/, /en/dealership/, /en/insect-screens/, /en/pleated-blinds/, /en/zip-screens/). 3 rotas adicionadas ao SLUG_MAP + PAGE_COVERAGE.
v1.45.60

Conjunto de Serviços de Produção em Inglês (3 páginas)

Os gémeos ingleses das páginas Produção por Medida Personalizada, Fabrico Private Label e Envio de Amostras estão sob /en/.

  • Novidade3 páginas sob /en/ com tradução completa — medida personalizada (Prose porquê/quais produtos, processo de 3 passos, 3 vantagens, calculadora), private label (definição OEM, para quem, 4 superfícies de marca, processo de 4 passos, 4 FAQ) e envio de amostras (4 tipos de amostra, Prose porquê-amostra, processo de 4 passos, 4 FAQ).
  • InfraestruturaCalculator.astro consciente do idioma: placeholder e.g./örn., separador decimal data-decimal, modelo de texto de orçamento WhatsApp data-wa-msg — render TR preservado exacto. howToSchema lang=en. Cartões do hub actualizados para 3 rotas EN. 3 rotas adicionadas ao SLUG_MAP + PAGE_COVERAGE.
v1.45.59

Conjunto de Expedição em Inglês (4 páginas de serviço)

Os gémeos ingleses das páginas Controlo de Qualidade, Embalagem, Carga-Logística e Expedição Produto Acabado-Desmontado estão sob /en/.

  • Novidade4 páginas sob /en/ com tradução completa — controlo de qualidade (4 pontos de controlo, cadeia de 4 fases, 4 FAQ), embalagem (texto padrão, conteúdo da embalagem, 4 tipos de pacote, processo de 4 passos, 4 FAQ), carga-logística (3 zonas de entrega, envio de 4 passos, 4 FAQ) e expedição acabado-desmontado (2 cartões de modelo, tabela de comparação de 4 critérios, processo de 4 passos, 4 FAQ).
  • InfraestruturaarticleSchema/serviceSchema lang=en + areaServed Worldwide com a ordem de parâmetros correcta; tableSchema EN. Cartões do hub actualizados para as rotas /en/quality-control/, /en/packaging/, /en/shipping-and-logistics/, /en/finished-and-knock-down-shipment/. Ligações internas para gémeos EN (/en/insect-screens/, /en/curtains/, /en/insect-screen-installation-types/). 4 rotas adicionadas ao SLUG_MAP + PAGE_COVERAGE.
v1.45.58

Hub de Serviços + Conjunto de Garantia em Inglês (3 páginas)

Os gémeos ingleses das páginas Os Nossos Serviços, Garantia e Fornecimento de Peças e Pedido de Garantia estão sob /en/: Our Services, Warranty e Warranty Claim.

  • Novidade3 páginas sob /en/ com tradução completa — hub de serviços (9 cartões de serviço, esquema itemList), compromisso de garantia (5 itens, 3 estatísticas, tabela de cobertura, listas dentro/fora da cobertura, cadeia de códigos de produto, processo de reclamação de 4 passos, 8 FAQ) e formulário de pedido de garantia (lista de assuntos do ContactForm EN).
  • InfraestruturaCadeia de breadcrumb da Garantia Home → Our Services → página — a página-mãe /en/our-services/ foi aberta na mesma unidade (regra da cadeia). Os 7 cartões de serviço sem gémeo EN foram deixados na rota TR (sem 404); as ligações com gémeo para a rota /en/ (order/installation terms, products). articleSchema/serviceSchema/howToSchema lang=en. 3 rotas adicionadas ao SLUG_MAP + PAGE_COVERAGE.
v1.45.57

Conjunto de Montra em Inglês (3 páginas)

Os gémeos ingleses das páginas As Nossas Referências, Os Nossos Projetos e Galeria estão sob /en/: Our References, Our Projects e Gallery.

  • Novidade3 páginas sob /en/ com tradução completa — referências (3 cartões de segmento, LogoGrid de parceria de produção europeia, 38 clientes empresariais, cartões de avaliações Google), projetos (3 âmbitos, 3 estatísticas, processo de projeto de 7 passos, vantagens do fabricante, secção de arquivo) e galeria (4 cartões de âmbito, 3 cartões de fonte).
  • InfraestruturaNomes de países em inglês com o mapeamento COUNTRY_EN (Germany/Netherlands/Denmark); datas de avaliações com o padrão enDate (October 2026); textos de avaliações Google preservados exactos por convenção de citação verificável (igual a /en/reviews/). 3 rotas adicionadas ao SLUG_MAP + PAGE_COVERAGE.
v1.45.56

Conjunto de Média/Descoberta em Inglês (3 páginas)

Os gémeos ingleses das páginas Kit de Média, Informação para Sistemas de IA e Redes Sociais estão sob /en/: Media Kit, Information for AI Systems e Social Media.

  • Novidade3 páginas sob /en/ com tradução completa — kit de média (definição curta/longa da empresa, 3 variantes de logótipo, 4 cores de marca, tipografia, 4 grupos de fotos, tabela de ficha técnica, 4 FAQ), página de informação IA (resumo do site, definição oficial, tabela de 12 ficheiros legíveis por máquina, política de utilização) e redes sociais (6 cartões de canal, lista de verificação); articleSchema EN produzido.
  • InfraestruturaO texto copy-toast do kit de média foi movido para o atributo data-mk-toast — os dois idiomas partilham o mesmo handler, render TR preservado exacto. Âncoras de secção nomeadas em EN (#description, #colors, #photos, #press-releases, #company-details, #contact). 3 rotas adicionadas ao SLUG_MAP + PAGE_COVERAGE (/media-kit/, /llm-info/, /social-media/), 2 etiquetas ao nav.ts.
v1.45.55

Conjunto de Montadores em Inglês (2 páginas)

Os gémeos ingleses do directório de Montadores e da página de candidatura Tornar-se Montador estão sob /en/: Installers e Become an Installer.

  • Novidade2 páginas sob /en/ com tradução completa — directório de parceiros de montagem por distrito/concelho (etiquetas de selo e especialidade EN, vistas de nome de empresa), script de filtro e localização com textos EN, cartões do sistema de selos, processo de candidatura de 4 passos, formulário de candidatura (lista de especialidades EN) e 3 FAQ; articleSchema, itemListSchema, faqSchema e serviceSchema EN produzidos.
  • InfraestruturaCamada de dados src/i18n/en/montajcilar.ts (UZMANLIK_LABELS_EN, ROZETLER_EN, IL_EN, IL_COORDS_EN, montajciEn). O script de montadores TR lê strings dos atributos data-str-* — os dois idiomas partilham o mesmo handler, render TR preservado exacto. 2 rotas adicionadas ao SLUG_MAP + PAGE_COVERAGE (/installers/, /become-an-installer/).
  • CorrecçãoserviceSchema agora aceita o parâmetro lang (padrão tr) e a fuga inLanguage do esquema em 16 páginas EN foi fechada: articleSchema lang: en em 13 páginas, serviceSchema lang: en em career + become-an-installer, howToSchema lang: en em dealership — não resta tr-TR na saída EN.
v1.45.54

Conjunto de Carreiras em Inglês (2 páginas + JobForm)

Os gémeos ingleses das páginas Carreira e Recursos Humanos estão sob /en/: Career e Careers; o componente JobForm foi tornado consciente do idioma.

  • Novidade2 páginas sob /en/ com tradução completa — 6 cartões de área de trabalho + formulário de candidatura (lista de assuntos em inglês + campo CV), texto de organização do trabalho, 4 cartões de unidade, processo de candidatura de 3 passos, 3 FAQ; serviceSchema e faqSchema EN produzidos.
  • InfraestruturaJobForm agora consciente do idioma: listas de posição e experiência, placeholders, textos de upload de CV, consentimento RGPD, textos de submit e toast ramificam EN/TR; as strings dentro do script são alimentadas via data-*. 2 rotas adicionadas ao SLUG_MAP + PAGE_COVERAGE (/career/, /careers/); etiqueta de carreira adicionada ao nav.ts.
v1.45.53

Conjunto de Documentação em Inglês (3 páginas)

Os gémeos ingleses das páginas Textos de Especificação, Documentos e Certificados e Catálogo estão sob /en/: Specification Documents, Certificates & Documents e Catalogue.

  • Novidade3 páginas sob /en/ com tradução completa — textos de especificação prontos e tabelas de valores técnicos das 8 famílias de produtos (camada de dados FAMILY_SPECS_EN + SARTNAMELER_EN), cartões de tipos de documento + SpecTable de pedido, cartões de família do catálogo + lista de modelos ao vivo (com nomes de produto EN e mapeamento de slug EN) traduzidos exactamente; incluindo toast de cópia, FAQ, SubNav e textos CTA; articleSchema, faqSchema, tableSchema e itemListSchema EN produzidos.
  • Infraestrutura3 rotas adicionadas ao SLUG_MAP + PAGE_COVERAGE: /specification-documents/, /certificates-and-documents/, /catalogue/. Os textos de especificação EN são produzidos com a mesma lógica de modelo do TR — quando o valor muda, é actualizado nos dois idiomas.
v1.45.52

Conjunto Institucional + Orçamento em Inglês (3 páginas)

Os gémeos ingleses das páginas Porquê FENETRE Systems, A Nossa Fábrica e Pedir Orçamento estão sob /en/: Why FENETRE Systems, Our Production Plant e Get a Quote.

  • Novidade3 páginas sob /en/ com tradução completa — seis cartões de razão, listas dentro/fora do âmbito, três passos qualidade-garantia, cartões de infraestrutura de revendedor, tabela do centro de produção da fábrica, SpecTable de 4 estações + fluxo de 6 fases + controlo, 3 passos do processo de orçamento, lista de determinantes de preço e formulário de orçamento (incluindo lista de assuntos Product Group) traduzidos exactamente; HowTo e articleSchema EN produzidos.
  • Infraestrutura3 rotas adicionadas ao SLUG_MAP + PAGE_COVERAGE; /en/why-fenetre-systems/ adicionado ao LEAF_H1_EXEMPT (mesma regra da exceção TR). A ponte de orçamento EN agora cai para a rota /en/get-a-quote/ — o fluxo da calculadora de preço ao pedido de orçamento é inglês de ponta a ponta.
v1.45.51

Conjunto de Cálculo de Preço em Inglês (9 páginas)

Os gémeos ingleses da página principal de Cálculo de Preço e das 8 calculadoras de família estão sob /en/: Price Calculator + Insect Screen, Pleated Insect Screen, Pleated Blind, Honeycomb Blind, Duette Blind, Venetian Blind, Zip Screen e Curtain Price Calculator.

  • Novidade/en/price-calculator/ + 8 páginas de família — a camada de dados src/i18n/en/pricing.ts foi escrita: todas as etiquetas de variante/opção das 8 famílias, registos de FAQ por família, textos FAMILY_COPY (desc/aralik/CTA) e FAMILY_CALC (intro/note) traduzidos exactamente; as ligações dentro de aralik foram ligadas à rota /en/ das que têm gémeo EN.
  • InfraestruturaOs componentes PriceCalculator e FamilyPricePage tornaram-se conscientes do idioma com getLangFromUrl — etiquetas, botões, textos de toast/cópia (data-calc-i18n) e formato de número (en-GB) em inglês no modo EN; o esquema WebApplication imprime inLanguage=en-US e URL /en/. 9 rotas processadas no SLUG_MAP + PAGE_COVERAGE.
v1.45.50

Conjunto de Valores Institucionais em Inglês (4 páginas)

Os gémeos ingleses das páginas Os Nossos Valores, Missão e Visão, A Nossa História e Sustentabilidade estão sob /en/: Our Values, Mission & Vision, Our History e Sustainability.

  • Novidade4 páginas institucionais sob /en/ com tradução completa — cartões de valores, SpecTable "equivalente na prática" (grupo What It Looks Like in the Field), cartões de declaração de missão/visão, grelha de princípios de 6 itens, cronologia de 6 marcos, lista de 4 colunas de sustentabilidade e todos os campos FAQ/CTA/meta traduzidos exactamente com a fonte TR.
  • Infraestrutura4 registos de slug no SLUG_MAP + PAGE_COVERAGE; etiqueta /surdurulebilirlik/ → Sustainability adicionada ao nav.ts (as ligações institucionais resolvem em inglês no menu institucional). Cadeia de breadcrumb Home → Corporate → página, caminhos articleSchema/tableSchema apontam para a rota /en/.
v1.45.49

Conjunto de Políticas em Inglês Concluído (8 páginas) — Conjunto Legal Fechado

A página-mãe As Nossas Políticas e os 7 documentos de política ligados estão sob /en/ com tradução completa: índice Our Policies, Shipping & Delivery, Privacy Policy, Data Protection Disclosure, Cookie Policy, Explicit Consent Notice, Commercial Message Consent e Accessibility Statement.

  • NovidadePágina de índice /en/our-policies/ e 7 gémeos de documentos produzidos — com a prop lang do LegalPage: crumb Home, etiqueta Last updated e articleSchema lang=en; tabela de cookies (nome/fonte/função/duração/tipo), bloco de responsável de dados RGPD, métodos de revogação de consentimento e regras de partilha alfandegária incluindo todos os textos de artigos traduzidos exactamente.
  • Infraestrutura8 registos de slug no SLUG_MAP + PAGE_COVERAGE — as ligações legais do footer e o selector de idioma também resolvem inglês de ponta a ponta no conjunto de políticas. Ao LegalPage foi adicionado no modo en o aviso "o texto TR prevalece legalmente" (regra de tradução: documentos RGPD/legais).
v1.45.48

Conjunto de Contractos em Inglês Concluído (8 páginas)

A página-mãe Os Nossos Contractos e os 7 documentos de contracto ligados estão sob /en/ com tradução completa: índice Our Contracts, Terms of Use, Order & Custom Production Terms, Installation & Application Terms, Trade Secret, Dealership, Supply e Distributorship Agreement.

  • NovidadePágina de índice /en/our-contracts/ e 7 gémeos de documentos produzidos — prop lang adicionada ao LegalPage (crumb Home, etiqueta Last updated, articleSchema lang=en). Todos os textos de artigos, ligações internas (os que têm gémeo inglês para a rota /en/, os que não têm preservados para o destino TR) e campos de esquema traduzidos; os nomes de página correspondem exactamente com a camada de etiquetas nav.ts.
  • Infraestrutura8 registos de slug no SLUG_MAP + PAGE_COVERAGE — as ligações legais do footer e o selector de idioma resolvem agora inglês de ponta a ponta neste conjunto.
v1.45.47

Família de Aplicações de Cortinas em Inglês Concluída (37 páginas) — Conjunto de Aplicações Fechado

A família de aplicações de cortinas está sob /en/ com tradução completa numa única versão: 7 grupos e 30 detalhes — Homes (11), Commercial Spaces (5), Special Spaces (2), Special Structures (2), Vehicles (3), Geometric & Sloped Windows (3), Healthcare & Education Buildings (4). A última das oito famílias; o conjunto de aplicações foi totalmente traduzido.

  • Novidade7 grupos de aplicação e 30 páginas de detalhe produzidos sob /en/ — em cada detalhe, o mapeamento de adequação Suitable/Conditional/Not Suitable e os textos de justificação foram traduzidos exactamente para os 8 tipos de cortina (Roller, Zebra, Screen, Vertical, Blackout, Motorised, Roman, Ceiling): zona de salpicos de cozinha e condição de vapor, escuridão de sono e fuga lateral no quarto, obrigação sem corda no quarto de criança, equilíbrio zebra/screen/vertical na sala, plano interior da marquise, plano de pisos da moradia, ligação sem perfuração da pré-fabricada, limite honesto do hall; condição FR do escritório, distinção montra-interior da loja, condição salão-cozinha do café, padrão de quarto de hotel, posição de impacto do ginásio; dois planos da estufa, limite aberto-fechado da varanda, condição de tensão do sótão, orçamento de peso da tiny house; vibração da caravana, humidade salgada do barco, certificado marítimo do navio; tensão no inclinado, tipo único no tecto, corte por molde no triangular/trapézio; distinção de zonas do hospital, privacidade da clínica, sem corda+sono do jardim de infância, blackout de precisão de dados do laboratório.
  • InfraestruturaPERDE_GROUPS_EN criado — 7/7 grupos, 30/30 detalhes, 240 mapeamentos de adequação com tradução completa, a família fechou de uma vez. 37 registos de slug no SLUG_MAP + PAGE_COVERAGE. Todas as 8 famílias do conjunto de aplicações estão agora sob /en/.
v1.45.46

Família de Aplicações de Estore Zip em Inglês Concluída (21 páginas)

A família de aplicações de estore zip está sob /en/ com tradução completa numa única versão: 4 grupos e 17 detalhes — Homes (7), Commercial Spaces (4), Special Spaces (4), Vehicles (2).

  • Novidade4 grupos de aplicação e 17 páginas de detalhe produzidos sob /en/ — resistência ao vento do tecido bloqueado na calha lateral, corte do sol na linha do vidro, barreira contra insectos e privacidade; modo de cassete da varanda, disposição motorizada e sensor do terraço, combinação vidro+zip da marquise, sombreamento exterior da moradia e conformidade RAL, sistema leve da pré-fabricada e capacidade do painel, condição de vento alto do sótão, corte de calor exterior da fachada; extensão de época do café, terraço de quarto de hotel + área comum, protecção de montra da loja, carga de climatização e brilho do escritório; efeito de estufa da estufa de jardim, produto de plano exterior da varanda, complemento de sala aberta da pérgola, resistência à humidade da piscina; variante desmontável da caravana, revestimento marítimo e resistência ao sal do barco — todos os artigos traduzidos exactamente com a fonte.
  • InfraestruturaZIP_GROUPS_EN criado — 4/4 grupos, 17/17 detalhes com tradução completa, a família fechou de uma vez. 21 registos de slug no SLUG_MAP + PAGE_COVERAGE.
v1.45.45

Família de Aplicações de Persiana em Inglês Concluída (37 páginas)

A família de aplicações de persiana (veneziana) está sob /en/ com tradução completa numa única versão: 7 grupos e 30 detalhes — Homes (11), Commercial Spaces (5), Special Spaces (2), Special Structures (2), Vehicles (3), Geometric & Sloped Windows (3), Healthcare & Education Buildings (4).

  • Novidade7 grupos de aplicação e 30 páginas de detalhe produzidos sob /en/ — superfície lavável da lamela de alumínio/PVC, luz+privacidade precisa com o ângulo da lamela e resistência à humidade; zona de salpicos da cozinha e resistência do fogão, vapor da casa de banho e regra de material, limite de blackout honesto no quarto, obrigação de vara/sem corda no quarto de criança, condição de plano interior da marquise, variante por piso da moradia, capacidade de aparafusar no painel da pré-fabricada, vidro de entrada do hall; brilho de ecrã do escritório e motor em grupo, distinção montra-interior da loja, higiene de cozinha do café, privacidade do quarto de hotel, limite de impacto do ginásio; condensação da estufa e condição de vento da varanda; distinção plano vertical-inclinado do sótão, condição de vibração da tiny house; ruído de vibração da caravana, corrosão de sal do barco, certificado marítimo do navio; limite de ângulo no inclinado, realidade de não funcionamento no tecto horizontal, problema de aresta inclinada no triangular/trapézio; condição de higiene do hospital, privacidade de exame da clínica, proibição de corda do jardim de infância, distinção blackout-esterilização do laboratório — todos os artigos traduzidos exactamente com a fonte.
  • InfraestruturaJALUZI_GROUPS_EN criado — 7/7 grupos, 30/30 detalhes com tradução completa, a família fechou de uma vez. 37 registos de slug no SLUG_MAP + PAGE_COVERAGE.
  • CorrecçãoVerificação de originalidade: o texto do grupo /ozel-mekanlar-icin-honeycomb-perde/ foi separado das páginas irmãs; os textos de grupo saúde/espaços-especiais do honeycomb EN foram reformulados mantendo a sincronização com a fonte actual; a repetição de frase nota–pontuação na página do hotel foi resolvida.
v1.45.44

Família de Aplicações de Estore Duet em Inglês Concluída (37 páginas)

A família de aplicações de estore duet está sob /en/ com tradução completa numa única versão: 7 grupos e 30 detalhes — Homes (11), Commercial Spaces (5), Special Spaces (2), Special Structures (2), Vehicles (3), Geometric & Sloped Windows (3), Healthcare & Education Buildings (4).

  • Novidade7 grupos de aplicação e 30 páginas de detalhe produzidos sob /en/ — o retorno de isolamento mais forte/escurecimento mais profundo/filtragem mais suave do favo de dupla camada; condição de vapor e distância do fogão na cozinha, limite honesto de tecido na casa de banho, obrigação de plano interior da marquise, variante por piso da moradia, ligação sem perfuração da pré-fabricada; corte de brilho do escritório e variante FR, distinção montra-interior da loja, limite de cozinha do café, padrão quarto-piso do hotel, condição de impacto do ginásio; condição de condensação da estufa, distinção interior-exterior da varanda; inclinado tensionado do sótão, orçamento de peso da tiny house; vibração da caravana, sal-humidade do barco, certificado marítimo do navio; distinções de sistema inclinado/tecto/triangular e limite de decisão de peso; limite de higiene hospital-clínica, segurança sem corda do jardim de infância, condição luz-químicos do laboratório — todos os artigos traduzidos exactamente com a fonte.
  • InfraestruturaDUET_GROUPS_EN criado — 7/7 grupos, 30/30 detalhes com tradução completa, a família fechou de uma vez. 37 registos de slug no SLUG_MAP + PAGE_COVERAGE.
v1.45.43

Família de Aplicações Honeycomb em Inglês Concluída — Últimos 6 Grupos (25 páginas)

Os seis grupos restantes da família de aplicações de estore honeycomb estão sob /en/ com tradução completa: Commercial Spaces (Office, Store, Café & Restaurant, Hotel, Gym), Special Spaces (Winter Garden, Veranda), Special Structures (Attic, Tiny House), Vehicles (Caravan, Boat & Yacht, Ship), Geometric & Sloped Windows (Sloped, Roof, Triangular & Trapezoid) e Healthcare & Education Buildings (Hospital, Clinic, Kindergarten, Laboratory) — 6 grupos + 19 páginas de detalhe.

  • Novidade6 grupos de aplicação e 19 páginas de detalhe produzidos sob /en/ — brilho de ecrã do escritório e privacidade de reunião, luz de montra da loja e blackout de stock, limite de vapor do café, distinção quarto-divisória do hotel, condição de impacto do ginásio; ponte térmica da estufa e plano interior-exterior da varanda; tecto inclinado do sótão e sistema leve da tiny house; vibração e peso da caravana, condição sal-humidade do barco, limite de certificado marítimo do navio; obrigatoriedade de guia tensionada na janela inclinada, tensão de duas pontas e motor na claraboia, corte por molde no triangular/trapézio; limite de higiene do hospital, privacidade de exame da clínica, segurança sem corda do jardim de infância, controlo de luz e condição de vapores químicos do laboratório — todos os artigos traduzidos exactamente com a fonte.
  • InfraestruturaEm HONEYCOMB_GROUPS_EN os grupos comerciais, espaços especiais, estruturas especiais, veículos, geométrico-inclinados e saúde-educação foram completados — a família fechou com 7/7 grupos e 30/30 detalhes. 25 registos de slug no SLUG_MAP + PAGE_COVERAGE.
v1.45.42

Aplicação Honeycomb em Inglês — Grupo Habitações em Produção (12 páginas)

O primeiro grupo da família de aplicações de estore honeycomb está sob /en/ com tradução completa: o grupo Homes e os detalhes Kitchen, Living Room, Bedroom, Children's Room, Teen Room, Study, Bathroom & WC, Glass Balcony, Villa, Prefab House, Hallway — 1 grupo + 11 páginas de detalhe.

  • NovidadeO grupo de habitações de aplicação honeycomb e 11 páginas de detalhe foram produzidos sob /en/ — regra de distância fogão-lava-loiça e limite de vapor, distinção tampão térmico e luz difusa, variante blackout e fuga lateral, segurança sem corda, condição honesta na casa de banho, plano interior-exterior na marquise, sistema leve de parede de painel, limite de hall sem janela — todas as áreas traduzidas exactamente com a fonte.
  • InfraestruturaHONEYCOMB_GROUPS_EN criado — todos os 7 títulos de grupo traduzidos, grupo de habitações completo com 11/11 itens (os itens dos 6 grupos restantes na próxima versão). 12 registos de slug no SLUG_MAP + PAGE_COVERAGE.
v1.45.41

Família de Aplicações de Estore Plissado em Inglês Concluída — Últimos 3 Grupos (13 páginas)

Os três grupos restantes da família de aplicações de estore plissado estão sob /en/ com tradução completa: Vehicles (Caravan, Boat & Yacht, Ship), Geometric & Sloped Windows (Sloped, Roof, Triangular & Trapezoid) e Healthcare & Education Buildings (Hospital, Clinic, Kindergarten, Laboratory) — 3 grupos + 10 páginas de detalhe.

  • Novidade3 grupos de aplicação e 10 páginas de detalhe produzidos sob /en/ — vibração/peso da caravana e montagem compacta, ferragem para ar salgado do barco e vidro moldado, planeamento por tipo de cabine do navio e distinção refit/estaleiro; obrigatoriedade de tensão e medição de ângulo na janela inclinada, plano horizontal e acesso do motor na claraboia, obrigatoriedade de molde no triangular/trapézio; distinção quarto-divisória do hospital e protocolo de higiene, privacidade de exame na clínica e padrão de filial, blackout de sono e segurança sem corda no jardim de infância, controlo de luz e resistência química no laboratório — todos os artigos traduzidos exactamente com a fonte.
  • InfraestruturaEm PLISE_PERDE_GROUPS_EN os grupos veículos, geométrico-inclinados e saúde-educação foram completados — a família fechou com 7/7 grupos e 30/30 detalhes. 13 registos de slug no SLUG_MAP + PAGE_COVERAGE.
v1.45.40

Aplicação de Estore Plissado em Inglês — Grupos Espaços Especiais + Estruturas Especiais (6 páginas)

Mais dois grupos do conjunto de aplicações de estore plissado estão sob /en/ com tradução completa: Special Spaces (Winter Garden, Veranda) e Special Structures (Attic, Tiny House) — 2 grupos + 4 páginas de detalhe.

  • Novidade2 grupos de aplicação e 4 páginas de detalhe produzidos sob /en/ — efeito de estufa e sistema de tensão de tecto, distinção varanda aberta/envidraçada e encaminhamento zip, obrigatoriedade de tensão em calha no plano inclinado, equilíbrio de peso e vibração da tiny house — artigos específicos por divisão de 10–11 parágrafos traduzidos exactamente com a fonte.
  • InfraestruturaEm PLISE_PERDE_GROUPS_EN os grupos espaços-especiais e estruturas-especiais foram completados (na família 3/7 grupos, 20/30 detalhes). 6 registos de slug no SLUG_MAP + PAGE_COVERAGE.
v1.45.39

Aplicação de Estore Plissado em Inglês — Grupo Espaços Comerciais em Produção (6 páginas)

O grupo comercial do conjunto de aplicações de estore plissado está sob /en/ com tradução completa: página do grupo Commercial Spaces + 5 detalhes (Office, Store, Café & Restaurant, Hotel, Gym).

  • Novidade1 grupo de aplicação e 5 páginas de detalhe produzidos sob /en/ — em cada detalhe tradução completa: intro, 4 pontos, 3 notas de aplicação, artigo específico do espaço de 10–11 parágrafos, CTA e breadcrumb; as realidades comerciais foram preservadas exactamente com a fonte (privacidade de divisória de vidro, distinção montra/cabine/armazém, sombra na linha da mesa, tabela de tipos de quarto, humidade do balneário).
  • InfraestruturaO grupo comercial de PLISE_PERDE_GROUPS_EN ficou completo com 5/5 detalhes. 6 registos de slug no SLUG_MAP + PAGE_COVERAGE.
v1.45.38

Aplicação de Estore Plissado em Inglês — Grupo Habitações em Produção (12 páginas)

O primeiro grupo do conjunto de aplicações de estore plissado está sob /en/ com tradução completa: página do grupo Homes + 11 detalhes de divisão (Kitchen, Living Room, Bedroom, Children's Room, Teen Room, Study, Bathroom & WC, Glass Balcony, Villa, Prefab House, Hallway).

  • Novidade1 grupo de aplicação e 11 páginas de detalhe produzidos sob /en/ — em cada detalhe tradução completa: intro, 4 pontos, 3 notas de aplicação, artigo específico da divisão de 10–11 parágrafos, CTA e breadcrumb; as distinções técnicas foram preservadas exactamente com a fonte (modelo dia-noite, escolha de ligação friso/gancho/parafuso, tecido série humidade, fuga lateral e regra de canal).
  • InfraestruturaNova camada de dados inglesa: src/i18n/en/plise-perde-uygulama.ts (PLISE_PERDE_GROUPS_EN — 7 títulos de grupo com tradução completa, os 11 detalhes do grupo de habitações completos; os itens dos 6 grupos restantes nas próximas versões). 12 registos de slug no SLUG_MAP + PAGE_COVERAGE.
v1.45.37

Páginas de Grupo + Detalhe de Aplicação de Mosquiteiro Plissado em Inglês em Produção (25 páginas)

Os cinco grupos e 20 detalhes do conjunto de aplicações de mosquiteiro plissado estão sob /en/ com tradução completa: Habitações (8), Espaços Comerciais (5), Espaços Especiais (2), Veículos (2), Saúde-Educação (3) — com mapeamentos de tipo de soleira e folha.

  • Novidade5 grupos de aplicação e 20 páginas de detalhe produzidos sob /en/: Homes (Living Room, Kitchen, Bedroom, Glass Balcony, Villa, Prefab Home, Attic, Tiny House), Commercial Spaces (Café & Restaurant, Hotel, Office, Store, Gym), Special Spaces (Winter Garden, Veranda), Vehicles (Caravan, Boat & Yacht), Healthcare & Education (Hospital, Clinic, Kindergarten) — em cada detalhe mapeamento de tipo de soleira (threshold-free ≤7 mm / com rampa) e tipo de folha (horizontal/vertical/double/sliding/pleated-blind) (Suitable/Conditional/Not suitable), artigo, notas de aplicação e páginas relacionadas; a ordem de verdict foi verificada exacta com a fonte TR.
  • InfraestruturaNova camada de dados inglesa: src/i18n/en/plise-sineklik-uygulama.ts (PLISE_SINEKLIK_GROUPS_EN — tradução completa de 5 grupos × 20 detalhes). 25 registos de slug no SLUG_MAP + PAGE_COVERAGE.
v1.45.36

Páginas de Grupo + Detalhe de Aplicação de Mosquiteiro em Inglês — Habitações e Comerciais, Família Concluída (18 páginas)

Os últimos dois grupos do conjunto de aplicações de mosquiteiro estão sob /en/ com tradução completa: Habitações (11 detalhes) e Espaços Comerciais (5 detalhes) — com 2 grupos + 16 páginas de detalhe, a família de aplicações de mosquiteiro fechou com 7/7 grupos e 30/30 detalhes.

  • Novidade2 grupos de aplicação e 16 páginas de detalhe produzidos sob /en/: Homes (Kitchen, Living Room, Bedroom, Children's Room, Teen Room, Study, Bathroom & WC, Glass Balcony, Villa, Prefab Home, Hallway) e Commercial Spaces (Office, Store, Café & Restaurant, Hotel, Gym) — em cada detalhe análise, mapeamento espaço×tipo (Suitable/Conditional/Not suitable), artigo, notas de aplicação e páginas relacionadas; a ordem de verdict foi verificada exacta com a fonte TR.
  • Infraestruturasrc/i18n/en/sineklik-uygulama.ts completado — 16 registos de detalhe dos grupos habitações e comerciais adicionados; SINEKLIK_GROUPS_EN agora transporta todos os 7 grupos × 30 detalhes. 18 registos de slug no SLUG_MAP + PAGE_COVERAGE.
v1.45.35

Páginas de Grupo + Detalhe de Aplicação de Mosquiteiro em Inglês — Primeiros Cinco Grupos (19 páginas)

Os primeiros cinco grupos do conjunto de aplicações de mosquiteiro estão sob /en/ com tradução completa: Espaços Especiais, Estruturas Especiais, Veículos, Janelas Geométricas-Inclinadas e Edifícios de Saúde-Educação — 5 grupos + 14 páginas de detalhe.

  • Novidade5 grupos de aplicação e 14 páginas de detalhe produzidos sob /en/: Special Spaces (Winter Garden, Veranda), Special Structures (Attic, Tiny House), Vehicles (Caravan, Boat & Yacht, Ship), Geometric & Sloped Windows (Sloped, Roof, Triangular & Trapezoid), Healthcare & Education (Hospital, Clinic, Kindergarten, Laboratory) — em cada detalhe análise, mapeamento espaço×tipo (Suitable/Conditional/Not suitable), artigo, notas de aplicação e páginas relacionadas.
  • InfraestruturaNova camada de dados inglesa: src/i18n/en/sineklik-uygulama.ts (SINEKLIK_GROUPS_EN — 7 registos de grupo + tradução completa dos primeiros 14 detalhes; os itens dos grupos habitações e comerciais na próxima sessão). Os componentes ApplicationDetailPage e ApplicationSubHub foram totalmente localizados com a prop lang — nav, etiquetas de decisão, páginas relacionadas, etiquetas aria, ligações internas (localizeHref/localizeHtml) e articleSchema inLanguage en-US. Campo opcional mekan adicionado ao UygulamaDetail; chaves uygulama.* detalhe/hub adicionadas ao ui.ts. 19 registos de slug no SLUG_MAP + PAGE_COVERAGE.
v1.45.34

Página-Mãe e Páginas de Família de Áreas de Aplicação em Inglês em Produção (9 páginas)

A página-mãe do conjunto de aplicações e as oito páginas de aplicação de família estão sob /en/ com tradução completa: página-mãe Application Areas + famílias Insect Screen, Pleated Insect Screen, Pleated Blind, Honeycomb, Duette, Venetian, Zip e Curtain.

  • NovidadePágina-mãe /en/application-areas/ produzida — índice de aplicações das oito linhas, secção de encaminhamento e CTA. 8 páginas de família: em cada uma intro, cartões de área (6 espaços), 4 notas de selecção, cartões de categoria + mãe e navegação de irmãs — os cartões de grupo também com título/descrição/etiquetas de itens em inglês.
  • InfraestruturaNovas camadas de dados inglesas: src/i18n/en/uygulama-alanlari.ts (UYGULAMA_PAGES_EN — 8 registos de família com tradução completa) e src/i18n/en/uygulama-cards.ts (UYGULAMA_CARDS_EN — título/meta EN de 51 grupos + etiqueta de espaço EN de 207 itens de detalhe). O componente ApplicationAreaPage foi totalmente localizado com a prop lang: chaves ui.ts uygulama.*, frases de variação EN, ligações internas com localizeHref/localizeHtml e articleSchema inLanguage en-US. 9 slugs de aplicação adicionados ao SLUG_MAP + PAGE_COVERAGE.
v1.45.33

Página-Mãe e Páginas de Família de Tipos de Montagem em Inglês em Produção (9 páginas)

A página-mãe do conjunto de montagem e as oito páginas de tipos de montagem de família estão sob /en/ com tradução completa: página-mãe Installation Types + famílias Insect Screen, Pleated Insect Screen, Pleated Blind, Honeycomb, Duette, Venetian, Zip e Curtain.

  • NovidadePágina-mãe /en/installation-types/ produzida — quatro perguntas de ligação, cartões de família e tabela de comparação com/sem perfuração por família. 8 páginas de família: mosquiteiro (4 métodos de ligação + selecção de caixilho + notas de medida), mosquiteiro plissado (tabela de tipos de soleira + profundidades de caixa + fluxo desmontado), estore plissado (tabela de comparação de 5 tipos), honeycomb (3 notas técnicas específicas do tecido de favo), duet (lista de selecção de cenário), persiana (3 superfícies de montagem + notas de lamela), zip (fecho/tensão/alimentação + tabela de superfícies), cortina (8 secções separadas de produto + 3 direcções de suporte + regras de aplicação).
  • InfraestruturaNova camada de dados inglesa: src/i18n/en/montaj.ts (MONTAJ_SUBS_EN — 8 sub-mães, nome/descrição/etiqueta EN e campo enSlug de 35 cartões de detalhe). 9 slugs de tipos de montagem adicionados ao SLUG_MAP e PAGE_COVERAGE; o breadcrumb das páginas de detalhe agora liga às páginas de família inglesas. Âmbito 202/826.
v1.45.32

Detalhes de Montagem em Inglês — Grupo Estore Zip em Produção, 34 Registos Concluídos

O último grupo inglês das páginas de detalhe de montagem está em produção: três formas de instalação para estore zip (tecto, parede, fachada) sob /en/ com tradução completa — todos os 34 registos de detalhe de montagem estão agora em inglês.

  • Novidade3 páginas de montagem zip produzidas sob /en/: Ceiling-Mounted, Wall-Mounted e Façade-Mounted Zip Screen — tabela de ligação de plano superior, correspondência bucha-superfície, regras de camada de fachada, elemento inoxidável e explicações de classe de vento traduzidas exactamente.
  • InfraestruturaMONTAJ_DETAIL_PAGES_EN alargado com 3 registos zip; 3 registos de slug de montagem zip adicionados ao SLUG_MAP e PAGE_COVERAGE. Todas as 34 páginas de detalhe de montagem em produção em inglês. Âmbito 193/817.
v1.45.31

Detalhes de Montagem em Inglês — Grupo Persiana em Produção

O sexto grupo inglês das páginas de detalhe de montagem está em produção: seis formas de instalação para persiana (tecto, parede, adaptador de calha, suporte, friso, sobre o caixilho) sob /en/ com tradução completa.

  • Novidade6 páginas de montagem de persiana produzidas sob /en/: Ceiling-Mounted, Wall-Mounted, Curtain-Rail-Adapter, Bracket-Mounted, Recess-Mounted e On-Sash Venetian Blind — tabela de ligação por tipo de tecto, margem de transbordo, condições do adaptador, distribuição do suporte, verificações de profundidade do friso e regras de montagem na folha traduzidas exactamente.
  • InfraestruturaMONTAJ_DETAIL_PAGES_EN alargado com 6 registos de persiana; 6 registos de slug de montagem de persiana adicionados ao SLUG_MAP e PAGE_COVERAGE. Âmbito 190/814.
v1.45.30

Detalhes de Montagem em Inglês — Grupo Mosquiteiro Fixo em Produção

O quinto grupo inglês das páginas de detalhe de montagem está em produção: cinco formas de instalação para mosquiteiro fixo (embutida, sobre a parede, com parafusos, adesiva, com clips) sob /en/ com tradução completa.

  • Novidade5 páginas de montagem de mosquiteiro fixo produzidas sob /en/: Recess-Mounted, Surface-Mounted, Screw-Mounted, Adhesive e Clip-Mounted Insect Screen — tabelas de comparação embutida-sobre parede, tabela de disposição de parafusos, mecânica do retentor de clips e informação de armazenamento sazonal traduzidas exactamente.
  • InfraestruturaMONTAJ_DETAIL_PAGES_EN alargado com 5 registos de mosquiteiro fixo; 5 registos de slug de montagem de mosquiteiro fixo adicionados ao SLUG_MAP e PAGE_COVERAGE. Âmbito 184/808.
v1.45.29

Detalhes de Montagem em Inglês — Grupo Mosquiteiro Plissado em Produção

O quarto grupo inglês das páginas de detalhe de montagem está em produção: cinco formas de instalação para mosquiteiro plissado (com parafusos, embutida, sobre a parede, adesiva, com clips) sob /en/ com tradução completa.

  • Novidade5 páginas de montagem de mosquiteiro plissado produzidas sob /en/: Screw-Mounted, Recess-Mounted, Surface-Mounted, Adhesive e Clip-Mounted Pleated Insect Screen — medida da linha de vedação, tabela de comparação embutida-sobre parede, condições de funcionamento dos clips e regras de desmontagem traduzidas exactamente.
  • InfraestruturaMONTAJ_DETAIL_PAGES_EN alargado com 5 registos de mosquiteiro plissado; 5 registos de slug de montagem de mosquiteiro plissado adicionados ao SLUG_MAP e PAGE_COVERAGE. Âmbito 179/803.
v1.45.28

Detalhes de Montagem em Inglês — Grupo Duet em Produção

O terceiro grupo inglês das páginas de detalhe de montagem está em produção: cinco métodos de montagem para estore duet (com parafusos, adesiva, com ganchos, friso, com suportes) sob /en/ com tradução completa.

  • Novidade5 páginas de montagem de estore duet produzidas sob /en/: Screw-Mounted, Adhesive, Hook-Mounted, Glazing-Bead (Portray) e Bracket-Mounted Duette Blind — realidade de peso da dupla camada, tabela de medidas de canal, comportamento da folha na marquise e construção de isolamento embutido traduzidas exactamente.
  • InfraestruturaMONTAJ_DETAIL_PAGES_EN alargado com 5 registos duet; 5 registos de slug de montagem duet adicionados ao SLUG_MAP e PAGE_COVERAGE. Âmbito 174/798.
v1.45.27

Detalhes de Montagem em Inglês — Grupo Honeycomb em Produção

O segundo grupo inglês das páginas de detalhe de montagem está em produção: cinco métodos de montagem para estore honeycomb (com parafusos, adesiva, com ganchos, friso, com suportes) sob /en/ com tradução completa.

  • Novidade5 páginas de montagem de estore honeycomb produzidas sob /en/: Screw-Mounted, Adhesive, Hook-Mounted, Glazing-Bead (Portray) e Bracket-Mounted Honeycomb Blind — peso da caixa do favo, efeito de célula dupla, tabela de medidas de canal, integridade do isolamento e construção de canal de blackout traduzidas exactamente.
  • InfraestruturaMONTAJ_DETAIL_PAGES_EN alargado com 5 registos honeycomb; 5 registos de slug de montagem honeycomb adicionados ao SLUG_MAP e PAGE_COVERAGE. Âmbito 169/793.
v1.45.26

Detalhes de Montagem em Inglês — Grupo Plissado em Produção

O primeiro grupo inglês das páginas de detalhe de montagem está em produção: cinco métodos de montagem para estore plissado (com parafusos, adesiva, com ganchos, friso, com suportes) sob /en/ com tradução completa.

  • Novidade5 páginas de montagem de estore plissado produzidas sob /en/: Screw-Mounted, Adhesive, Hook-Mounted, Glazing-Bead (Portray) e Bracket-Mounted Pleated Blind — sequências de passos, tabelas de caixilho/superfície, secções de limite, FAQ, páginas relacionadas e textos CTA traduzidos exactamente.
  • InfraestruturaMontajDetail.astro tornado sensível ao idioma: breadcrumb, sub-nav, título de FAQ, páginas relacionadas e predefinições CTA alimentados pelas chaves montaj.* do ui.ts; os caminhos de esquema são produzidos com o prefixo /en.
  • InfraestruturaarticleSchema e howToSchema ganharam o parâmetro opcional lang — nas páginas EN, inLanguage agora imprime en-US em vez de tr-TR. Camada de dados MONTAJ_DETAIL_PAGES_EN e produção de montagem en/[slug] adicionadas; SLUG_MAP e PAGE_COVERAGE alargados com 5 slugs de montagem. Âmbito 164/788.
v1.45.25

Família de Plissado em Inglês Concluída

Os últimos 10 produtos da família de estores plissados (5 semi-blackout, 5 blackout total) estão em produção — todos os 69 produtos da família estão agora sob /en/.

  • Novidade10 páginas de produto plissado blackout produzidas sob /en/: série dim-out (branco, creme, cinzento, antracite, castanho) e série blackout (os mesmos cinco tons) — distinção camada de folha vs cor de superfície, linha de fuga lateral, conversão de tom âmbar, neutralidade de cor e graus de escuridão profunda traduzidos exactamente.
  • NovidadeHelpers EN dimoutSpecs e blackoutPleatedSpecs usados; linhas de tecido, estrutura/classe, dobra, controlo, montagem e comportamento luz/aresta produzidas em inglês com sugestões por produto.
  • InfraestruturaSLUG_MAP, PAGE_COVERAGE e PRODUCT_NAMES_EN alargados com 10 produtos blackout. Família de plissado 69/69 concluída; âmbito 159/783.
v1.45.24

Família de Plissado em Inglês — Grupo Dia-Noite Duplo em Produção

Os 24 produtos da série de plissado duplo dia-noite (6 tons de véu diurno × 4 camadas noturnas) estão em produção sob /en/ com conteúdo inglês completo.

  • Novidade24 páginas de produto plissado duplo dia-noite produzidas sob /en/: camadas diurnas de véu branco, cru, creme, cinzento, cinzento claro e cinzento escuro × camadas noturnas de tecido liso, dim-out, blackout e honeycomb — corpo único de duplo canal, comandos de camada independentes, instalação de friso e distinções de comportamento de luz por camada traduzidas exactamente.
  • NovidadeO helper de spec EN dualDayNightSpecs foi usado em todos os 24 registos; linhas de camada noturna, camada diurna, perfil, controlo, montagem e comportamento de luz produzidas em inglês com sugestões por produto.
  • InfraestruturaSLUG_MAP, PAGE_COVERAGE e PRODUCT_NAMES_EN alargados com 24 produtos de plissado duplo. Âmbito 149/773.
v1.45.23

Família de Plissado em Inglês — Primeiro Grupo em Produção

Os primeiros 35 produtos da família de estores plissados (21 cores lisas, 6 véu, 2 estampados, 6 padrão) estão em produção sob /en/ com conteúdo inglês completo.

  • Novidade35 páginas de produto plissado produzidas sob /en/: cores lisas (white→red 21 tons), série sheer de véu (6 tons), printed e custom-print, variantes de textura padrão (6 tons) — textura em relevo, disposição sem corda, instalação de friso, impressão personalizada aprovada por prova e detalhes de direito de utilização traduzidos exactamente.
  • Novidadesrc/i18n/en/plise-categories.ts completado — camada def EN de 7 categorias + 69 produtos; os produtos vão para produção à medida que o seu conteúdo fica completo.
  • InfraestruturaSLUG_MAP, PAGE_COVERAGE e PRODUCT_NAMES_EN alargados com 35 produtos plissados + 7 nomes de subcategoria; a rota dinâmica EN consome a fonte PLISE_CATEGORIES_EN. Âmbito 125/749.
v1.45.22

Família Duet em Inglês Concluída

Todos os 27 produtos da família duet (7 lisos, 5 véu, 2 estampados, 7 padrão, 6 sunscreen) estão em produção sob /en/ com conteúdo inglês completo.

  • Novidade27 páginas de produto duet produzidas sob /en/: cores lisas (white→black), sheer (branco→cinzento escuro), printed e custom-print, textura padrão e série sunscreen — corte célula dentro de célula, bolsa de ar dupla, instalação de friso, impressão personalizada aprovada por prova e graus de tom de controlo solar traduzidos exactamente.
  • Novidadesrc/i18n/en/duet-categories.ts adicionado (camada def EN de 5 categorias + 27 produtos) e o helper de spec EN duetSpecs foi escrito.
  • InfraestruturaA fonte de família DUET_CATEGORIES_EN foi adicionada à rota dinâmica EN; slug-map, PAGE_COVERAGE e PRODUCT_NAMES_EN alargados com 27 produtos duet.
v1.45.21

Família Honeycomb em Inglês Concluída

Todos os 16 produtos da família honeycomb (7 cores lisas, 2 estampados, 7 padrão) estão sob /en/ com conteúdo inglês completo; a rota EN passou para a estrutura multi-família.

  • Novidade16 páginas de produto honeycomb produzidas sob /en/: cores lisas (white→black), printed e custom-print, variantes de textura padrão — bolsa de ar de célula, instalação de friso, disposição sem corda, impressão personalizada aprovada por prova e detalhes de linha de luz lateral traduzidos exactamente.
  • Novidadesrc/i18n/en/honeycomb-categories.ts adicionado (camada def EN de 3 categorias + 16 produtos) e o helper de spec EN honeycombSpecs foi escrito.
  • Infraestruturaen/[slug].astro passou para a estrutura familySources multi-família — cada família expande-se com os seus próprios dados de categoria EN + nível de breadcrumb (padrão persiana → honeycomb, pronto para plissado/duet). Âmbito 63/687.
  • CorrecçãoproductSchema agora aceita o parâmetro specRows — nas páginas de produto não-TR, as linhas additionalProperty são impressas a partir do array specs no idioma da página; a fuga de PropertyValue turco nas páginas de produto EN (Kumaş yapısı, Hücre düzeni etc.) foi fechada.
  • MelhoriaFrases únicas específicas do tema foram adicionadas a três páginas de grupo de aplicação (duet geométrico, espaços especiais/estruturas especiais de persiana) — quando o limiar de boilerplate subiu para 14 em 687 páginas, as páginas que caíram abaixo da taxa de originalidade de 30% foram levadas de volta acima do limiar.
v1.45.20

Família de Persianas em Inglês Concluída

Os 4 produtos restantes da família de persianas (alumínio 16/25 mm, perfurado, tecido 50 mm) estão sob /en/ com conteúdo inglês completo — família 7/7 completa.

  • Novidade/en/16-mm-, /en/25-mm-aluminium-venetian-blind/, /en/perforated-aluminium-venetian-blind/ e /en/50-mm-fabric-venetian-blind/ produzidos: descrição, montagem, medida, spec, secções de detalhe e 44 FAQ traduzidos exactamente — visão unidireccional de micro-furos, substituição de lamela dobrada, fixação de vidro de porta, detalhes de desvanecimento UV preservados.
  • NovidadeNomes de produtos, mapeamentos de slug e registos de âmbito adicionados; a família de persianas completada em inglês com 7/7 produtos. Âmbito 47/671.
v1.45.19

Produtos de Persiana de Madeira em Inglês + Rota de Família

Os 3 produtos da série de persiana de madeira (25/50/63 mm) estão sob /en/ com conteúdo inglês completo; a rota EN expandiu-se para abranger também as categorias de família.

  • NovidadeO conteúdo EN completo de 3 produtos de persiana de madeira foi adicionado a en/product-pages.ts: descrição, montagem, medida, spec (jaluziSpecsEN), secções de detalhe e 36 FAQ — proporção de lamela, montagem com bucha, decisão de divisória, detalhes de padrão de veio traduzidos exactamente.
  • Novidade/en/25-mm-, /en/50-mm- e /en/63-mm-wooden-venetian-blind/ produzidos; src/i18n/en/jaluzi-categories.ts adicionado — camada de categoria + produto def EN para produtos de família.
  • Infraestruturaen/[slug].astro agora também produz produtos de categoria de família fora do CATALOG (padrão PLISE/JALUZI/DUET/HONEYCOMB); breadcrumb: Products → Venetian Blinds → Wooden Venetian Blinds → produto. Âmbito 43/667.
v1.45.18

Família de Cortinas em Inglês Concluída

A cortina romana e a cortina de tecto estão sob /en/ com conteúdo inglês completo — os 8 produtos da família de cortinas foram completados.

  • Novidade/en/roman-blind/ e /en/ceiling-blind/ produzidos: mecanismo de dobragem, opção de forro, tecido lavável, sistema horizontal com fios de tensão, detalhes de inclinação/condensação/carga de neve traduzidos exactamente.
  • Infraestruturaslug-map + PAGE_COVERAGE[en] actualizados — família de cortinas 8/8 completa; âmbito total 40/664.
v1.45.17

Produtos de Cortina em Inglês (Primeiro Grupo)

Os 6 produtos da família de cortinas (estore, zebra, screen, vertical, blackout, motorizado) estão em produção sob /en/ com conteúdo inglês completo.

  • NovidadeO conteúdo EN completo de 6 produtos de cortina foi adicionado a en/product-pages.ts: descrição, montagem, passos de medida, tabelas spec (perdeSpecsEN), secções de detalhe e FAQ — factor de abertura, tecido blackout de três camadas, disposição de lamelas/calha e detalhes de motor/sensor traduzidos exactamente.
  • NovidadePáginas /en/roller-, /en/zebra-, /en/screen-, /en/vertical-, /en/blackout- e /en/motorised-blind/ produzidas; PRODUCT_DEFS_EN e CATEGORY_EN alargados com entradas de cortina.
  • Infraestrutura6 slugs de produto adicionados ao slug-map; PAGE_COVERAGE[en] 38/662.
v1.45.16

Produtos de Estore Zip em Inglês

Os 6 produtos da família de estore zip (manual, tecto, transparente, interior, exterior, motorizado) estão em produção sob /en/ com conteúdo inglês completo.

  • NovidadeO conteúdo EN completo de 6 produtos de estore zip foi adicionado a en/product-pages.ts: descrição, montagem, passos de medida, tabelas spec (zipSpecsEN), secções de detalhe e FAQ — bloqueio de canal com fecho, classe de vento, motor/sensor e detalhes técnicos de filme transparente traduzidos exactamente.
  • NovidadePáginas /en/manual-, /en/ceiling-, /en/transparent-, /en/interior-, /en/outdoor- e /en/motorised-zip-screen/ produzidas; PRODUCT_DEFS_EN e CATEGORY_EN alargados com entradas zip.
  • Infraestrutura6 slugs de produto adicionados ao slug-map; PAGE_COVERAGE[en] 32/656.
v1.45.15

Produtos de Mosquiteiro Plissado em Inglês

Os 5 produtos da família de mosquiteiro plissado (séries 15/18/25/26/27 mm) estão em produção sob /en/ com conteúdo inglês completo.

  • NovidadeO conteúdo EN completo de 5 produtos de mosquiteiro plissado foi adicionado a en/product-pages.ts: descrição, montagem, passos de medida, tabelas spec, secções de detalhe e FAQ — as diferenças técnicas da série (caixa fina ↔ canal ↔ disposição dupla) traduzidas exactamente.
  • NovidadePáginas /en/15-mm-, /en/18-mm-, /en/25-mm-, /en/26-mm- e /en/27-mm-pleated-insect-screen/ produzidas; PRODUCT_DEFS_EN e CATEGORY_EN alargados com entradas de mosquiteiro plissado.
  • Infraestrutura5 slugs de produto adicionados ao slug-map; PAGE_COVERAGE[en] 26/645.
v1.45.14

Infraestrutura de Detalhe de Produto em Inglês + Família de Mosquiteiros

A rota de detalhe de produto /en/[slug] foi estabelecida; ProductArticle e ProductDetail foram totalmente localizados. Primeira família: 5 produtos de mosquiteiro em inglês.

  • Infraestruturasrc/pages/en/[slug].astro adicionado — a rota dinâmica de produto só produz produtos na intersecção PAGE_COVERAGE ∩ SLUG_MAP ∩ PRODUCT_PAGES_EN; um produto sem tradução nunca é renderizado na rota EN.
  • MelhoriaProductArticle e ProductDetail tornados conscientes do idioma: breadcrumb, botões, separadores, etiquetas de stock/dl, bloco de produtos irmãos, verbos CTA, variantes de frase spec/stock/sibling e secção de avaliações ligados às chaves ui.
  • Novidadesrc/i18n/en/products.ts — camada ProductDef/CategoryDef EN (nome, descrição de cartão, meta, selo). src/i18n/en/product-pages.ts — conteúdo EN completo de 4 produtos (descrição, montagem, medida, spec, secções de detalhe, FAQ).
  • Novidade/en/fixed-insect-screen/, /en/cat-screen/, /en/caravan-insect-screen/, /en/steel-insect-screen/ e /en/motorised-insect-screen/ em produção — a página especial de mosquiteiro fixo foi traduzida exactamente.
  • InfraestruturaGrupo de chaves product.* adicionado ao dicionário ui (TR+EN); 5 slugs de produto ao slug-map; PAGE_COVERAGE[en] 21/640.
v1.45.13

Grupo de Páginas Institucionais em Inglês

/en/corporate/, /en/about-us/, /en/reviews/ e /en/leave-a-review/ foram publicados — o primeiro grupo de idiomas do conjunto institucional foi aberto com tradução completa.

  • Novidadesrc/pages/en/corporate.astro adicionado: 12 cartões de página institucional (título/descrição EN), breadcrumb e CTA — tudo em inglês; os destinos sem tradução caem para a página TR.
  • Novidadesrc/pages/en/about-us.astro adicionado: história, lista de actividades, missão, 4 cartões de valores e banda de estatísticas — tudo em inglês.
  • Novidadesrc/pages/en/reviews.astro adicionado: resumo de pontuação Google, cartões de avaliação (no idioma original), 4 FAQ e CTA duplo — as datas de avaliação são convertidas para nomes de meses ingleses; os textos de avaliação são citados exactamente da fonte.
  • Novidadesrc/pages/en/leave-a-review.astro adicionado: selecção de produto, pontuação por estrelas, consentimento RGPD e formulário com fluxo fetch — etiquetas e mensagens toast em inglês; os nomes de produtos vêm do novo mapa src/i18n/en/product-names.ts.
  • Infraestrutura/kurumsal/ → /corporate/ adicionado ao slug-map; PAGE_COVERAGE[en] alargado (âmbito 16/634).
v1.45.12

Página de Família de Cortinas em Inglês

/en/curtains/ foi publicado — 8 modelos, comparação estore↔zebra, 4 cartões de mecanismo e assistente com tradução completa. Todas as famílias de produtos completas.

  • Novidadesrc/pages/en/curtains.astro adicionado: 8 cartões de produto (nome/descrição/selo EN), cenários de utilização, comparação de 8 modelos, comparação estore↔zebra, 4 cartões de mecanismo, processo, 6 FAQ e assistente de configuração — tudo em inglês.
  • NovidadeOs dados ingleses do assistente de configuração de cortina foram adicionados a en/wizard.ts — todos os assistentes de família estão agora em EN.
  • InfraestruturaPAGE_COVERAGE[en] alargado: /perdeler/ → /en/curtains/ (âmbito 12/634). Todas as 8 famílias de produtos em produção em inglês.
v1.45.11

Página de Família de Estore Zip em Inglês

/en/zip-screens/ foi publicado — 6 modelos, comparação de sistemas, legenda de vento e assistente com tradução completa.

  • Novidadesrc/pages/en/zip-screens.astro adicionado: 6 cartões de produto (nome/descrição/selo EN), cenários de utilização, comparação de modelos, comparação de sistema de canal com fecho, processo, 7 FAQ e assistente de configuração — tudo em inglês.
  • NovidadeOs dados ingleses do assistente de configuração de estore zip foram adicionados a en/wizard.ts.
  • InfraestruturaPAGE_COVERAGE[en] alargado: /zip-perdeler/ → /en/zip-screens/ (âmbito 11/633).
v1.45.10

Página de Família de Persianas em Inglês

/en/venetian-blinds/ foi publicado — cartões de material, medidas de lamela, comparação e assistente com tradução completa.

  • Novidadesrc/pages/en/venetian-blinds.astro adicionado: 3 cartões de material (nome/slogan EN), cenários de utilização, comparação de materiais, cartões de lamela 16/25/50 mm, processo, 6 FAQ e assistente de configuração — tudo em inglês.
  • NovidadeOs dados ingleses do assistente de configuração de persiana foram adicionados a en/wizard.ts.
  • InfraestruturaPAGE_COVERAGE[en] alargado: /jaluzi-perdeler/ → /en/venetian-blinds/ (âmbito 10/632).
v1.45.9

Página de Família de Estores Duet em Inglês

/en/duette-blinds/ foi publicado — cartões de categoria, comparação honeycomb, tipos de montagem e classes de tecido com tradução completa.

  • Novidadesrc/pages/en/duette-blinds.astro adicionado: 5 cartões de categoria (nome/slogan EN), cenários de utilização, comparação honeycomb↔duet, tabela de 5 tipos de montagem, 3 classes de tecido, processo, 6 FAQ e assistente de configuração — tudo em inglês.
  • NovidadeOs dados ingleses do assistente de configuração duet foram adicionados a en/wizard.ts.
  • InfraestruturaPAGE_COVERAGE[en] alargado: /duet-perdeler/ → /en/duette-blinds/ (âmbito 9/631).
v1.45.8

Página de Família de Estores Honeycomb em Inglês

/en/honeycomb-blinds/ foi publicado — cartões de categoria, comparação de ligações, estrutura de células e assistente com tradução completa.

  • Novidadesrc/pages/en/honeycomb-blinds.astro adicionado: 3 cartões de categoria (nome/slogan EN), cenários de utilização, comparação de tipos de ligação, cartões de célula simples/dupla, processo, 6 FAQ e assistente de configuração — tudo em inglês.
  • NovidadeOs dados ingleses do assistente de configuração honeycomb foram adicionados a en/wizard.ts.
  • InfraestruturaPAGE_COVERAGE[en] alargado: /honeycomb-perdeler/ → /en/honeycomb-blinds/ (âmbito 8/630).
v1.45.7

Página de Família de Estores Plissados em Inglês

/en/pleated-blinds/ foi publicado — 7 cartões de categoria, comparação de montagem e assistente de tecido com tradução completa.

  • Novidadesrc/pages/en/pleated-blinds.astro adicionado: cartões de categoria (nome/slogan EN), guia de selecção de montagem, comparação de tipos de ligação, 3 classes de tecido, processo, 7 FAQ e assistente de configuração — tudo em inglês.
  • NovidadeOs dados ingleses do assistente de configuração de estore plissado foram adicionados a en/wizard.ts.
  • InfraestruturaPAGE_COVERAGE[en] alargado: /plise-perdeler/ → /en/pleated-blinds/ (âmbito 7/629).
v1.45.6

Página de Família de Mosquiteiros Plissados em Inglês

/en/pleated-insect-screens/ foi publicado — série de caixas, perfis de soleira e assistente de modelo com tradução completa.

  • Novidadesrc/pages/en/pleated-insect-screens.astro adicionado: 5 cartões de produto com medidas de caixa, guia de selecção, comparação de caixas, 3 perfis de soleira, processo, 7 FAQ e assistente de configuração — tudo em inglês.
  • NovidadeOs dados ingleses do assistente de configuração de mosquiteiro plissado foram adicionados a en/wizard.ts.
  • InfraestruturaPAGE_COVERAGE[en] alargado: /plise-sineklikler/ → /en/pleated-insect-screens/ (âmbito 6/628).
v1.45.5

Página de Família de Mosquiteiros em Inglês

/en/insect-screens/ foi publicado — primeira tradução de família de produtos; o componente ProductWizard ganhou localização completa.

  • Novidadesrc/pages/en/insect-screens.astro adicionado: 5 cartões de produto, guia de selecção, assistente de 3 perguntas, tabela de comparação de 9 modelos, 3 tipos de rede, passos de processo e 7 FAQ — tudo em inglês.
  • InfraestruturaLocalização completa do ProductWizard: progresso, selos, botões, textos gerados por JS (etiquetas de correspondência, mensagem WhatsApp, notificações de cópia) e ligações agora conscientes do idioma; as strings JS são alimentadas por portadores data-str-*.
  • Novidadesrc/i18n/en/wizard.ts adicionado — equivalente inglês do conjunto de perguntas/produtos do assistente da família de mosquiteiros.
  • InfraestruturaPAGE_COVERAGE[en] alargado: /sineklikler/ → /en/insect-screens/ (âmbito 5/627).
v1.45.4

Página de Revendedor em Inglês

/en/dealership/ foi publicado — todas as secções da página de revendedor (modelos, níveis, portal, compromisso de protecção, FAQ) traduzidas para inglês; a localização do DealerForm e DealerNetwork foi concluída.

  • Novidadesrc/pages/en/dealership.astro adicionado: 12 perfis de público-alvo, 3 modelos de negócio, 3 níveis, rede de expedição, critérios, compromisso de protecção, processo de 5 fases, 8 itens de suporte, 10 módulos de portal, garantia e 8 FAQ — tudo em inglês.
  • CorrecçãoLocalização completa do DealerForm: opções de área de actividade/experiência/modelo, etiquetas, placeholders, mensagem de sucesso, texto RGPD e botão de envio agora vêm de chaves ui ou arrays condicionais do idioma.
  • CorrecçãoAs etiquetas do DealerNetwork foram transformadas em props — na página EN as etiquetas do mapa (Europe, Middle East, North Africa, Caucasus) são impressas em inglês.
  • CorrecçãoNo texto RGPD EN a escrita colada "Disclosureand" foi corrigida (espaço inicial do form.kvkkPost).
  • InfraestruturaPAGE_COVERAGE[en] alargado: /bayilik/ → /en/dealership/ (âmbito 4/627).
v1.45.3

Página de Produtos em Inglês

/en/products/ foi publicado — oito linhas de produto, tabela de comparação, guia de selecção e secções de FAQ com tradução completa.

  • Novidadesrc/pages/en/products.astro adicionado: 8 cartões de grupo de produtos, blocos de confiança de produção, guia de selecção de 4 cenários, tabela de comparação de 6 critérios e 8 FAQ — tudo em inglês.
  • CorrecçãoO botão de contacto do CTABlock foi ligado ao localizeHref — nas páginas EN agora vai para /en/contact/.
  • InfraestruturaPAGE_COVERAGE[en] alargado: /urunlerimiz/ → /en/products/ (âmbito 3/626).
v1.45.2

Correcções de Fuga de Chrome EN

Os textos de chrome turcos restantes nas páginas inglesas foram fechados: etiquetas de navegação específicas do footer, botão de e-mail da topbar.

  • Correcção12 etiquetas específicas do footer adicionadas a NAV_LABELS (A Nossa Fábrica, Os Nossos Valores, A Nossa História, Assistente de Produto, Montadores etc.) — não resta nome de ligação turco nas páginas EN.
  • CorrecçãoO botão "Enviar E-mail" da Topbar foi ligado à chave ui (topbar.sendEmail).
v1.45.1

Página Inicial e Traduções de Chrome em Inglês

Segundo passo do piloto en: página inicial /en/ com tradução completa; texto de marca do footer, cartão de horas, selo Google e linha de IVA ligados ao dicionário ui; a lista de países é carregada conforme o idioma da página.

  • Novidade/en/: versão inglesa da página inicial — todas as secções, slides hero, FAQ e esquema em inglês; ligações internas conscientes do idioma com localizeHref.Página inicial inglesa
  • MelhoriaFooter totalmente localizado: parágrafo de marca, nomes de dias do horário e estado aberto/fechado, selo de pontuação Google, linha de IVA e nota RGPD movidos para o dicionário ui.
  • MelhoriaA selecção de país é carregada conforme o idioma da página: /data/geo/countries.en.json adicionado; o ContactForm e o DealerForm resolvem o idioma a partir de documentElement.lang.
  • MelhoriaO HeroSlider recebe os dados de slide via prop (conjunto de slides EN src/i18n/en/hero-slides.ts); os textos do PlatformMockup são conscientes do idioma.
  • CorrecçãoO tipo altyapi foi adicionado ao ChangeKind do changelog (o erro de tipo nos registos v1.44.14/15 foi resolvido); o estilo de selo do versiyon-gecmisi foi completado.
v1.45.0

Piloto Inglês — Motor de Localização

O piloto en começou: dicionário ui de 137 chaves, URLs traduzidos com slug-map, resolução de ligações consciente do âmbito e a primeira página traduzida /en/contact/.

  • Novidade/en/contact/: versão inglesa da página de contacto — título, meta, breadcrumb, estado de horário e campos de formulário em inglês localizados.Página inglesa
  • InfraestruturaMotor i18n: SLUG_MAP (mapa de slugs TR→idioma), localizeHref/localizeNav/navLabel — hrefs e etiquetas de navegação conscientes do idioma + âmbito; uma página sem tradução cai para TR.
  • InfraestruturaA resolução de idioma foi aberta a todos os idiomas registados a partir do URL; o LanguageSwitcher e o hreflang só ligam idiomas que têm gémeo real (PAGE_COVERAGE).
  • Melhoriacheck-i18n: adicionada obrigatoriedade de mapa de slugs, verificação de colisão e formato; a verificação de breadcrumb isenta páginas de idioma.
v1.44.14

Auditoria de Âmbito de Tradução

Preparação para publicação multilingue: manifesto de âmbito de tradução e verificação i18n obrigatória no build — nenhuma página/dado pode passar para produção fora da tradução.

  • Infraestruturasrc/i18n/coverage.ts: lista de páginas cuja tradução está concluída por idioma — as rotas [lang] só produzem os slugs desta lista.
  • Infraestruturascripts/check-i18n.mjs adicionado à cadeia de build: slug fantasma, render fora do âmbito, idioma enabled sem conteúdo e dicionário ui em falta fazem o build falhar; imprime relatório de progresso por idioma.
v1.44.13

Ligação do Formulário de Avaliação

A caixa "Partilhe a sua experiência" na página /degerlendirmeler/ agora também liga ao formulário interno de avaliação de produto.

  • Melhoria/degerlendirmeler/: botão "Avaliar o Produto" adicionado — vai para a página de formulário com pontuação por estrelas /degerlendirme/; a ligação ao Perfil de Empresa Google foi preservada.Avaliações
v1.44.12

Infraestrutura de Avaliação de Produto

As páginas de produto ganharam a infraestrutura para mostrar avaliações reais de clientes: formulário com pontuação por estrelas /degerlendirme/, fluxo de avaliação no send.php e esquema aggregateRating/review ligado aos dados de avaliações.

  • Novidade/degerlendirme/: formulário de avaliação com pontuação por estrelas e selecção de produto; os envios são registados no forms-log.php, as avaliações verificadas são publicadas na página do produto.Página
  • MelhoriaEsquema Product: quando há avaliações reais do produto, review[] e aggregateRating (ratingValue, reviewCount) são impressos automaticamente; sem avaliações, o esquema permanece limpo como antes.
  • Melhoriapublic/api/send.php + deploy/send.php: tipo de formulário "Avaliação de Produto" — validação de pontuação, campos de produto/código de encomenda, telefone opcional; os dois ficheiros sincronizados.
v1.44.11

Metas de Variantes e Páginas Restantes Trazidas para a Banda 140–160

81 meta descrições em categorias de variantes de produto, 8 em páginas de cálculo de preço e 12 em páginas estáticas e outras; expandidas para a banda de 140–160 carateres com frases únicas derivadas do próprio conteúdo de cada página. Não resta meta descrição abaixo da banda no site.

  • Melhoriasrc/data/{duet,honeycomb,jaluzi,plise}-categories.ts: 81 descrições meta/pageDescription de variantes e grupos elevadas para a banda de 140–160 carateres.
  • Melhoriasrc/data/pricing.ts: meta descrições das 8 páginas de cálculo de preço elevadas para a banda de 140–160 carateres.
  • Melhoriasrc/data/products.ts, katalog, blog, site-haritasi, versiyon-gecmisi, degerlendirmeler: meta descrições de 12 páginas elevadas para a banda de 140–160 carateres.
v1.44.10

Metas de Detalhe de Montagem e de Páginas Trazidas para a Banda 140–160

16 meta descrições em páginas de detalhe de montagem, 54 em páginas .astro de produto e institucionais e 1 nos dados de áreas de aplicação; expandidas para a banda de 140–160 carateres com frases únicas derivadas do próprio conteúdo de cada página.

  • Melhoriasrc/data/montaj-pages.ts: meta descrições das 16 páginas de detalhe de montagem que ficavam abaixo da banda elevadas para 140–160 carateres.
  • Melhoriasrc/pages/: meta descrições PageLayout de 54 páginas de produto e institucionais elevadas para a banda de 140–160 carateres.
  • Melhoriasrc/data/uygulama-alanlari.ts: meta descrição do registo de áreas de aplicação de persiana elevada para a banda de 140–160 carateres.
v1.44.9

Metas de Aplicação Honeycomb e Persiana Trazidas para a Banda 140–160

36 meta descrições na família de estore honeycomb e 37 na família de persiana; expandidas para a banda de 140–160 carateres com frases únicas derivadas do próprio conteúdo de cada página.

  • Melhoriasrc/data/honeycomb-perde-uygulama.ts: meta descrições das 36 páginas de aplicação que ficavam abaixo da banda elevadas para 140–160 carateres; a grafia `Karakanda` foi corrigida para `Karavanda`.
  • Melhoriasrc/data/jaluzi-perde-uygulama.ts: meta descrições de todas as 37 páginas de aplicação elevadas para a banda de 140–160 carateres; a grafia `Karakanda` foi corrigida para `Karavanda`.
v1.44.8

Metas de Aplicação de Estore Duet Trazidas para a Banda 140–160

As meta descrições das 37 páginas da família de aplicações de estore duet foram expandidas para a banda de 140–160 carateres com frases únicas derivadas do próprio conteúdo de cada página.

  • Melhoriasrc/data/duet-perde-uygulama.ts: meta descrições de todas as 37 páginas de aplicação elevadas para a banda de 140–160 carateres; a grafia `Karakanda` foi corrigida para `Karavanda`.
v1.44.7

Metas de Estore Plissado e Mosquiteiro Plissado Trazidas para a Banda 140–160

12 meta descrições na família de estore plissado e 25 na família de mosquiteiro plissado; expandidas para a banda de 140–160 carateres com frases únicas derivadas do próprio conteúdo de cada página.

  • Melhoriasrc/data/plise-perde-uygulama.ts: meta descrições das 12 páginas de aplicação que ficavam abaixo da banda elevadas para 140–160 carateres.
  • Melhoriasrc/data/plise-sineklik-uygulama.ts: meta descrições de todas as 25 páginas de aplicação elevadas para a banda de 140–160 carateres; a grafia `Karakanda` foi corrigida para `Karavanda`.
v1.44.6

Metas de Aplicação de Cortina Trazidas para a Banda 140–160

As meta descrições das 37 páginas da família de aplicações de cortina foram expandidas para a banda de 140–160 carateres com frases únicas derivadas do próprio conteúdo de cada página.

  • Melhoriasrc/data/perde-uygulama.ts: meta descrições das 37 páginas de aplicação nos grupos habitações, espaços comerciais, espaços especiais, estruturas especiais, veículos, janelas geométricas e saúde-educação elevadas para a banda de 140–160 carateres; a grafia `Karakanda` foi corrigida para `Karavanda`.
v1.44.5

Metas de Aplicação de Mosquiteiro Trazidas para a Banda 140–160

As meta descrições das 37 páginas da família de aplicações de mosquiteiro foram expandidas para a banda de 140–160 carateres com frases únicas derivadas do próprio conteúdo de cada página.

  • Melhoriasrc/data/sineklik-uygulama.ts: meta descrições das 37 páginas de aplicação nos grupos habitações, espaços comerciais, espaços especiais, estruturas especiais, veículos, janelas geométricas e saúde-educação elevadas para a banda de 140–160 carateres; a grafia `Karakanda` foi corrigida para `Karavanda`.
v1.44.4

Metas de Aplicação de Estore Zip Trazidas para a Banda 140–160

As meta descrições das 21 páginas da família de aplicações de estore zip foram expandidas para a banda de 140–160 carateres com frases únicas derivadas do próprio conteúdo de cada página.

  • Melhoriasrc/data/zip-perde-uygulama.ts: meta descrições das 21 páginas de aplicação nos grupos habitações, espaços comerciais, espaços especiais e veículos elevadas para a banda de 140–160 carateres; cada texto foi alimentado pelo contexto único da página (tecido, montagem, resultado de utilização). A grafia `Karakanda` foi corrigida para `Karavanda`.
v1.44.3

Datas de Publicação Verificadas nos Momentos Reais

Os registos datados no futuro entre 29 de outubro e 3 de novembro no histórico de versões foram trazidos para os momentos reais de publicação no ramo deploy; um total de 146 registos foi verificado. A cópia de referência deploy/send.php foi igualada ao public/api.

  • CorrecçãoOs campos `date` do changelog foram trazidos para os momentos reais de publicação: 146 registos actualizados com referência aos commits de publicação no ramo deploy (tempos reais de deploy v1.20.0–v1.44.2, posicionamento ordenado das versões intermédias); a ordem estritamente decrescente foi preservada, não resta data futura.
  • CorrecçãoA cópia de referência deploy/send.php foi igualada ao public/api/send.php — o fluxo de subscrição de newsletter (ramo isNewsletter) também está visível na referência.
  • MelhoriaOs documentos content-audit foram actualizados para o estado actual: inventário de 623 páginas, 193.753 pares, 900 MEDIUM; o I-009 banda de preço de slug híbrido foi marcado como resolvido com a v1.44.1.
v1.44.2

Correcção de Esquema em Páginas Não-Produto

A marcação Product + AggregateOffer foi removida das páginas de detalhe de montagem e aplicação — as páginas de decisão de método de montagem e de espaço são conteúdo de guia, não produtos compráveis.

  • CorrecçãoO esquema Product nas 34 páginas de detalhe de montagem foi removido; as páginas ficam com marcação TechArticle + HowTo + FAQ + Tabela.Mosquiteiro Plissado com ParafusosTipos de Montagem
  • CorrecçãoO esquema Product nas 217 páginas de detalhe de aplicação foi removido (ex. Jardim de Infância Estore Duet) — estas páginas são o guia do local de aplicação do produto relacionado, o TechArticle permanece como item principal. A marcação Product com preço só é impressa nas páginas de detalhe de produto reais (ProductArticle).Jardim de Infância Estore DuetÁreas de Aplicação
v1.44.1

Correcções de Consistência de Conteúdo

Os pequenos erros de texto e ligação apanhados na auditoria página a página foram corrigidos — auto-ligação, texto de ligação com destino errado e usos de maiúscula dentro da frase foram resolvidos.

  • CorrecçãoA auto-ligação na página Mosquiteiro para Gatos foi removida; nos dados de áreas de aplicação foi usado texto de ligação descritivo em vez do verbo "verir" e o destino errado /duet-perdeler/ foi substituído por /perdeler/.
  • CorrecçãoOs usos de maiúscula dentro da frase foram trazidos para a norma TDK (kiralık evde, set, iskandinav); a indentação do CTABlock na página zip-perdeler foi corrigida.
  • CorrecçãoO ramo Reply-To não utilizado no produtor de mensagens do send.php foi removido — a regra "nenhum e-mail imprime Reply-To" está agora garantida também ao nível do código (as cópias public/api e deploy foram igualadas).
  • CorrecçãoA banda de preço de slug híbrido foi corrigida (I-009): a família de produto agora é lida do anúncio de catálogo, não do texto do slug — as 6 variantes de plissado duplo com prefixo honeycomb imprimem no esquema a banda plissado (890–1300 ₺) e as linhas técnicas de plissado em vez de honeycomb. specFamily/priceFamily foram unidos numa única fonte.Honeycomb + Véu Branco Duplo
  • MelhoriaLedger de preços por produto estabelecido (fiyatlar.ts): a banda de preço aprovada pela empresa foi processada para todos os 143 produtos e anula a banda de família no esquema. A banda de família agora é derivada da união das bandas dos produtos registados — as páginas de montagem/variantes também mostram o âmbito de preço real.Estores PlissadosEstores Zip
  • MelhoriaA distinção de intenção sistema↔aplicação nos pares de formas triangular/inclinado/tecto foi afiada: o artigo da página de aplicação de plissado triangular foi trazido de "Geometria de Corte e Calha" para "Decisão de Plissado" e o parágrafo de mecânica de produção foi baixado ao nível da decisão; uma frase de limite de decisão de espaço foi adicionada às três páginas de aplicação de tecto.Estore Plissado para Janela Triangular e TrapézioEstore Plissado para Claraboia
v1.44.0

Página de Avaliações

A página /degerlendirmeler/ que reúne as avaliações de clientes e parceiros de negócio no Perfil de Empresa Google foi aberta — resumo de pontuação, cartões de avaliação, CTA de avaliação e FAQ. Sob a página-mãe institucional; processada no sitemap e no mapa do site.

  • NovidadePágina /degerlendirmeler/ aberta — cartão de resumo 5,0 (logótipo Google + estrela), 4 avaliações reais do Google em cartões com ligação de perfil, CTA "Avaliar no Google" e bloco de FAQ de avaliações.Avaliações
  • ActualizaçãoAvaliações adicionadas ao cartão de índice institucional, ao grupo corporate do sitemap (com a fonte lastmod reviews.ts) e ao mapa do site HTML.
v1.43.0

Página de Kit de Média

A página /medya-kiti/ foi aberta, reunindo numa só página o pacote de logótipos (PNG colorido/branco/mono + ZIP), cores da marca, definição da empresa, categorias de fotos, comunicados de imprensa, ficha técnica da empresa e contacto de imprensa. Adicionada ao grupo Páginas do footer.

  • NovidadePágina /medya-kiti/ aberta — definição curta/longa da empresa (com botão de copiar), pacote de logótipos de 3 variantes, cores de marca a partir dos tokens de design reais, tipografia, categorias de fotos, ficha técnica e contacto de imprensa.Kit de Média
  • NovidadeFicheiros de logótipo produzidos: PNG colorido/branco/mono (800×160, fundo transparente) + um único pacote ZIP — derivados do logo.webp fonte com sharp.
  • MelhoriaO grupo Páginas do footer foi preenchido — junto a Catálogo e Kit de Média foram adicionadas as ligações As Nossas Soluções, Assistente de Produto, Cálculo de Preço, Pedido de Projeto, Os Nossos Projetos, Galeria, Áreas de Serviço, Montadores, Tornar-se Montador, Blog e Contacto.
v1.42.0

Página de Catálogo e Ano de Fundação no Footer

A página /katalog/ que reúne as 8 famílias de produtos com as suas listas de modelos numa só página foi aberta — quando os catálogos PDF entrarem em produção, as ligações de descarga serão dadas nesta página. A ligação Catálogo foi adicionada ao grupo Páginas do footer e a linha de copyright foi actualizada para incluir o ano de fundação.

  • NovidadePágina /katalog/ aberta — funciona como catálogo online com 8 famílias de produtos, listas de modelos ao vivo e ligações de família; quando os catálogos PDF estiverem prontos serão descarregados da mesma página.Catálogo
  • NovidadeO grupo Páginas vazio do footer começou a ser preenchido — a primeira ligação é Catálogo.
  • MelhoriaA linha de copyright do footer foi actualizada para transportar o ano de fundação — começa com © 2022–.
v1.41.2

CTA de Revendedor e Entrada de Revendedor no Footer

O botão Revendedor foi adicionado junto ao botão Pedir Orçamento na coluna de marca; por baixo foi colocada a ligação Entrada de Revendedor que vai para o portal app.fenetresystems.com. A Declaração de Acessibilidade em falta foi adicionada ao grupo As Nossas Políticas.

  • NovidadeBotão Revendedor adicionado como segundo CTA na coluna de marca do footer — lado a lado com Pedir Orçamento, os candidatos a revendedor descem directamente para a página de candidatura.Revendedor
  • NovidadeA ligação "É nosso revendedor? Entrada de Revendedor" foi adicionada por baixo da linha de CTA — vai para o portal app.fenetresystems.com com ícone de ligação externa.
  • CorrecçãoA Declaração de Acessibilidade foi adicionada ao grupo de footer As Nossas Políticas — a página estava em produção mas faltava na lista.Declaração de Acessibilidade
  • MelhoriaA descrição de marca do footer foi transformada num parágrafo único e claro — transporta o local de produção, a zona de montagem gratuita, a entrega global e a infraestrutura ERP/CRM do revendedor; os botões de ícone WhatsApp/telefone/e-mail repetidos foram removidos (já existem na coluna Informações de Contacto).
  • NovidadeSelo de pontuação Google adicionado à coluna de marca do footer — logótipo G multicolor dentro de círculo branco, pontuação 5,0 + 5 estrelas, a ligação "4 avaliações no Google · Ver avaliações" vai para o perfil de empresa.
  • NovidadeLinha de informação de registo adicionada ao fim da coluna de marca — Repartição de Finanças de İlyasbey e NIF: 5190451133.
v1.41.1

Coluna de Marca do Footer Alargada

A grelha do footer passou para modelo fraccionário: a coluna de marca tem o dobro da largura das colunas de ligações; o espaçamento entre colunas foi reduzido de 32px para 24px e o espaçamento entre linhas de 40px para 32px.

  • MelhoriaA grelha de ligações do footer passou para o modelo minmax(0,1.71fr) + 5×minmax(0,1fr) — a coluna de marca é 71% mais larga do que as colunas de ligações, as etiquetas longas já não conseguem esticar a coluna; espaçamento horizontal de colunas 32→24px.
  • MelhoriaO espaçamento vertical de linhas do footer foi reduzido de 40px para 32px (gap-y-10 → gap-y-8).
  • MelhoriaO conteúdo da coluna de marca preenche a nova largura — o limite de 320px no texto de descrição foi removido, o logótipo cresceu um tamanho.
  • MelhoriaAs linhas de Informações de Contacto foram simplificadas — as etiquetas foram retiradas, os ícones mostram o canal sozinhos; cada linha é uma única ligação.
  • NovidadeCartão de horário de funcionamento ao vivo adicionado à coluna de marca do footer — selo de estado "Aberto · fecha às 18:00 / Fechado · abre amanhã às 08:00" com a hora Europe/Istanbul, lista dos 7 dias da semana e destaque da linha de hoje.
v1.41.0

Estrutura de Ligações do Footer Renovada

A área de ligações do footer passou para a disposição 5 colunas × 2 linhas. O grupo institucional expandiu-se para dez ligações; As Nossas Políticas e Os Nossos Contractos foram separados em grupos próprios; o bloco Informações de Contacto cresceu com os canais WhatsApp, Apoio ao Vivo e Telegram.

  • ActualizaçãoA grelha de ligações do footer foi elevada de 4×2 para a disposição 5×2 — dez células de ligação.
  • NovidadeAs ligações A Nossa Fábrica, Documentos e Certificados, Missão e Visão, Os Nossos Valores, A Nossa História, Recursos Humanos e Textos de Especificação foram adicionadas ao grupo institucional.A Nossa FábricaTextos de Especificação
  • ActualizaçãoAs Nossas Políticas e Os Nossos Contractos tornaram-se grupos separados do footer; os documentos relacionados foram agrupados sob as suas próprias páginas-mãe.As Nossas PolíticasOs Nossos Contractos
  • NovidadeAs ligações de conversa WhatsApp e Apoio ao Vivo e o canal Telegram foram adicionados ao bloco Informações de Contacto.
v1.40.0

Camada de Conversão e Confiança do Footer

As ligações Montadores, Tornar-se Montador, Carreiras e Pedir Orçamento foram adicionadas ao footer; o endereço foi ligado ao Google Maps, a designação legal foi movida para a barra inferior, a subscrição de newsletter e o acesso às preferências de cookies foram abertos.

  • NovidadeAs ligações Montadores, Tornar-se Montador e a nova página Carreiras foram adicionadas ao grupo "Institucional" do footer; o CTA Pedir Orçamento foi colocado na coluna de marca.MontadoresTornar-se MontadorCarreiras
  • NovidadePágina Carreiras aberta — áreas de trabalho, formulário de candidatura geral (Candidatura de Emprego) e upload opcional de ficheiro de currículo.Carreiras
  • NovidadeDeclaração de Acessibilidade publicada — medidas aplicadas, limites conhecidos e canal de feedback; adicionada ao grupo "Legal" do footer.Declaração de Acessibilidade
  • MelhoriaO endereço no bloco de contacto foi transformado em ligação Google Maps; a designação legal (FENETRE Systems San. ve Tic. Ltd. Şti.) foi adicionada à barra inferior.
  • NovidadeSubscrição de newsletter adicionada ao footer — formulário de campo único, com ramo de newsletter no send.php e ligação de divulgação RGPD.
  • NovidadeAcesso a Preferências de Cookies: o aviso de cookies pode ser reaberto a partir do grupo "Legal" do footer.
  • NovidadeSelector de idioma adicionado à barra inferior do footer — com a variante de fundo escuro; os idiomas inactivos são listados como "Em breve", ligam-se automaticamente quando um novo idioma entra em produção.
  • NovidadeLigação Portal do Revendedor adicionada ao footer — abre como ligação externa para app.fenetresystems.com num novo separador.
  • NovidadePágina Sustentabilidade aberta — compromisso de peças de 15 anos, produção nacional, efeito energético do produto e material reciclável; apenas alegações verificáveis.Sustentabilidade
  • Correcção3 ligações internas quebradas no conteúdo corrigidas na fonte (/motorlu-perdeler/, /screen-duet-perdeler/, /pvc-jaluzi-perdeler/ → páginas existentes); uma porta de ligação interna quebrada foi adicionada à verificação inventory-verify — a partir de agora o build falha.
  • Melhoria93 meta descrições curtas expandidas para a banda de 110-160 carateres; a banda de comprimento do meta-verify foi apertada para o padrão SEO (110-160).
  • NovidadePágina Redes Sociais aberta — os canais oficiais das 6 plataformas numa só página; função do canal, handle verificado e aviso de conta falsa.Redes Sociais
v1.39.10

Espaçamento de Lista de Ligações Apertado

O espaçamento de itens .link-list foi trazido de 8px para 4px — um ritmo mais compacto que se reflecte de uma só linha em todo o site nas listas verticais de ligações e informação.

  • MelhoriaEspaçamento .link-list actualizado para 8px → 4px; os grupos de navegação do footer, listas de menu móvel, listas de pontuação de categorias e a lista de contacto passaram ao mesmo tempo para o novo padrão.
v1.39.9

Espaçamentos de Lista Vertical Normalizados

Os espaçamentos de lista dispersos em todo o site foram reduzidos para três classes de papel — .check-list 4px, .link-list 8px, .info-list 12px; o uso arbitrário de space-y-*/gap-* foi ligado à verificação de build.

  • NovidadeClasses de papel .link-list (8px) e .info-list (12px) adicionadas para listas verticais — juntamente com .check-list (4px) formou-se um ritmo de lista de três níveis.
  • CorrecçãoEspaçamentos de lista arbitrários ligados ao papel: listas de ligações e ícones movidas para as classes padrão, pilhas de cartões e cronologias para o padrão grid gap; os dois espaçamentos diferentes no footer foram unidos.
  • Novidadecheck-semantic.mjs agora faz o build falhar com o uso arbitrário de space-y-*/gap-* em listas.
v1.39.8

Correcção de Cascade da Escala de Títulos

As regras de tamanho h1–h4 estavam escritas sem camada, por isso o valor de 16px da classe de componente .card-title nunca podia ser aplicado; as predefinições de elemento foram movidas para a camada base, os títulos de cartão desceram para 16px como concebido.

  • CorrecçãoAs predefinições tipográficas h1–h4 foram movidas para @layer base — o .card-title na camada components pode agora esmagar a escala de elemento; os títulos de cartão em 78 ficheiros aparecem nos 16px concebidos em vez de 20–30px.
  • NovidadeClasse de papel .foot-heading adicionada para as etiquetas de grupo do footer — a variante de fundo escuro do card-title (16px, branco); o papel de título de componente foi reduzido a um único tamanho em todos os contextos.
v1.39.7

Footer Reestruturado

O rodapé passou para uma única coluna de marca + grelha de ligações de 4 colunas × 2 linhas — todas as famílias de produto, sistema, montagem, aplicação, serviço, institucional e legal estão acessíveis através do footer.

  • ActualizaçãoO footer foi transformado numa grelha de cinco colunas: a coluna de marca ocupa duas linhas à esquerda; à direita estão os 8 grupos de ligações Os Nossos Produtos, Os Nossos Sistemas, Tipos de Montagem, Áreas de Aplicação, Os Nossos Serviços, Institucional, Legal e Contacto.
  • MelhoriaOs títulos de grupo foram ligados às páginas-mãe; as ligações legais foram reduzidas a duas páginas-mãe e quatro documentos críticos (Privacidade, RGPD, Cookies, Termos de Utilização). No móvel, os grupos alinham-se de dois em dois.
v1.39.6

Separação de Âmbito das Páginas de Sistema e Aplicação

As páginas de produto e as páginas de aplicação nas formas inclinadas e triangulares visavam a mesma intenção de pesquisa; o âmbito foi separado claramente em 12 páginas — as páginas de sistema tratam de mecanismo/configuração/montagem, as páginas de aplicação tratam da decisão de espaço e das limitações.

  • MelhoriaParágrafo de abertura de âmbito e parágrafo de limite de decisão adicionados a 6 páginas de detalhe de aplicação (inclinado e triangular/trapézio × plissado, duet, honeycomb): comparação de produtos no eixo do grau de inclinação, peso do painel, prioridade térmica e expectativa, com encaminhamentos de alternativa.
  • MelhoriaNota de âmbito adicionada a 6 páginas de sistema (inclinado e triangular × plissado, duet, honeycomb): foi indicado que a página é de conteúdo de mecanismo e montagem e que a decisão de espaço é comparada no guia de aplicação.Estore Plissado Inclinado
v1.39.5

Correcções de Comprimento de Título de Resultado de Pesquisa

14 títulos de página que excediam o limite de píxeis foram encurtados; as palavras repetidas ou largas foram retiradas preservando as etiquetas de linha distintivas.

  • Correcção11 títulos de produto nas séries padrão e sunscreen estavam acima do limite de corte da SERP; os títulos foram encurtados, os distintivos de cor/textura foram preservados (o H1 e o conteúdo da página não mudaram).
  • CorrecçãoOs títulos das páginas de aplicação Janelas Geométricas e Triangular-Trapézio de honeycomb e o título do documento A Nossa História foram adaptados ao limite de píxeis.A Nossa História
v1.39.4

Limpeza de Repetição Intra-Página

As duas repetições intra-página encontradas na análise de repetição de todo o site foram resolvidas: o parágrafo de artigo de estore zip de caravana foi escrito com informação única, a dica de campo repetida nos cartões de especificação foi movida uma única vez para o título da secção.

  • CorrecçãoO parágrafo de artigo do Estore Zip de Caravana repetia exactamente a frase de entrada; foi tornado único com a informação de que o tecido pode ficar numa posição intermédia dentro do canal.Estore Zip de Caravana
  • CorrecçãoNa página Textos de Especificação, a dica "campos spec" repetida em cada um dos 8 cartões de produto foi movida uma única vez para o título da secção.Textos de Especificação
  • Melhoriauniqueness-proof adicionado à cadeia de auditoria: para cada uma das 616 páginas, a taxa de frases únicas, a similaridade com o vizinho mais próximo e os sinais de repetição intra-página num único ficheiro verificável por máquina (UNIQUENESS-PROOF).
v1.39.3

Limpeza de Resíduos de Esquema nas Páginas de Aplicação

Os campos url/@id do JSON-LD nas páginas hub de grupos de aplicação foram ligados ao seu próprio caminho de página; os resíduos de imagem fora da família e de ligação de categoria foram limpos; a imagem de esquema de detalhe de espaço agora é derivada da família da página.

  • CorrecçãoEm 45 páginas de grupo de aplicação, os campos url, @id e mainEntityOfPage dos esquemas TechArticle e ItemList apontavam para a página fonte do modelo (/konut-icin-*); os campos foram ligados ao caminho da própria página através de group.slug.Áreas de Aplicação
  • CorrecçãoEm 12 páginas de grupo de mosquiteiro e mosquiteiro plissado, a imagem do esquema tinha ficado como cortina e a ligação de categoria como Cortinas; corrigidas para as suas próprias famílias.Áreas de Aplicação de Mosquiteiro
  • CorrecçãoApplicationDetailPage e ApplicationAreaPage imprimiam uma foto de estore plissado independente da família como imagem do esquema; a imagem agora é derivada da família do caminho da página com familyImageFor (cerca de 250 páginas).Áreas de Aplicação de Estore Plissado
  • MelhoriaA verificação check-schema-urls foi adicionada à cadeia de build: se os campos url/@id dos objectos JSON-LD de nível superior não corresponderem ao caminho da página ou as imagens de família não corresponderem à família da página, o build para.
v1.39.2

Retoques de Ligações Externas e Meta Descrição

O número de ligações externas seguidas na página inicial e em As Nossas Referências foi reduzido para a base de todo o site; a meta descrição da página de especificações foi adaptada ao limite.

  • Correcçãorel="nofollow" adicionado aos perfis de avaliadores e às ligações Google Maps; o componente Button foi actualizado para aceitar o atributo rel do chamador.As Nossas Referências
  • CorrecçãoA meta descrição de Textos de Especificação foi encurtada para ficar abaixo do limite de corte do resultado de pesquisa.Textos de Especificação
  • MelhoriaOs títulos das páginas Tornar-se Montador e Montadores foram alargados para incluir palavra-chave e promessa.Montadores
  • CorrecçãoOs valores <title> longos foram trazidos para abaixo de 60 carateres: 5 grupos de aplicação receberam docTitle curto, 10 etiquetas de produto foram encurtadas.Áreas de Aplicação
v1.39.1

Ligações de Contexto nas Páginas Institucionais e Legais

Ligações de conteúdo específicas do contexto da página foram adicionadas aos textos de corpo das páginas institucionais, B2B e legais; foram estabelecidas ligações cruzadas entre os textos jurídicos.

  • MelhoriaLigações com âncoras naturais para as páginas RGPD, termos de utilização, segredo comercial, expedição e condições de encomenda; a política de cookies foi ligada à página de mapa.Texto de Divulgação RGPD
  • MelhoriaAs páginas de detalhe B2B (sub-revendedor, gestão de clientes, conta corrente, serviço de garantia, encomenda inteligente) foram ligadas a partir dos parágrafos de corpo às páginas de módulo e produto relacionadas.Ecrã de Encomenda Inteligente
  • MelhoriaLigações únicas integradas no texto de corpo nas páginas garantia, controlo de qualidade, recursos humanos e contacto.Garantia
v1.39.0

Ligações dentro do Conteúdo no Conjunto de Mosquiteiro Plissado

Ligações únicas que surgem naturalmente do contexto lido foram adicionadas aos textos das páginas do conjunto de Mosquiteiro Plissado; o Assistente de Produto deixou de ser órfão ao ser ligado a partir da página Os Nossos Produtos.

  • MelhoriaLigações contextuais nas intros de grupo de aplicação de Mosquiteiro Plissado: as páginas de sistema sem soleira e duplo foram ligadas com âncoras naturais a partir do texto.Mosquiteiro Plissado sem Soleira
  • MelhoriaLigações de modelo deslizante e vertical no parágrafo "o que é" da página Mosquiteiros Plissados; frases de contexto aplicação/preço nos parágrafos relevantes das páginas de sistemas e tipos de montagem.Mosquiteiro Plissado Deslizante
  • MelhoriaLigação de áreas de aplicação específica da página no parágrafo relevante de seis páginas de detalhe de sistema de Mosquiteiro Plissado.Áreas de Aplicação de Mosquiteiro Plissado
  • CorrecçãoO Assistente de Produto era de facto órfão — agora é alcançável com uma ligação contextual a partir da secção de selecção da página Os Nossos Produtos.Assistente de Produto
v1.38.6

Breadcrumbs de Aplicação Convertidos para o Nome Completo da Página

Nas páginas de grupo e de espaço de área de aplicação, a folha de breadcrumb transporta o próprio nome da página em vez da etiqueta curta do grupo; a cadeia corresponde exactamente no nav e no JSON-LD.

  • CorrecçãoEm 268 páginas, os breadcrumbs {grupo}-para-{produto} e de espaço foram convertidos da etiqueta curta como "Habitação" para o formato "Estore Plissado para Habitação"; as 51 isenções na lista LEAF_H1_EXEMPT foram removidas.Áreas de Aplicação
v1.38.5

Stubs de Redireccionamento Antigos /blog/ Removidos

As páginas stub meta-refresh noindex geradas para os endereços antigos /blog/{slug}/ que não foram indexados foram removidas; estes endereços devolvem agora 404.

  • CorrecçãoAs páginas stub /blog/rehber/ e /blog/sineklik-olcusu-nasil-alinir/ foram retiradas de produção; os artigos continuam a ser servidos com 200 nos seus endereços raiz.
v1.38.4

Mapa do Site: Contador de Páginas Corrigido

O contador total de páginas do mapa do site agora também conta as páginas-mãe de grupo e secção; calcula todas as ligações únicas, não apenas os itens da última linha.

  • CorrecçãoO número total de páginas e os selos de grupo são calculados a partir do conjunto de hrefs únicos; é mostrado o número real de páginas em vez de 545.Mapa do Site
v1.38.3

Sitemap XML: Páginas de Aplicação Agrupadas

As páginas de grupo e de espaço das 7 novas famílias de aplicação são listadas sob sitemap-applications.xml em vez de sitemap-pages.xml.

  • CorrecçãoAs páginas de aplicação Honeycomb, Duet, Persiana, Zip, Cortina, Mosquiteiro e Mosquiteiro Plissado foram ligadas ao grupo de sitemap applications; cada uma recebe lastmod do seu próprio ficheiro de dados.Áreas de Aplicação
v1.38.2

Mapa do Site: Variantes de Sistema Ligadas

As páginas de variante de sistema de Persiana e Estore Zip foram movidas no mapa do site para as suas próprias secções de variante sob Os Nossos Sistemas; correspondidas com as cadeias de breadcrumb.

  • CorrecçãoAs páginas de variante Persiana Horizontal/Cassete/Fachada e Zip Horizontal/Vertical foram retiradas do conjunto Outras Páginas para a secção Os Nossos Sistemas.Mapa do Site
v1.38.1

Mapa do Site: Áreas de Aplicação Agrupadas

As páginas de grupo e de espaço das 7 novas famílias de aplicação no mapa do site são agora listadas sob a secção Áreas de Aplicação com os seus próprios títulos de grupo; o conjunto Outras Páginas foi limpo.

  • CorrecçãoOs grupos de aplicação Honeycomb, Duet, Persiana, Zip, Cortina, Mosquiteiro e Mosquiteiro Plissado foram ligados à secção Áreas de Aplicação do mapa do site.Mapa do Site
v1.38.0

Áreas de Aplicação de Mosquiteiro Plissado

Foram abertas 5 páginas de grupo + 20 de detalhe de espaço para mosquiteiro plissado; os espaços só de janela foram eliminados pela pesquisa de produto de porta/abertura larga — é dado o mapeamento de tipo de soleira e folha.

  • NovidadeÁreas de aplicação de mosquiteiro plissado: os espaços só de janela foram retirados por ser um produto focado em porta; 20 páginas realmente adequadas nos grupos Habitação (8), Comercial (5), Especial (2), Veículos (2), Saúde-Educação (3). Em saúde-educação destacou-se com o valor de acessibilidade da calha sem soleira.Áreas de Aplicação de Mosquiteiro PlissadoHabitações
v1.37.0

Áreas de Aplicação de Mosquiteiro

Foram abertas 7 páginas de grupo + 30 de detalhe de espaço para mosquiteiro; cada página dá o mapeamento de adequação do tipo de mosquiteiro (fixo, batente, enrolável, deslizante, para gatos, aço, motorizado, caravana) por espaço.

  • NovidadeÁreas de aplicação de mosquiteiro: mapeamento espaço × tipo no eixo barreira contra insectos + ventilação. Foram escritas condições por espaço como a camada de segurança de rede para animais no quarto de criança, a barreira regulamentar no espaço alimentar, o enrolável tensionado no vidro inclinado.Áreas de Aplicação de MosquiteiroHabitações
v1.36.0

Áreas de Aplicação de Cortinas

Foram abertas 7 páginas de grupo + 30 de detalhe de espaço para a família de cortinas; cada página dá o mapeamento de adequação dos 8 tipos de cortina (estore, zebra, screen, vertical, blackout, motorizado, romana, tecto) por espaço.

  • NovidadeÁreas de aplicação de cortinas: arquitectura de mapeamento espaço × tipo-de-cortina — em cada página é contado o estado adequado/condicional/não adequado dos 8 tipos com justificação por espaço. Os limites foram escritos honestamente, como apenas a cortina de tecto no vidro de tecto e a condição de vibração no veículo.Áreas de Aplicação de CortinasHabitações
v1.35.0

Áreas de Aplicação de Estore Zip

Foram abertas 4 páginas de grupo + 17 de detalhe de espaço para zip; a lista de espaços interiores foi limpa pela pesquisa de produto de fachada — foram cobertos os usos reais como varanda, terraço, pérgola, fachada e toldo de veículo.

  • NovidadeÁreas de aplicação de zip: os espaços interiores foram eliminados por ser um produto de fachada/espaço aberto; foram abertas 17 páginas realmente adequadas nos grupos Habitação (7), Comercial (4), Espaços Especiais (4), Veículos (2). Novos espaços adicionados como varanda, terraço, pérgola, fachada, beira de piscina.Áreas de Aplicação de Estore ZipHabitações
v1.34.0

Áreas de Aplicação de Persiana

Foram abertas 7 páginas de grupo + 30 de detalhe de espaço para persiana; a lamela de metal lavável e o ajuste fino de ângulo foram contados por espaço, e os planos não adequados como o vidro de tecto foram marcados honestamente.

  • NovidadeÁreas de aplicação de persiana: 30 páginas de espaço sob os grupos Habitação, Comercial, Espaços Especiais, Estruturas Especiais, Veículos, Janelas Geométricas, Saúde-Educação. Cozinha-casa de banho como área forte; a condição de corda no quarto de criança e o limite de adequação no vidro de tecto foram escritos claramente.Áreas de Aplicação de PersianaHabitações
v1.33.0

Áreas de Aplicação de Estore Duet

Foram abertas 7 páginas de grupo + 30 de detalhe de espaço para duet; o retorno de isolamento mais forte e escurecimento mais profundo do favo de dupla camada foi contado por espaço.

  • NovidadeÁreas de aplicação de duet: 30 páginas de espaço sob os grupos Habitação, Comercial, Espaços Especiais, Estruturas Especiais, Veículos, Janelas Geométricas, Saúde-Educação. Os limites de tecido/humidade foram tratados honestamente na casa de banho, barco, navio e volumes estéreis.Áreas de Aplicação de Estore DuetHabitações
v1.32.0

Áreas de Aplicação de Estore Honeycomb

Foram abertas 7 páginas de grupo + 30 de detalhe de espaço para honeycomb; cada página foi escrita com conteúdo único focado no seu espaço e produto, os limites de tecido foram contados honestamente.

  • NovidadeÁreas de aplicação de honeycomb: 30 páginas de espaço sob os grupos Habitação, Comercial, Espaços Especiais, Estruturas Especiais, Veículos, Janelas Geométricas, Saúde-Educação. Os limites de humidade/higiene foram tratados claramente em espaços condicionais como casa de banho, barco e navio.Áreas de Aplicação de Estore HoneycombHabitações
v1.31.1

Página de Cozinha Retirada

A página de espaço geral /mutfak/ foi retirada de produção; a arquitectura de espaços está a ser replaneada. A pesquisa da matriz de adequação está preservada no ficheiro docs/mekan-uygunluk-matrisi.md.

  • CorrecçãoA página /mutfak/ aberta para teste foi retirada; o ficheiro fonte foi eliminado, o inventário voltou a 388 páginas. As páginas de detalhe produto-espaço (mutfak-plise-perde etc.) não foram afetadas.
v1.31.0

Página de Aplicação de Cozinha

A primeira das páginas de espaço geral foi aberta: o papel real e a condição das oito linhas de produto na cozinha, com base na matriz de adequação documentada. (A página foi retirada com a v1.31.1.)

  • NovidadePágina de área de aplicação de cozinha aberta: mosquiteiro, mosquiteiro plissado, persiana e estore directamente adequados; plissado, honeycomb, duet e zip contados como condicionais com justificações comprovadas. A matriz de adequação baseada em 50+ fontes nacionais/estrangeiras está no ficheiro docs/mekan-uygunluk-matrisi.md.
v1.30.0

Cores de Duet Sunscreen

A categoria Estores Duet Sunscreen expandiu-se com seis produtos de cor — a família de reflexão dos tons claros e a família de corte dos tons escuros com conteúdos separados.

v1.29.0

Cores de Duet de Véu

A categoria Estores Duet de Véu expandiu-se com cinco produtos de cor transparente — cada cor com o seu próprio conteúdo único, dados técnicos e bloco de FAQ.

v1.28.1

Correcções Ortográficas

Os erros de ortografia encontrados na auditoria de conteúdo foram corrigidos — grafia jakard→jakar em 10 lugares, ortografia da avaliação de cliente e frase do mosquiteiro deslizante.

  • CorrecçãoFoi feita uma análise de palavras repetidas e ortografia em todo o site: o uso "jakard" foi corrigido com o equivalente TDK "jakar" em 10 lugares (páginas de produto + texto de categoria); as grafias "rahatca/hemde/olacaklarınıda" na avaliação de cliente foram corrigidas; a pontuação em falta na página de mosquiteiro deslizante foi resolvida.
v1.28.0

Tipos de Sistema de Cortina

A página Sistemas de Cortina reuniu as formas de sistema dos oito produtos numa só página — do estore à cortina de tecto, cada produto com a sua própria tabela de sistemas.

  • NovidadeSecção de sistema de oito produtos adicionada à página: Estore, Zebra, Screen, Vertical, Blackout, Motorizado, Romana e Cortina de Tecto — cada uma com tabela de tipos de sistema, índice de cartões e ligação à página do produto.Sistemas de Cortina
  • CorrecçãoAuditoria completa do projeto: a grafia SITE.domain, a variante Button e os tipos de changelog foram corrigidos; a hierarquia de títulos (salto h1→h3) foi resolvida em 28 páginas — os títulos de categoria Dados Técnicos, calculadora e assistente foram assentados na cadeia h2/h3/h4; a referência deploy/send.php foi sincronizada com a cópia de API actual.
  • MelhoriaAs páginas de sistema Duet↔Honeycomb foram assentadas na diferença real do produto: em 9 formas (vertical, horizontal, tecto, cassete, inclinado, triangular, oval, redondo, entre vidros) 18 páginas foram separadas no eixo célula simples vs camada dupla; ligações recíprocas entre páginas adicionadas, textos de resíduo de cópia productSchema/CTA corrigidos.Sistemas de Estore DuetSistemas de Estore Honeycomb
v1.27.0

Páginas de Sistema Zip

Duas páginas de forma de sistema foram adicionadas sob Sistemas de Estore Zip — Estore Zip Vertical e Horizontal.

  • NovidadeAs variantes de sistema zip foram separadas em páginas próprias: a forma vertical com guia de fecho e a forma horizontal sobre tecto de vidro/pérgola — nova secção de cartões na página-mãe.Estore Zip VerticalEstore Zip Horizontal
v1.26.0

Páginas de Sistema de Persiana

Três páginas de forma de sistema foram adicionadas sob Sistemas de Persiana — Persiana Horizontal, de Cassete e de Fachada.

v1.25.0

Tipos de Montagem de Cortina Alargados

A página Tipos de Montagem de Cortina reuniu as opções de montagem dos oito produtos numa só página — com as classes com parafusos, sem perfuração e especiais de projeto.

  • NovidadeSecção de montagem de oito produtos adicionada à página: Estore, Zebra, Screen, Vertical, Blackout, Romana, Tecto e Cortina Motorizada — cada uma com as suas opções de ligação, classes com selos e ligação à página do produto.Tipos de Montagem de Cortina
  • ActualizaçãoOs cartões de produto foram transformados num índice de ligações dentro da secção; o esquema ItemList lista as oito secções de montagem.
v1.24.0

Detalhes de Montagem de Estore Zip

Três páginas de detalhe foram adicionadas sob Tipos de Montagem de Estore Zip — instalação com parafusos ao tecto, à parede e à fachada.

v1.23.0

Detalhes de Montagem de Persiana

Seis páginas de detalhe foram adicionadas sob Tipos de Montagem de Persiana — instalação ao tecto, à parede, com adaptador de calha, com suporte, com portray e sobre o caixilho.

v1.22.0

Páginas de Detalhe de Montagem de Mosquiteiro

Três novas páginas de detalhe foram adicionadas sob Tipos de Montagem de Mosquiteiro — ligação com parafusos, adesivo e clips; a sub-página-mãe ganhou uma secção de cartões de cinco páginas.

  • NovidadePáginas de detalhe Mosquiteiro com Parafusos, Mosquiteiro Adesivo e Mosquiteiro com Clips; com sequência de instalação, condições de adequação, tabelas de comparação e FAQ.Mosquiteiro com ParafusosMosquiteiro AdesivoMosquiteiro com Clips
  • ActualizaçãoA secção de cartões na sub-página-mãe expandiu-se para cinco páginas de detalhe e selos de ligação foram adicionados; o esquema ItemList cobre cinco registos.Tipos de Montagem de Mosquiteiro
  • CorrecçãoA chave de mosquiteiro em falta foi adicionada à tabela de imagem de família de detalhe de montagem; os esquemas de artigo e produto das cinco páginas transportam agora imagem.
v1.21.2

Cartões de Montagem de Mosquiteiro

Os cartões de direcção de encaixe em falta foram adicionados à página Tipos de Montagem de Mosquiteiro — as páginas de detalhe de encaixe interior e exterior estão agora acessíveis a partir da lista.

v1.21.1

Formato de Lista dos Gémeos MD Corrigido

Dois erros de formato foram resolvidos na auditoria profunda dos gémeos .md das páginas: títulos dentro de listas e junções de etiquetas inline.

  • CorrecçãoA conversão de lista do generate-llms.mjs foi corrigida: os itens numerados por passo são impressos como lista ordenada, os itens com título em formato **negrito** — descrição.llms.txt
  • CorrecçãoA remoção sem espaço das etiquetas restantes produzia junções de palavras (v1.1.1+19 Ekim → v1.1.119); as etiquetas agora são separadas por espaço, os textos alternativos das imagens são impressos com o padrão [Imagem: …].Histórico de Versões
v1.21.0

Variantes de Sistema Duet

Nove páginas de sistema foram adicionadas sob Sistemas de Estore Duet — todas as formas de funcionamento do sistema duo, de horizontal a entre vidros.

  • NovidadeEstore Duet Horizontal, Vertical, de Tecto, de Cassete, Triangular, Inclinado, Redondo, Oval e entre Vidros — cada um publicado com conteúdo único focado no sistema.Sistemas de Estore Duet
v1.20.0

Variantes de Sistema Honeycomb

Nove páginas de sistema foram adicionadas sob Sistemas de Estore Honeycomb — todas as formas de funcionamento do sistema de favo, de horizontal a entre vidros.

  • NovidadeEstore Honeycomb Horizontal, Vertical, de Tecto, de Cassete, Triangular, Inclinado, Redondo, Oval e entre Vidros — cada um publicado com conteúdo único focado no sistema.Sistemas de Estore Honeycomb
v1.19.1

Sinal de Esquema das Páginas de Sistema de Mosquiteiro

Os sinais JSON-LD das páginas Mosquiteiro de Batente, Enrolável e Deslizante foram alinhados ao padrão de variante de sistema.

  • MelhoriaAs três páginas passaram a dar o mesmo sinal das variantes de sistema irmãs com o esquema ItemPage + isPartOf /sineklik-sistemleri/ + Product.Sistemas de Mosquiteiro
v1.19.0

Hierarquia das Páginas de Mosquiteiro Reorganizada

As páginas de mosquiteiro foram movidas para os seus grupos correctos: batente/enrolável/deslizante sob Os Nossos Sistemas, encaixe interior-exterior sob Tipos de Montagem, mosquiteiro de aço adicionado ao catálogo como novo produto.

  • NovidadeMosquiteiro de Aço — página de produto de mosquiteiro seguro com rede de malha de aço inoxidável publicada.Mosquiteiro de Aço
  • ActualizaçãoAs páginas Mosquiteiro de Batente, Enrolável e Deslizante foram movidas do catálogo de produtos para o grupo Sistemas de Mosquiteiro; o conteúdo foi reescrito conforme o contexto de sistema.Mosquiteiro de BatenteMosquiteiro EnrolávelMosquiteiro Deslizante
  • ActualizaçãoAs páginas Mosquiteiro Fixo de Encaixe Interior e Exterior foram movidas para o grupo Tipos de Montagem de Mosquiteiro; o conteúdo foi reescrito conforme o contexto do método de montagem.Encaixe InteriorEncaixe Exterior
v1.18.3

Redesenho do Mapa do Site

A página Mapa do Site passou da disposição de cartões para uma disposição de lista densa multi-coluna; a caixa de pesquisa foi centrada e foram adicionados contagem de resultados + destaque de correspondência + atalhos de teclado.

  • MelhoriaO Mapa do Site foi renovado com uma disposição de colunas densa em vez de grelha de cartões; a pesquisa ao vivo agora conta resultados, destaca a correspondência, foca com `/` e limpa com Esc.Mapa do Site
v1.18.2

Institucional — Cartão de Textos de Especificação

O cartão Textos de Especificação foi adicionado aos cartões da página Institucional; integrado com a cadeia de breadcrumb da página e o grupo corporate do sitemap.

  • MelhoriaA ligação Textos de Especificação foi adicionada aos cartões institucionais.Institucional
v1.18.1

Os Nossos Serviços — Cartão de Pedido de Garantia

O cartão Pedido de Garantia e Peças foi adicionado aos cartões de serviço da página Os Nossos Serviços.

  • MelhoriaFoi adicionado aos cartões de Os Nossos Serviços o cartão que vai para a página de pedido de garantia e peças de reposição.Os Nossos Serviços
v1.18.0

Cores de Honeycomb e Duet Padrão

Produtos de cor com textura de relevo foram adicionados às categorias Honeycomb Padrão e Duet Padrão, sete cada — séries de textura de célula simples e dupla.

  • Novidadehoneycomb padrão: sete páginas de produto de tecido de favo com relevo em branco, creme, bege, cinzento, castanho, antracite e preto.Estores Honeycomb Padrão
  • Novidadeduet padrão: sete páginas de produto com relevo de célula dupla na mesma escala de cores — a série de textura com melhor isolamento do mostruário.Estores Duet Padrão
v1.17.0

Cores de Plissado Padrão

Seis produtos de cor com textura de relevo foram adicionados à categoria Estores Plissados Padrão — série de textura de branco a antracite.

  • Novidadecores de plissado padrão: seis páginas de produto com textura de relevo em branco, cru, creme, cinzento, castanho e antracite — cada uma com o seu próprio caráter de textura, notas de montagem e manutenção.Estores Plissados Padrão
v1.16.0

Produtos Duet Estampados

Duas páginas de detalhe de produto foram adicionadas à categoria Estores Duet Estampados: o modelo de dupla camada com motivo e o modelo de estampagem personalizada com ficheiro do cliente.

  • Novidadebaskili-duet-perde: página de tecido de célula dupla com estampagem de motivo — relação padrão-célula dupla, intersecção tema + clima e manutenção de camada dupla.Estore Duet Estampado
  • Novidadeozel-baski-duet-perde: imagem corporativa em camada dupla — ritmo de enquadramento-secção, isolamento do vidro com marca e disciplina de prova.Estore Duet de Estampagem Personalizada
v1.15.0

Produtos Honeycomb Estampados

Duas páginas de detalhe de produto foram adicionadas à categoria Estores Honeycomb Estampados: o modelo de favo com motivo e o modelo de estampagem personalizada com ficheiro do cliente.

  • Novidadebaskili-honeycomb-perde: página de tecido de favo com estampagem de motivo — combinação padrão-célula, equilíbrio tema + clima e secções de manutenção do favo.Estore Honeycomb Estampado
  • Novidadeozel-baski-honeycomb-perde: imagem corporativa em tecido de favo — alinhamento enquadramento-célula, cenários marca + isolamento e disciplina de prova.Estore Honeycomb de Estampagem Personalizada
v1.14.0

Produtos Plissados Estampados

Duas páginas de detalhe de produto foram adicionadas à categoria Estores Plissados Estampados: o modelo com motivos de catálogo e o modelo de estampagem personalizada com ficheiro do cliente.

  • Novidadebaskili-plise-perde: página de colecção de motivos prontos — com secções de escala de padrão, selecção de tema e manutenção da superfície estampada.Estore Plissado Estampado
  • Novidadeozel-baski-plise-perde: página de estampagem de ficheiro pessoal — fluxo de trabalho com aprovação de prova, notas de cor e textura, cenários de utilização.Estore Plissado de Estampagem Personalizada
v1.13.4

Sitemap de Calculadoras

As páginas de cálculo de preço foram separadas para o seu próprio grupo de sitemap — sitemap-calculators.xml.

  • Actualizaçãositemap: as 9 páginas de cálculo de preço foram retiradas do grupo services e movidas para o novo grupo calculators.
v1.13.3

Textos de Calculadora Originais

Os textos de introdução e nota de resultado das calculadoras de família foram retirados do modelo; cada família fala com as suas próprias frases.

  • Melhoriacálculo de preço: o texto de descrição e nota de resultado das 8 calculadoras de família foi tornado específico da família — não restou repetição de frase de modelo.
v1.13.2

Unicidade Profunda

Foi feita uma comparação de pares de páginas ao nível de n-gramas; os textos de componente do assistente e da calculadora foram tornados únicos por instância.

  • Melhoriaassistente e calculadora: os parágrafos comuns de resultado/nota transportam agora o título da página e o nome da família — as repetições exactas nas nove páginas foram removidas.
v1.13.1

Unicidade de Conteúdo

Foi feita uma auditoria de semelhança em todo o site; as páginas de família da calculadora e a nota de montagem de categoria foram tornadas únicas por página.

  • Melhoriacálculo de preço: foram escritas nas 8 páginas de família uma descrição, descrição de intervalo e texto de CTA específicos da família em vez do modelo.
  • Melhoriapáginas de categoria: a nota de montagem passa a conter o nome do produto — a repetição exacta em 18 páginas foi removida; o texto de descrição comum no assistente de família foi eliminado.
v1.13.0

Cálculo de Preço

Ferramenta que calcula instantaneamente o intervalo de preço com medida + família + opções publicada — centro + 8 páginas de família.

  • Novidadefiyat-hesaplama: ferramenta que calcula o intervalo instantâneo com medida, variante e opções para as 8 famílias de produto — inclui soma de sequência multi-janela, cópia do resultado e ponte para orçamento; o cálculo permanece totalmente no site.Cálculo de Preço
  • Novidadecalculadoras de família: páginas separadas para mosquiteiro, mosquiteiro plissado, estore plissado, honeycomb, duet, persiana, zip e cortina — cada uma com o seu modelo de variante, FAQ e esquema WebApplication.
v1.12.2

Ajuste de Pontuação do Assistente

O encaminhamento foi auditado com simulação de 324 combinações; a lógica foi corrigida nos cenários de espaço exterior, inquilino e porta.

  • Correcçãoassistente: na necessidade de espaço exterior o Zip passa a estar à frente; a penalização de inquilino foi reforçada (as famílias que não podem ser sem perfuração recuaram); no cenário de porta as pontuações de família foram equilibradas.
v1.12.1

Assistente de Nível Superior

O assistente expandiu-se para todas as famílias de produto; foram adicionados cartões de resposta com ícones, chips de resumo de respostas e lógica de empate.

  • Novidadeselector de nível 2 em 7 páginas de família: assistente de configuração nas páginas de mosquiteiro plissado, estore plissado, honeycomb, duet, persiana, zip e cortina.
  • Melhoriaassistente: cartões de resposta com ícones, chips de resumo de respostas que voltam à pergunta ao clicar, botão "Copiar Resultado" e selo "Boa correspondência" em corrida apertada.
v1.12.0

Assistente de Produto

Selector de produto com pontuação ponderada de quatro perguntas publicado; assistente de modelo dentro da família adicionado à página de Mosquiteiros.

  • Novidadeurun-sihirbazi: selector interactivo que recomenda as duas famílias mais adequadas de entre 8 com perguntas de espaço, necessidade, permissão de perfuração e intensidade de passagem — inclui transparência "Porque", ligação de resultado partilhável e envio por WhatsApp.Assistente de Produto
  • Novidademosquiteiros: assistente de modelo dentro da família (tipo de abertura, intensidade de passagem, necessidade de soleira) adicionado à secção de selecção.
  • Actualizaçãoteklif-al: a opção "Encontrei com o Assistente de Produto" foi adicionada à lista de assuntos; o mapa do site e o sitemap foram actualizados.
v1.11.3

Ordenação por Localização no Directório de Instaladores

A funcionalidade de localização ordena por proximidade em vez de esconder o distrito errado; as linhas de registo foram transformadas num cartão profissional com avatar e chips.

  • Melhoriamontajcilar: "Usar a Minha Localização" agora ordena a lista por distância e marca o distrito mais próximo com o selo "O mais próximo de si"; é pedida localização de alta precisão, a filtragem não esconde.
  • Actualizaçãomontajcilar: as linhas de parceiro foram redesenhadas com avatar de inicial, chips de especialidade e a informação "na rede desde …".
v1.11.2

Filtros do Directório de Instaladores

Foram adicionados ao directório a localização do distrito mais próximo baseada em posição, selecção de distrito e filtros de especialidade; o registo Yunus Göze foi processado.

  • Novidademontajcilar: experiência de directório real com filtros de selecção de distrito + chips de especialidade + "Usar a Minha Localização" (distrito mais próximo por geolocalização).
  • Actualizaçãomontajcilar.ts: registo de Yunus Göze (Kocaeli, Certificado) e tabela de coordenadas de centro de distrito adicionados.
v1.11.1

Conteúdo do Directório de Instaladores

Os registos da Equipa de Instalação FENETRE foram adicionados ao directório de instaladores; os cartões receberam ligação de contacto, o ícone user-check em falta foi completado e os títulos foram tornados significativos.

  • Actualizaçãomontajcilar: os registos da Equipa de Instalação FENETRE para İstanbul e Kocaeli foram processados no directório; o título da secção e a ligação de contacto com o parceiro foram adicionados.
  • Correcçãoicons: o ícone user-check foi adicionado — o campo de ícone vazio nos cartões de selo foi corrigido.
  • Melhoriamontajci-ol: o título fraco "Porquê Aderir" foi clarificado para "O que é Fornecido ao Parceiro de Instalação".
v1.11.0

Rede de Instaladores

Dois canais que separam o instalador do revendedor foram abertos: directório de parceiros de instalação por distrito e página de candidatura com campos de especialidade/distrito/experiência.

  • Novidademontajcilar: directório distrito→município com selo registado/certificado; o contacto é estabelecido sob coordenação do produtor, o telefone não é publicado.Instaladores
  • Novidademontajci-ol: candidatura de parceiro de instalação com campos de especialidade, município e experiência; o modelo de confirmação montajciAckHtml foi adicionado ao send.php.Torne-se Instalador
  • Actualizaçãosend.php: o campo district (município) foi processado no corpo da notificação, na linha HTML e no registo de formulário.
  • ActualizaçãoLigações de rede de instaladores adicionadas às páginas de categoria, condições de montagem e revendedor; o mapa do site e o sitemap foram actualizados.
v1.10.2

Disposição da Página de Pedido de Projeto

A página de pedido de projeto passou para um design específico do canal: cartões de acesso directo, selos de capacidade, tabela de formato de lista de medidas e cartões de escala.

  • Melhoriaproje-talebi: disposição de duas colunas (descrição do canal + formulário elevado), cartões de acesso telefone/e-mail/WhatsApp, tabela de lista de medidas de exemplo e camada de escala 20–50/50–200/200+.
v1.10.1

Vista do Termo de Compromisso

A lista de artigos na página de garantia foi reorganizada com selo numerado e título de artigo separado.

  • Melhoriagaranti: os artigos do termo de compromisso são apresentados com selo accent numerado + hierarquia card-title em vez de etiqueta de linha.
v1.10.0

Canal de Projeto em Volume

Uma linha de projeto separada foi aberta para encomendas corporativas e em volume: processo de projeto de 7 passos, formulário de pedido especial e encaminhamento de 20+ unidades.

  • Novidadeproje-talebi: formulário de pedido que recolhe lista de medidas e intervalo de quantidade para projetos de habitação em volume, hotel, escritório e públicos.Pedido de Projeto
  • Actualizaçãoprojelerimiz: secção Projeto Corporativo & em Volume (250+ projetos, capacidade de 550 m²/mês) adicionada; o processo expandiu de cinco para sete passos.
  • Actualizaçãoteklif-al: a opção Projeto em Volume (20+ unidades) foi adicionada à lista de assuntos.
v1.9.1

Cartões de Especificação e Posição do Toast

Os cartões de especificação foram detalhados: chips de selecção de família, bloco spec etiquetado e selos de dados técnicos. A posição da notificação foi fixada à altura da barra inferior do dispositivo.

  • Melhoriasartname-metinleri: para as 8 famílias, chip de salto rápido, bloco de texto com aparência de documento, selo de valor alimentado por FAMILY_SPECS e nota de área de preenchimento.
  • Correcçãotoast: posição simplificada — margens direita e inferior de 16px (bottom-4/right-4), espaçamento igual em todos os dispositivos.
v1.9.0

Textos de Especificação

Os parágrafos de especificação prontos para colar em concursos e especificações de projeto foram publicados para as 8 famílias de produto; os textos são gerados a partir da matriz de dados técnicos e copiados para a área de transferência com um clique.

  • Novidadesartname-metinleri: nova página com parágrafo spec pronto por família + botão de cópia para a área de transferência.Textos de Especificação
  • Novidadesartname.ts: os textos são gerados a partir dos valores FAMILY_SPECS; o campo null não entra na frase, sincronização automática com os dados.
  • Actualizaçãopáginas de categoria: ligação profunda adicionada do bloco Dados Técnicos para o texto de especificação da família correspondente.
  • Actualizaçãobelgeler-ve-sertifikalar: ligação à página de especificação adicionada ao texto de introdução.
v1.8.2

Avaliações Google em Produção

Quatro avaliações reais de clientes do Perfil de Empresa Google foram trazidas para o site; os nomes ligam aos perfis públicos do Maps.

  • Novidadepágina inicial: os cartões de avaliação de cliente estão agora preenchidos com dados reais; o nome do avaliador liga ao perfil de contribuidor Google.
  • Novidadereferanslarimiz: secção "O que Dizem os Clientes no Google" — 4 cartões de avaliação + ligação de continuação no Maps.
v1.8.1

Sincronização de Dados do Perfil Google Business

A ligação de partilha GBP, as coordenadas e o embed de mapa na página de contacto foram sincronizados com o registo actual; a consistência NAP foi verificada.

  • Actualizaçãoconsts: a ligação googleBusiness foi trazida para o URL de partilha actual do GBP, lat/lng para a coordenada GBP.
  • Actualizaçãoiletisim: o embed de mapa foi substituído pelo código embed actual (nome do perfil "FENETRE Systems").
v1.8.0

Compromisso de Garantia e Fornecimento de Peças

Nova página /garanti/: garantia de produto de 2 anos, fornecimento de peças de reposição de 15 anos e resposta escrita em 24 horas publicados como compromisso escrito de cinco artigos. Tabela de âmbito por componente, cadeia de código de produto e processo de pedido numa só página.

  • Novidadegaranti: nova página com termo de compromisso de cinco artigos, tabela de âmbito/exclusões, cadeia de código FS e processo de pedido de 4 passos.Garantia e Fornecimento de Peças
  • Actualizaçãohizmetlerimiz + menu principal: Garantia e Fornecimento de Peças e Pedido de Garantia e Peças adicionados à lista de serviços.
  • Actualizaçãogaranti-talebi: o breadcrumb foi movido para Os Nossos Serviços → Garantia e Fornecimento de Peças, ligação à página de compromisso adicionada.
  • Actualizaçãopágina inicial + bayilik: a resposta de garantia foi actualizada com o fornecimento de peças de 15 anos e ligada à página /garanti/.
v1.7.32

Camada de Dados Técnicos Verificável

Um modelo de dados mensurável por família foi estabelecido com teknik-veriler.ts; a tabela Dados Técnicos é visível nas páginas de categoria e processada como additionalProperty no esquema Product. Só são impressos valores documentados.

  • Novidadeteknik-veriler.ts: matriz de valores mensuráveis para as 8 famílias de produto (profundidade de cassete, medida de lamela, largura de rede, formas de montagem etc.); os dados em falta ficam null, não são impressos.
  • MelhoriaproductSchema: os dados técnicos da família são processados no nó Product com additionalProperty; lista de Dados Técnicos adicionada à introdução do CategoryPage.
v1.7.31

Níveis de Revendedor e Compromisso de Protecção do Revendedor

Foram adicionados à página de revendedor o programa de parceiros de três níveis, o compromisso de protecção do revendedor com prova de contracto e o canal de pedido de garantia/peças; as cláusulas de protecção foram processadas no contracto de revendedor.

  • Novidadebayilik: cartões de nível Parceiro / Parceiro Certificado / Parceiro Premium e secção Compromisso de Protecção do Revendedor (titularidade do cliente, encaminhamento de pedidos, protecção de zona); nota de produção de lista de preços com marca adicionada à secção do portal.
  • Novidadegaranti-talebi: nova página que recebe pedidos de garantia e peças de reposição com código de produto; impressa com esquema Service.
  • Melhoriabayilik-sozlesmesi: a cláusula "4. Protecção do Revendedor" foi adicionada — o revendedor que regista o primeiro orçamento fica protegido, os pedidos da zona são encaminhados para o revendedor.
v1.7.30

Itens Product do ItemList com Esquema Completo

Os nós Product dos itens de lista transportavam apenas nome e URL; a validação de resultados ricos do Google exige offers. Foram adicionados aos itens brand, manufacturer, AggregateOffer com intervalo de preço da família e imagem da família.

  • CorrecçãoitemListSchema: nos itens do tipo Product são impressos AggregateOffer (intervalo de preço da família, TRY, MadeToOrder), brand/manufacturer @id e a imagem FAMILY_IMAGE.
v1.7.29

Âmbito de Dados Estruturados: Product, Article, sameAs

Três lacunas de esquema foram fechadas na auditoria do site: Product + AggregateOffer nas páginas de produto/variante de produto, Article-family com campos de data-autor em todas as páginas de guia e documento, logo + sameAs no nó Organization fora da página inicial. Além disso, 3 meta descrições curtas foram trazidas para a banda de 110-155 carateres.

  • CorrecçãoarticleSchema: datePublished e dateModified são agora impressos (instante de build se não houver data real); as páginas jurídicas recebem Article com o parâmetro type.
  • CorrecçãoproductSchema é agora impresso nas páginas manuais de variante de produto (15), detalhes de montagem (MontajDetail) e detalhes de espaço (ApplicationDetailPage) — com AggregateOffer de intervalo de preço da família.
  • CorrecçãoitemListSchema: parâmetro itemType; as listas de produtos nas páginas de família e categoria transportam itens do tipo Product. O CategoryPage imprime um segundo ItemList para os produtos.
  • Correcçãostub Organization do PageLayout: logo + sameAs em todas as páginas; esquema Article-family adicionado às páginas LegalPage e de aplicação/montagem/família/serviço.
  • Melhoriacerez-politikasi, ticari-elektronik-ileti-onayi, llm-info: meta descrições alargadas para 141-151 carateres.
v1.7.28

Tipo de Página de Galeria e Pequenos Ajustes

A Galeria foi corrigida para ImageGallery em vez de CollectionPage por ser um arquivo de imagens, não uma categoria de produto; a ponte WhatsApp foi ajustada para 3 segundos; o bloqueio /cgi-sys/ foi adicionado ao robots.txt.

  • Correcçãoschema.ts: /galeri/ @type CollectionPage → ImageGallery. O sinal de listagem de produtos foi removido.
  • Melhoriawhatsapp.astro: o redireccionamento e a barra de progresso foram sincronizados para 3 segundos.
  • Melhoriarobots.txt: Disallow de /cgi-sys/ para todos os grupos de bots.
v1.7.27

Secções Reais para Páginas com Pouco Conteúdo

Na análise SEO, 4 páginas estavam abaixo de 200 palavras. As Nossas Soluções foi transformada em página hub com cartões de solução por espaço; Os Nossos Projetos foi preenchida com secções de âmbito, processo e vantagem de produtor; a Galeria ganhou secções de âmbito e encaminhamento; a página-ponte WhatsApp recebeu uma lista "o que perguntar".

  • Melhoriacozumlerimiz.astro: os grupos habitação, espaço comercial, veículo/móvel e geometria especial foram transformados numa grelha de cartões com 17 ligações reais a sub-páginas; SubNav e secção de canal corporativo adicionados.
  • Melhoriaprojelerimiz.astro: secções de âmbito (habitação em volume, hotel, corporativo), funcionamento de projeto de 5 passos e vantagem de produtor adicionadas.
  • Melhoriagaleri.astro: secções de âmbito da galeria (montagem, espaço, detalhe, cor) e de encaminhamento para páginas fonte de imagens até o arquivo encher adicionadas.
  • Melhoriawhatsapp.astro: cartão "O que Perguntar no WhatsApp" que lista os tipos de pergunta medida/produto/orçamento/revendedor e nota de horário adicionados.
v1.7.26

Legibilidade nas Páginas Jurídicas e de Informação

Na análise SEO, 8 páginas estavam na banda Flesch "Difficult". As frases longas foram divididas, as nominalizações longas foram substituídas por equivalentes curtos; o significado e o âmbito jurídico foram preservados.

  • Melhoriaticari-elektronik-ileti-onayi, kullanim-kosullari, cerez-politikasi, gizlilik-politikasi, kvkk-aydinlatma-metni, sevkiyat-ve-teslimat, llm-info: frases encurtadas, palavras longas simplificadas.
  • Melhoriachangelog.ts: os separadores " — " e "; " nos textos de item e resumo foram convertidos em fim de frase. Os padrões com aspas foram preservados.
v1.7.25

Deslocamento Horizontal de Breadcrumb em Linha Única

As cadeias de breadcrumb longas caíam para duas linhas no móvel. A cadeia agora fica numa só linha, desliza horizontalmente com arrasto de dedo/rato e roda, e a barra de deslocamento é invisível.

  • MelhoriaBreadcrumb.astro: flex-wrap removido, ol overflow-x-auto + scrollbar-hide + shrink-0/whitespace-nowrap. Com o padrão SubNav foram adicionados drag-to-scroll, roda vertical→horizontal e o início visível da folha da página no transbordo.
v1.7.24

Page Titles que Excediam o Limite de 561px Encurtados

Na análise SEO, os títulos de documento de 13 páginas excediam o limite de píxeis estimado do Google. O padrão docTitle das famílias afetadas foi uniformemente encurtado, o nome do produto e a informação distintiva foram preservados.

  • Correcçãoplise-categories.ts: os 24 docTitle da família dupla dia-noite de "Gece Gündüz — X + Y Tül" para "X + Y Tül Çiftli". Na família de véu plissado (6) a palavra "Perde" foi retirada. Na família de blackout total (5) a palavra "Plise" foi retirada.
  • Correcçãohoneycomb-categories.ts: 7 docTitle "X Honeycomb Perde — Y" → "X Honeycomb — Y" (toda a família uniforme, incluindo os casos branco e castanho reportados).
  • Correcçãohizmet-bolgeleri.astro: title "Montaj, Kargo, Teslimat" → "Montaj ve Kargo" (60→52 carateres).
v1.7.23

Page Title Curto da Página A Nossa História

O título de documento da página /tarihcemiz/ estava abaixo do limite com 28 carateres. Foi alargado para "Tarihçemiz — Gebze'den Dünyaya Üretim" (o H1 e a folha de breadcrumb não mudaram).

  • Correcçãotarihcemiz.astro: PageLayout title "Tarihçemiz" → "Tarihçemiz — Gebze'den Dünyaya Üretim". Title 28→55 carateres, H1/breadcrumb mantidos.
v1.7.22

Títulos H2 que Excediam 70 Carateres Encurtados

Os nomes de produto longos da família plissada dupla dia-noite excediam 70 carateres nos títulos "Para Quem?", "Perguntas Sobre" e CTA. Foi adicionado um encurtamento condicional ao modelo ProductDetail. Os dois H2 longos na página de missão e visão também foram trazidos para dentro do limite.

  • CorrecçãoProductDetail.astro: quando o nome do produto + sufixo excede 70 carateres, o H2 desce apenas para a forma curta ("Para Quem?", "O que se Pergunta Sobre", verbo CTA). 44 violações corrigidas, as páginas de nome curto não foram afetadas.
  • Correcçãomisyon-ve-vizyon.astro: H2 de missão 71→55, H2 de visão 83→65 carateres. Apertado preservando o significado.
v1.7.21

Meta Description que Excedia 155 Carateres em Cinco Páginas

As meta descrições das páginas termos de utilização, os nossos valores, estore plissado para jardim de infância, mosquiteiro plissado adesivo e com parafusos estavam acima do limite de 155 carateres. Foram encurtadas preservando o significado.

  • Correcçãodegerlerimiz.astro 160→138, kullanim-kosullari.astro 157→153, plise-perde-uygulama.ts (jardim de infância) 159→155, montaj-pages.ts (mosquiteiro plissado adesivo) 160→153 e (mosquiteiro plissado com parafusos) 157→150. As meta descriptions das 5 páginas estão agora no limite de 155 carateres ou abaixo.
v1.7.20

Direcção da Relação de Referências e Três Consistências de Texto

Na página inicial, as marcas estrangeiras eram apresentadas na direcção errada como "revendedor que vende os nossos produtos". Foi convertido para a expressão "parceiro de produção" compatível com o contracto de dados references.ts e com o significado OEM na página /referanslarimiz/ (as encomendas da Turquia são produzidas em Gebze). A grafia "specifikasyon" no modelo de detalhe de produto foi corrigida para a forma correcta TDK "spesifikasyon", o intervalo "%1–%5" na página de aplicação de estore zip foi corrigido para o intervalo de oferta "%3–%5" do catálogo, e a expressão difícil "ağacağı" no texto do estore roxo foi corrigida para a forma "çekeceği".

  • Correcçãoindex.astro: lista de marcas estrangeiras "revendedor e parceiro de negócio" → "parceiro de produção". A direcção da relação foi uniformizada com o contracto references.ts e a página /referanslarimiz/.As Nossas Referências
  • CorrecçãoProductDetail.astro: "specifikasyonları/specifikasyonu" → "spesifikasyonları/spesifikasyonu". Afeta o subtítulo da tabela técnica em todas as páginas de detalhe de produto.
  • Correcçãouygulama-alanlari.ts: abertura do tecido de estore zip "%1–%5" → "%3–%5". Uniformizado com o intervalo de oferta na página /zip-perde-sistemleri/.
  • Melhoriaproduct-pages.ts: "Hangi yöne ağacağı" no texto do estore plissado roxo → "Hangi tarafa çekeceği". Formulação compreensível numa só leitura.
  • Correcçãoplise-perde-uygulama.ts, plise-categories.ts, montaj-pages.ts: 4 textos meta que excediam o limite foram encurtados. /anaokulu-plise-perde/ desc 164→159, /antrasit-yari-karartma-plise-perde/ title 61→55, /kahverengi-tam-karartma-plise-perde/ title 63→57, /yapiskanli-plise-sineklik/ desc 161→160.
v1.7.19

Kicker "Devam" Ambíguo nos Modelos de Aplicação

Nos três modelos que geram as páginas de área de aplicação (ApplicationAreaPage, ApplicationDetailPage, ApplicationSubHub), a etiqueta superior da secção de páginas relacionadas era impressa como "Devam". A etiqueta foi corrigida para "Keşfet", que descreve o conteúdo.

  • CorrecçãoApplicationAreaPage.astro, ApplicationDetailPage.astro, ApplicationSubHub.astro: kicker "Devam" → "Keşfet". Em todas as páginas da família de aplicação, a etiqueta da secção de páginas relacionadas descreve agora a função da secção.
v1.7.18

O Cartão Honeycomb em Os Nossos Produtos Mostrava "0 produtos"

Faltava countLabel no registo honeycomb-perdeler em products.ts. "0 produtos" era impresso no cartão e na tabela de comparação. Como a família tem três categorias (liso, estampado, padrão), a etiqueta foi definida como "3 categorias".

  • Correcçãoproducts.ts: countLabel: "3 kategori" adicionado ao registo honeycomb-perdeler. O selo do cartão de Os Nossos Produtos e a tabela de comparação mostram agora o número correcto.
v1.7.17

Número de Modelos de Cortina Corrigido para Oito em Três Textos

Enquanto a família de cortinas é composta por oito modelos activos, os textos da página inicial, /sistemlerimiz/ e /perde-sistemleri/ diziam "dez modelos". O número em contradição com a realidade do catálogo foi corrigido para "oito modelos" nos três lugares.

  • Correcçãoindex.astro, sistemlerimiz.astro, perde-sistemleri.astro: "on model" → "sekiz model". Estão definidos 8 modelos de cortina activos no catálogo products.ts, uniformizado com a página /perdeler/.
v1.7.16

Texto de CTA de Recursos Humanos Encaminhado para o Formulário Correcto

O CTA de fecho da página apontava para o "formulário de contacto" para o CV. Como o ficheiro de CV só é aceite através do formulário de candidatura na página, o texto foi convertido para o formulário correcto.

  • Correcçãoinsan-kaynaklari.astro: descrição do CTA "do formulário de contacto" → "do formulário de candidatura acima". Não há anexo de ficheiro no formulário de contacto.
v1.7.15

Cartões Placeholder Vazios Removidos da Galeria e de Os Nossos Projetos

Cartões de esboço numerados sem conteúdo ("Imagem 1–6", "Projeto 1–3") permaneciam nas duas páginas publicadas. Os cartões foram removidos até chegar conteúdo real, a nota honesta "arquivo em preparação" foi preservada.

  • Correcçãogaleri.astro + projelerimiz.astro: as grelhas de cartões placeholder vazios foram removidas. A nota de preparação foi centrada como um único parágrafo.
v1.7.14

Formulação Quebrada na Frase de Missão de Sobre Nós Corrigida

O texto da missão era duas partes cortadas ao meio no formato "…parcerias de negócio. O cliente…". A primeira frase pendente foi removida e unida numa única frase.

  • Correcçãohakkimizda.astro: o parágrafo de missão foi unido numa única frase. "…com as parcerias, ser o produtor que o cliente escolhe repetidamente."
v1.7.13

Grafia de Marca nas Etiquetas de Slide Hero Adaptada à Regra

Os textos kicker dos slides de produto eram variantes que colocavam o nome do produto dentro da marca, como "FENETRE Sineklik Systems". Foram substituídos pelos nomes de linha de produto em turco conforme a regra de grafia de marca (Sineklik Sistemleri, Plise Sineklikler etc.).

  • Correcçãohero-slides.ts: o kicker dos 8 slides de produto foi convertido da variante "FENETRE X Systems" para o nome da linha de produto. A marca permanece fixa como "FENETRE Systems".
v1.7.12

Meta Descrição de Estore Plissado para Jardim de Infância Trazida ao Limite

A meta descrição da página excedia o limite de auditoria (165) por um caráter com 166 carateres. Foi reduzida para 162 carateres simplificando a conjunção "e", o significado foi preservado.

  • Correcçãoplise-perde-uygulama.ts: `meta` de anaokulu-plise-perde 166→162 carateres. O aviso audit-dist foi fechado.
v1.7.11

Junção de Texto Etiqueta-Valor na Página de Contacto Resolvida

O `<span>` da etiqueta "Sosyal Medya" e o `<span>` do valor no cartão de informação de contacto vinham consecutivos no fim de linha. Como o Astro elimina o espaço, na extracção de texto colavam como "Sosyal MedyaProfil linkleri…". Foi adicionado `{' '}` após a etiqueta.

  • Correcçãoiletisim.astro: `{' '}` após a etiqueta "Sosyal Medya". No HTML, na cópia e no gémeo `.md`, a etiqueta e o valor leem-se separados.
v1.7.10

Gémeos .md Adicionados ao Mapeamento MIME do Apache

Os gémeos `.md` gerados por página não tinham correspondência em mime.types. O Apache servia estes ficheiros com um tipo indefinido em vez de `text/markdown`. `AddType text/markdown .md` foi adicionado ao `.htaccess` e os ficheiros foram incluídos na lista deflate.

  • Correcção`.htaccess`: `AddType text/markdown .md` no bloco `mod_mime`. `text/markdown` adicionado ao filtro Deflate. Os cabeçalhos de segurança permanecem deliberadamente no nginx (evita cabeçalho duplo).
v1.7.9

Página Offline Limpa do Manipulador de Evento Inline

O botão "Tentar Novamente" da página offline chamava `location.reload()` com o atributo `onclick`. O padrão de interacção do projeto exige delegação de documento com selector `data-*`, não manipulador inline. O clique agora recarrega com um único ouvinte delegado que procura o elemento marcado `data-retry`.

  • Correcçãooffline.astro: `onclick` removido. Foi adicionado um ouvinte de click delegado para `[data-retry]` no bloco `__offlineBound`.
v1.7.8

Aninhamento Interactivo nos Textos de Consentimento RGPD Resolvido

O `<label>` de consentimento RGPD nos formulários de contacto, revendedor e candidatura continha uma ligação. As regras HTML não permitem elemento interactivo dentro de etiqueta e clicar na ligação podia acionar a caixa de selecção. A ligação foi movida para fora da etiqueta. O texto de consentimento foi ligado à caixa com a relação `for`/`id`.

  • CorrecçãoBloco de consentimento RGPD em ContactForm, DealerForm e JobForm: `<a>` já não é descendente de `<label>`. A frase de consentimento está ligada à caixa de selecção com a etiqueta `for="kvkk-onay"`.
v1.7.7

Nome Acessível do Selector de Idioma Cobre o Texto Visível

O `aria-label` do botão do selector de idioma não continha a etiqueta visível ("TR · Türkçe"). Foi adicionado o nome do idioma visível ao nome acessível para que os utilizadores de controlo por voz possam invocar com o texto que veem (WCAG 2.5.3).

  • CorrecçãoO `aria-label` do botão LanguageSwitcher é agora no formato `TR · Türkçe. Dil seçimi`: o código de idioma visível e o nome do idioma local aparecem no início do nome acessível.
v1.7.6

Menus Suspensos Ligados aos Contentores de Popup com aria-controls

Os botões suspensos de idioma, pesquisa e menu transportavam `aria-expanded` mas não estavam ligados aos contentores de popup que controlam. Foi dado um `id` estável às raízes de popup. Todos os acionadores mostram agora o alvo com `aria-controls`.

  • Melhoria`id` estável adicionado à paleta de pesquisa, gaveta móvel, sub-página de idioma e aos dois menus de idioma. Os acionadores do cabeçalho e da navegação inferior apontam para o popup correspondente com `aria-controls`. O menu de idioma dentro da gaveta transporta um `id` separado para evitar colisão.
v1.7.5

Uso de Section sem Título Corrigido Semanticamente

O elemento `<section>` era usado em 39 bandas de disposição sem título na página. A prop `as` foi adicionada ao componente Section, as bandas de disposição são impressas como `<div>`. Um H2 real foi adicionado à secção Vantagens ligada ao nav.

  • MelhoriaO parágrafo de introdução de categoria (18 páginas), a introdução de guia, a banda de funcionalidades nas 8 páginas de família, a faixa de estatísticas e 7 bandas de página única são agora impressos como `<div>` em vez de `<section>`. O componente Section faz a selecção de elemento com a prop `as`.
  • CorrecçãoO título H2 "Vantagens da Produção à Medida" foi adicionado à secção "Vantagens" ligada à navegação inferior. A secção transporta agora um título visível que corresponde à etiqueta do nav.Produção à Medida
v1.7.4

Escape de HTML Puro nas Respostas de FAQ Resolvido

Nas três páginas de produto de blackout, a marcação de ligação dentro da resposta de FAQ foi inserida no campo de texto simples. O código "<a href=...>" aparecia tal como estava ao utilizador. As ligações foram movidas para o campo html do Accordion.

v1.7.3

Colisões de Código de Stock Resolvidas

As famílias de categoria que não constavam na tabela de prefixo SKU caíam no prefixo URN geral, o mesmo código repetia-se em vários produtos. Foi definido um prefixo único para 15 famílias, tornando o código de stock de cada produto único.

  • CorrecçãoOs prefixos SKU das subfamílias de plissado véu, blackout, estampado e padrão, plissado duplo dia-noite, duet e honeycomb (TPL, TKP, YKP, BPL, DPL, GGU, DUD, TUD, DED, BAD, GNS, DUH, DEH, BAH) foram adicionados. Os códigos FS-URN que se repetiam em 54 produtos foram convertidos em códigos únicos por família.
v1.7.2

Falta de Nome de Produto nos Títulos de Página de Blackout Resolvida

O nome de produto "Plise" tinha caído dos títulos das páginas de estore plissado blackout parcial antracite e blackout total castanho. Foi completado para o mesmo padrão das páginas irmãs.

v1.7.1

Título de CTA de Mosquiteiro com Parafusos Diferenciado

O título de CTA da página de mosquiteiro plissado com parafusos foi retirado do padrão "Envie a Foto do Caixilho" partilhado com o gémeo de cortina e ligado à ênfase de superfície cassete-parede.

  • CorrecçãoO título de CTA do mosquiteiro plissado com parafusos foi actualizado para "Envie a Superfície onde a Cassete Assenta". Foi tornado compatível com o conteúdo de que a cassete do mosquiteiro também pode ser aparafusada à parede.Mosquiteiro Plissado com Parafusos
v1.7.0

Meta Descrições dos Gémeos de Montagem Diferenciadas

As meta descrições das páginas de mosquiteiro plissado com parafusos e adesivo foram retiradas do padrão de esqueleto partilhado com as páginas de cortina do mesmo método de montagem e ligadas ao próprio conteúdo do mosquiteiro (parafuso conforme a superfície, carga do cordão de tensão, fita de uso único).

  • CorrecçãoA meta descrição do mosquiteiro plissado com parafusos foi ligada à tabela superfície-parafuso e ao conteúdo de marca de desmontagem.Mosquiteiro Plissado com Parafusos
  • CorrecçãoA meta descrição do mosquiteiro plissado adesivo foi ligada à fita de dupla face, capacidade de carga e informação de refitação.Mosquiteiro Plissado Adesivo
v1.6.9

Meta Descrição de Jardim de Infância — Diferenciação Corporativa

A meta descrição do estore plissado para jardim de infância foi limpa das expressões de segurança/blackout que colidiam com a página de quarto de criança e foi trazida para o diferenciador corporativo (produção de projeto único sala-refeitório-sala de jogos).

  • CorrecçãoA meta descrição do estore plissado para jardim de infância foi renovada para destacar a escala institucional. A semelhança de meta com a página de quarto de criança foi quebrada.Estore Plissado para Jardim de Infância
v1.6.8

Correcção de Formulação Defeituosa no Duet Preto

O erro de duplo predicado no parágrafo de montagem do estore duet preto foi resolvido. A expressão "kritiktir öneridir" foi corrigida para "teknik öneridir" de forma compatível com a terminologia do site.

  • CorrecçãoO erro de duplo predicado "kritiktir öneridir" na formulação de montagem com portray do estore duet preto foi corrigido para "teknik öneridir".Estore Duet Preto
v1.6.7

Limpeza de Expressão de Elogio sem Prova

A última expressão de qualificação exagerada restante foi corrigida na análise de estilo de todo o site. A expressão "kusursuzdur" na nota de utilização do plissado antracite foi convertida em formulação verificável.

  • CorrecçãoA expressão "a integridade da fachada é perfeita" na nota de utilização do estore plissado antracite foi actualizada para "a integridade da fachada é preservada".Estore Plissado Antracite
v1.6.6

Última Passagem de Diferenciação de Meta Descrição

Os pares fronteiriços restantes na última ronda da análise de semelhança de meta descrição entre páginas foram diferenciados. As descrições de duet bege e blackout total cinzento foram actualizadas para não colidir com os textos de produtos vizinhos.

  • CorrecçãoA meta descrição do estore duet bege foi limpa da expressão que colidia com a variante honeycomb da mesma cor. A descrição de blackout total cinzento foi retirada da estrutura de frase comum com a variante branca.Estore Duet Bege
v1.6.5

Aperto de Meta Título e Textos de Categoria Honeycomb

Os títulos das 41 páginas que excediam o limite de SEO title foram encurtados. As meta descrições dos produtos plissados duplos dia-noite foram diferenciadas por produto, os textos de categoria e produto honeycomb foram diferenciados da família duet pela sua diferença técnica (célula de fila única), e foi adicionado um 301 para o endereço antigo /kvkk/.

  • CorrecçãoFoi escrito um SEO title curto (padrão "Gece Gündüz — …") e uma meta descrição específica do produto para os 24 produtos plissados duplos dia-noite. Os títulos dos 15 produtos véu/blackout foram trazidos para o limite de 60 carateres.Estore Plissado Duplo Dia e Noite
  • MelhoriaOs textos de categoria e produto honeycomb foram diferenciados do mesmo esqueleto da família duet. Ênfase em célula de fila única, textos intro/CTA/amostra separados. O erro de expressão "estabelece-se ponte térmica" foi resolvido.Estores Honeycomb
  • CorrecçãoForam adicionadas regras 301 permanentes para o endereço antigo /kvkk/ ao .htaccess e às directivas nginx do Plesk com destino /kvkk-aydinlatma-metni/.Texto de Divulgação RGPD
  • CorrecçãoAs meta descrições das páginas de contracto de revendedor e distribuição, recursos humanos e histórico de versões foram reduzidas para o limite de 160 carateres.Contracto de Revendedor
v1.6.4

Stub de Slug Antigo Removido

O ficheiro stub meta-refresh /gece-gunduz-plise-perdeler/ foi eliminado. O 301 permanente já está escrito no nginx e no .htaccess. A página também foi limpa do sitemap e do mapa do site.

  • Correcçãosrc/pages/gece-gunduz-plise-perdeler.astro eliminado. O slug antigo continua a redireccionar para o endereço /gece-gunduz-ciftli-plise-perde/ com as regras 301 ao nível do servidor.Estore Plissado Duplo Dia e Noite
v1.6.3

Correcção de Grupos de Soluções do Mapa do Site

No mapa do site, As Nossas Soluções, Os Nossos Projetos e Áreas de Serviço eram mostrados por engano aninhados numa única secção. As três páginas independentes foram separadas para os seus próprios grupos. Correspondência exacta com o menu do cabeçalho e a estrutura de breadcrumb.

  • CorrecçãoA secção "Çözümlerimiz" sob Hizmetlerimiz em site-map.ts foi removida. As Nossas Soluções, Os Nossos Projetos e Áreas de Serviço tornaram-se três grupos separados (solutions, projects, service-areas) como em sitemap-groups.ts.Mapa do Site
v1.6.2

Aperto E-E-A-T dos Textos de Áreas de Serviço

As descrições e os parágrafos da página foram reforçados com dados operacionais concretos. Número de 51 municípios, horário de funcionamento, conteúdo do pacote, âmbito do orçamento. As expressões genéricas foram substituídas por detalhe verificável.

  • MelhoriaA passagem de introdução, as descrições de secção, o cartão de montagem, os passos do processo e as respostas de FAQ foram reescritos. O horário de funcionamento do agendamento de visita foi adicionado ao texto, dados concretos foram colocados nas etiquetas de chip.Áreas de Serviço
v1.6.1

Melhoria Visual do Painel de Zona de Montagem

As listas de municípios passaram de uma sequência de pills livre para uma grelha alinhada. İstanbul em primeiro lugar, os títulos de distrito são mostrados com ícone e selo de contagem de municípios.

  • MelhoriaOs pills de município foram transformados em células de grelha de 2/3/4 colunas. Cada célula contém uma marca de cobertura (check), os títulos de distrito transportam ícone map-pin + selo de contagem de municípios. O bloco de İstanbul foi movido acima do de Kocaeli.Áreas de Serviço
v1.6.0

Reformulação do Hub de Áreas de Serviço

A página fina de três cartões foi transformada num hub de zona completo: cobertura de montagem gratuita de 51 municípios (İstanbul 39 + Kocaeli 12), ligações profundas de expedição para a Turquia, lista de países europeus e painel de produtor B2B numa só página.

  • Actualização/hizmet-bolgeleri/ reescrito: esqueleto com SubNav, 4 chips de resumo, painel de zona de montagem município a município, mapa, cartões de ligação profunda da Turquia, pills de países europeus, painel de produtor B2B, processo de 4 passos e FAQ de 6 perguntas.Áreas de Serviço
  • Novidadesrc/data/service-regions.ts. As listas de municípios e países foram reunidas numa única fonte de verdade. O registo cuja página de detalhe é publicada transforma-se automaticamente em ligação no hub de zona, o registo sem href permanece pill passivo.
  • MelhoriaA camada de esquema foi alargada: Service.areaServed foi igualado à cobertura visível, nós FAQPage e HowTo foram adicionados.
v1.5.0

Expansão do Catálogo de Produtos: 48 Novas Variantes de Cor em 5 Famílias

A categoria Estore Plissado Duplo Dia e Noite foi dividida em 24 combinações. Foram adicionados 5 produtos de cor aos Estores Plissados de Blackout Total e Parcial e 7 produtos de cor aos Estores Honeycomb e Duet Lisos. Cada produto está em produção com o seu próprio slug, breadcrumb e identidade de conteúdo.

  • Novidade24 páginas de produto de combinação em produção: as camadas de véu Branco, Cru, Creme, Cinzento, Cinzento Claro e Cinzento Escuro foram emparelhadas com as camadas de noite Tecido Liso, Blackout Parcial, Blackout Total e Honeycomb.CategoriaProduto de exemplo
  • Novidade5 produtos de cor adicionados à categoria Estores Plissados de Blackout Total: as versões blackout Branco, Creme, Cinzento, Antracite e Castanho em páginas separadas.CategoriaProduto de exemplo
  • Novidade5 produtos de cor adicionados à categoria Estores Plissados de Blackout Parcial: as versões dim-out Branco, Creme, Cinzento, Antracite e Castanho em páginas separadas.CategoriaProduto de exemplo
  • Novidade7 produtos de cor adicionados à categoria Estores Honeycomb Lisos: as versões de favo Branco, Creme, Bege, Cinzento, Castanho, Antracite e Preto em páginas separadas.CategoriaProduto de exemplo
  • MelhoriaPara cada combinação, a tabela de caraterísticas técnicas de camada dupla (camada noite/dia, perfil de canal duplo, braços separados) é alimentada por um modelo spec separado. O sitemap e as saídas LLM expandiram-se automaticamente.
  • Novidade7 produtos de cor adicionados à categoria Estores Duet Lisos: as versões de célula dupla Branco, Creme, Bege, Cinzento, Castanho, Antracite e Preto em páginas separadas.CategoriaProduto de exemplo
  • MelhoriaFoi feita uma auditoria de conteúdo de produto em todo o catálogo: ≈350 textos que se repetiam ao nível de frase e parágrafo foram reescritos para se focarem no próprio título de cada produto. Não restou frase semelhante.
v1.4.22

Consistência de Nomes sob Auditoria Permanente

É obrigatório no build que a folha de breadcrumb seja exactamente igual ao H1 da página. A abreviatura do tipo "Referanslar" passa a fazer a compilação falhar. Foi adicionada uma porta de deploy: um dist não auditado ou antigo não pode ser publicado.

  • MelhoriaA regra folha = H1 foi adicionada ao check-breadcrumbs. As folhas curtas deliberadas existentes foram escritas numa lista de exceções fixa. O build para numa nova página ou numa nova incompatibilidade na existente.
  • MelhoriaUma porta de deploy foi adicionada ao deploy.sh: se src/public/scripts for mais recente do que o dist ou se a verificação de breadcrumb/canonical falhar, a publicação é rejeitada.
v1.4.21

Etiquetas de Menu Unificadas com o Nome da Página

As etiquetas abreviadas como "Referanslar" na topbar e "Sineklik" nos dropdowns do cabeçalho desapareceram. Todos os menus de chrome transportam o nome da página de destino. A auditoria agora também cobre as etiquetas de menu.

  • CorrecçãoO H1/breadcrumb da página As Nossas Referências foi igualado. As etiquetas da topbar, footer, drawer e dropdowns do cabeçalho foram feitas exactamente iguais ao nome da página de destino.As Nossas Referências
  • Melhoriacheck-breadcrumbs agora também audita os menus de chrome: a etiqueta abreviada no Menu superior, Menu principal, navs do footer, menu inferior móvel e drawer faz o build falhar.
v1.4.20

Etiquetas de Página Central Igualadas ao Slug

As etiquetas nav, breadcrumb, H1 e mapa do site das cinco páginas centrais com slug em "-imiz" estavam abreviadas. Foram unificadas como Ürünlerimiz, Sistemlerimiz, Hizmetlerimiz, Çözümlerimiz, Projelerimiz.

  • CorrecçãoO nav do cabeçalho, barra inferior móvel, breadcrumb, H1 da página, mapa do site e etiquetas i18n foram igualados exactamente ao nome da página. Consistência alcançada em ≈50 ficheiros.Os Nossos ProdutosOs Nossos Sistemas
  • MelhoriaRegra de etiqueta adicionada à auditoria de breadcrumb: o texto da ligação deve ser igual ao próprio nome da página de destino. O desvio faz o build falhar.
v1.4.19

Auditoria de Build da Cadeia de Breadcrumb

A consistência de breadcrumb é agora uma regra permanente. O invariante cadeia(página) = cadeia(página-mãe) + página é verificado em 245 páginas. Qualquer nova página que salte um patamar ou dê uma ligação quebrada faz o build falhar.

  • Novidadecheck-breadcrumbs.mjs ligado à cadeia de build: o invariante de prefixo, a ligação de crumb quebrada e a incompatibilidade nav↔BreadcrumbList são verificados.
  • ActualizaçãoRegra de cadeia de breadcrumb adicionada ao AGENTS.md. O patamar de família é obrigatório nas páginas sob família.
v1.4.18

Patamar de Família na Cadeia de Breadcrumb de Produto

Nos produtos de categoria sob família (Plissado, Persiana) o breadcrumb saltava o nível intermédio. Os Nossos Produtos → Categoria → Produto. Foi estabelecida a mesma cadeia da página de categoria: Os Nossos Produtos → Família → Categoria → Produto.

  • CorrecçãoO patamar parent foi adicionado ao breadcrumb do ProductArticle. Todas as páginas de produto sob família seguem exactamente a mesma cadeia da página de categoria.Exemplo: Estore Plissado Vison
v1.4.17

Seis Páginas de Estore Plissado de Véu

Seis páginas de produto de cor foram adicionadas à família Estores Plissados de Véu. Branco, Cru, Creme, Cinzento, Cinzento Claro e Cinzento Escuro. Cada uma com texto independente focado no seu tom, guia de medida/montagem e FAQ.

v1.4.16

Arquitectura de Mail do AGENTS.md Igualada

As notas do projeto documentam a nova arquitectura de entrega. O caminho primário sendDirectMX, o mecanismo SPF `a`, a reserva AUTH e o modelo HTML em ambos os caminhos. A antiga restrição "notificação de texto simples" foi removida.

  • ActualizaçãoA secção de arquitectura de mail foi actualizada com MX-first + AUTH-fallback + registo via + modelos HTML por formulário.
v1.4.15

A Reserva AUTH Também Usa Modelo HTML

As notificações que caíam para AUTH após deferral MX iam em texto simples. O caminho de reserva também usa agora o modelo HTML corporativo. Devido à natureza probabilística do CS101, o texto simples já não confere vantagem de entrega.

  • CorrecçãoA mensagem de fallback AUTH é enviada com notifyHtml + emailChrome. A notificação chega com design independentemente do transporte usado.
v1.4.14

Modelo Próprio para a Confirmação de Candidatura

A confirmação de cliente do formulário de recursos humanos caía no modelo geral "A sua mensagem foi recebida". Agora tem o seu próprio design como contacto/revendedor/orçamento. Selo de carreiras, área de candidatura + informação de CV e passos do processo de avaliação.

  • NovidadeModelo careerAckHtml. Contém a área de candidatura, o nome do ficheiro de CV e o processo de avaliação de 3 passos. Ligado a /insan-kaynaklari/.
v1.4.13

Mail de Notificação Passou para Modelo HTML Corporativo

A restrição de texto simples era apenas para o filtro CS101 outbound do iCloud. Como a notificação agora vai pelo caminho inbound MX, é usado o modelo HTML corporativo (notifyHtml + emailChrome). A reserva AUTH permanece em texto simples.

  • MelhoriaA notificação do proprietário do site é enviada como multipart/alternative. Design corporativo com tabela de campos etiquetados, ligações tel/mailto/WhatsApp e cartão de mensagem.
v1.4.12

Registo do Caminho de Entrega no Log de Envio

Cada registo de formulário guarda agora com que transporte a notificação saiu. Mx, auth ou fail. Se houver erro MX, a sua breve descrição também é registada. Aparece como campo Notificação no cartão do visualizador.

  • MelhoriaA escrita de log do send.php foi movida para depois da notificação e o resultado do transporte foi processado no registo. Também é escrito um registo fail em caso de falha total (protegido contra duplicação).
v1.4.11

Entrega de Notificação Movida para o Caminho MX Directo

Foi verificado que o CS101 só funciona no outbound submission do iCloud. A notificação do proprietário do site é agora entregue ao MX inbound do iCloud sem AUTH. Se o MX falhar, cai para o antigo caminho AUTH. O caminho de envio é reportado na resposta JSON.

  • CorrecçãosendDirectMX adicionado. Os registos MX são tentados por ordem de prioridade, STARTTLS oportunista, EHLO compatível com rDNS (server.fenetre.com.tr). Não há filtro CS101 neste caminho.
  • CorrecçãoA tentativa From≠To foi revertida. As provas refutaram a teoria de envio-para-si-mesmo. Uma vez que até o mail de confirmação foi rejeitado, o problema é um filtro outbound probabilístico ao nível da conta.
  • MelhoriaOs cartões de registo de formulário foram reorganizados. Linha de título (nome/formulário/data/eliminar) + grelha de campos etiquetados (telefone, e-mail, assunto, localização, página, CV).
v1.4.10

Arquitectura de Distribuição de Formulários do AGENTS.md Actualizada

As notas do projeto documentam a cadeia de distribuição real (public/api → dist → branch deploy → Plesk) e a localização persistente do forms-log.php acima do docroot. A antiga nota "carregado manualmente para o servidor" foi corrigida.

  • ActualizaçãoAs secções de endpoint de formulário e log de envio foram igualadas à arquitectura ao vivo. As acções de eliminar/limpar no visualizador foram anotadas.
v1.4.9

Eliminar e Limpeza em Massa nos Registos de Formulário

As acções Eliminar por registo e Limpar tudo foram adicionadas ao visualizador forms.php. As operações são feitas por POST, a key é reverificada no corpo e a eliminação de linha acontece sob bloqueio de ficheiro.

  • NovidadeBotão Eliminar por registo. Visa a linha de dados no ficheiro pelo seu índice, a linha de cabeçalho é preservada.
  • NovidadeLimpar tudo. Repõe o ficheiro de log com o cabeçalho protector. O reenvio acidental é impedido com diálogo de confirmação e POST-Redirect-GET.
v1.4.8

Log de Formulários Movido para Fora da Raiz Web

Após verificar que a sincronização de distribuição Plesk não toca nos ficheiros fora do docroot, a localização do log foi movida para acima do httpdocs. Os registos são agora completamente independentes dos deploys e estruturalmente fechados ao acesso web.

  • Correcçãosend.php escreve o ficheiro de log na localização dirname(__DIR__,2)/forms-log.php. Se não for possível escrever acima do docroot, cai para dentro de api/.
  • MelhoriaO visualizador forms.php procura primeiro a nova localização, varre as localizações antigas retroativamente e mostra o caminho do ficheiro resolvido na interface.
v1.4.7

Log de Formulários Retirado do Âmbito de Deploy

O ficheiro seed forms-log.php estava no pacote de deploy, por isso sobrescrevia os registos ao vivo em cada sincronização do servidor. O ficheiro foi retirado da distribuição. O send.php cria-o ele próprio com o cabeçalho protector quando necessário.

  • Correcçãopublic/api/forms-log.php e a cópia deploy foram removidos, **/forms-log.php foi adicionado à lista .gitignore. O ficheiro de log ao vivo fica agora untracked no servidor e não é afetado pelos deploys.
v1.4.6

As Mensagens de Erro de Formulário Mostram a Causa Real

Os formulários de contacto, revendedor e candidatura ignoravam o erro devolvido pelo servidor e diziam "Falha no envio" em todos os casos. Agora a causa real como rate-limit (429) ou validação (422) é impressa directamente ao utilizador.

  • CorrecçãoO fluxo de submit de ContactForm, DealerForm e JobForm preserva o campo error da resposta JSON do servidor. No envio 429 é mostrado "Envio demasiado frequente. Aguarde por favor.".
  • MelhoriaO encaminhamento para telefone só é adicionado em falhas reais sem mensagem do servidor, como erro de rede/JSON.
v1.4.5

Ficheiros de API Movidos para o Caminho de Distribuição

As alterações de notificação de formulário e log de envio foram movidas para a localização public/api/, o único canal que chega ao servidor. A cópia na pasta deploy/ foi igualada como referência. A correcção de mail da versão anterior chega de facto ao servidor com este transporte.

  • Correcçãosend.php, forms.php e forms-log.php foram copiados para public/api/. O servidor ao vivo serve apenas a saída estática no branch deploy. Os ficheiros na pasta deploy/ tinham de ser carregados manualmente.
  • MelhoriaA lista de permissões do .htaccess foi alargada para send|log404|forms. O visualizador sob /api/ está no âmbito do Disallow do robots.
v1.4.4

Correcção de Entrega de Notificação de Formulário

O filtro iCloud que impedia as notificações de contacto, orçamento, revendedor e candidatura de caírem na caixa info@fenetresystems.com foi ultrapassado alterando a assinatura do remetente. As notificações são agora enviadas do endereço fenetresystems@icloud.com da mesma conta iCloud+ para o endereço info@. Cada envio de formulário é também escrito num log protegido no servidor.

  • CorrecçãoO endereço envelope+From do mail de notificação foi alterado para fenetresystems@icloud.com. O padrão de envio-para-si-mesmo "info@ → info@" acionava o filtro CS101 outbound do iCloud. O mail de confirmação de cliente foi preservado com remetente info@.Contacto
  • NovidadeOs envios de formulário são escritos num log JSONL no servidor. A candidatura não se perde independentemente do que o filtro de mail fizer. Os registos só são lidos com o visualizador /forms.php protegido por chave. A chave errada devolve 404, a página está marcada noindex.
v1.4.3

Identidade para os Grupos do Mapa do Site

A informação sitemap-meta que transporta o nome e a descrição do grupo foi adicionada a cada ficheiro de grupo do sitemap. Na vista de estilo, cada ficheiro abre agora com o seu próprio título. O esquema de dados XML não mudou. A informação extra é transportada como processing-instruction que os parsers de sitemap ignoram.

  • NovidadeTítulo e descrição turcos únicos adicionados a 14 ficheiros de grupo. Como Os Nossos Sistemas, Os Nossos Produtos, Montagem, Imagens. O sitemap.xsl imprime dinamicamente o título e a sub-descrição a partir do ficheiro.sitemap.xml
v1.4.2

Vista de Sitemap de Imagens Completada

Na vista de estilo do sitemap-images.xml, os endereços de imagem são agora listados por baixo da linha da página a que estão associados. O esquema de dados XML não mudou. Apenas a apresentação legível por humanos foi completada.

  • MelhoriaSuporte image:image adicionado ao modelo urlset do sitemap.xsl. Um total de 169 ligações de imagem tornaram-se visíveis por baixo das linhas de 63 páginas.sitemap-images.xml
  • MelhoriaAs entradas do sitemap de imagens herdam os valores changefreq e priority da página fonte. As colunas vazias na tabela foram preenchidas.
v1.4.1

Reforço de Compatibilidade de Motores do Sitemap

A camada XML do mapa do site foi apertada conforme os requisitos oficiais dos três motores de busca. A recomendação de localização do Google, o modelo de prioridade de rastreio do Yandex e a vista legível no navegador foram reunidas numa única versão.

  • NovidadePriority e changefreq escalonados adicionados a cada URL. Página inicial 1.0, grupos de produto 0.9–0.8, detalhes 0.7, páginas legais 0.3. O Yandex ordena a fila de rastreio conforme este coeficiente.sitemap.xml
  • NovidadeA alternativa hreflang="x-default" foi adicionada a todos os URLs. A recomendação multilingue do Google foi satisfeita.
  • MelhoriaOs sitemaps XML ganharam uma vista de tabela legível no navegador. O modelo sitemap.xsl é comum a todos os ficheiros urlset e de índice.
v1.4.0

Família de Cores de Plissado Liso e Transparência de Versões

A família de estore plissado liso ganhou páginas de detalhe independentes para todas as 21 cores do mostruário. Cada página foi escrita com o comportamento de luz da sua cor, a paleta de acompanhamento e a harmonia de espaço. Não foi usada cópia de texto de modelo. Com a mesma publicação, a infraestrutura de histórico de versões que documenta a evolução do site também foi activada.

  • Novidade21 páginas de detalhe de cor publicadas. O mostruário completo de branco a vermelho. Cada página vem com texto único, guia de selecção por cor e o seu próprio conjunto de FAQ.Estore Plissado BrancoEstore Plissado BronzeEstore Plissado VermelhoTodos os Estores Plissados Lisos
  • NovidadeA página de histórico de versões e o feed RSS foram activados. Toda a evolução do site é documentada com número de versão e data.Histórico de Versões
  • MelhoriaO script de auditoria de alterações foi ligado à cadeia de build. A alteração de conteúdo não registada para a compilação de produção.
v1.3.3

Auditoria de Garantia de Qualidade de Seis Camadas

Uma ronda abrangente de verificação pré-publicação foi completada. Unicidade de conteúdo, consistência de esquema, validade de HTML, integridade numérica, cadeia de dependências e verificação de feeds foram auditadas em seis camadas separadas. Os achados foram resolvidos na mesma ronda.

  • CorrecçãoA repetição cruzada de frases nos textos de produto e categoria foi diferenciada. Nenhuma página se sobrepõe a outra ao nível de frase.
  • CorrecçãoA marcação de esquema Table em falta foi adicionada às tabelas em oito páginas.
  • MelhoriaO valor SKU do produto foi ligado à fonte calculada. Os dados são alimentados por um único ponto de verdade.
  • MelhoriaCampo de imagem representativa adicionado a 95 esquemas de detalhe de produto. A elegibilidade para resultados ricos foi alargada.
v1.3.2

Dados Estruturados, Padrão de Idioma e Distribuição

Os esquemas de produto foram alinhados aos requisitos de resultados ricos do Google, os títulos de página foram ligados a um único padrão e as expressões defeituosas apanhadas na auditoria de idioma foram limpas. A infraestrutura de formulários e os endpoints de sitemap também foram reforçados nesta versão.

  • NovidadeO esquema Product JSON-LD foi publicado em todas as páginas de detalhe de produto. A política de envio e devolução foi processada no nó de oferta.Os Nossos Produtos
  • ActualizaçãoOs títulos de página corporativos foram assentados no padrão de sufixo de propriedade. A aparência de resultado de pesquisa foi uniformizada.
  • CorrecçãoAuditoria de idioma em todo o site: a concordância de partículas de pergunta, a pontuação e as palavras defeituosas nascidas da alteração em massa foram corrigidas.
  • CorrecçãoA resposta Content-Type defeituosa nos endpoints de sitemap foi resolvida. Os navegadores e os bots recebem os ficheiros como XML.
v1.3.1

Medição e Normalização de Meta

As meta descrições e os títulos de página foram ligados a um único tipo conforme os padrões SEO/GEO de 2026, a simplificação de legibilidade em todo o site foi completada. A infraestrutura analítica Ahrefs foi adicionada com uma disposição que só carrega após o consentimento de cookies.

  • NovidadeAhrefs Web Analytics activado. O script corre 5 segundos após o carregamento da página.
  • ActualizaçãoRonda de legibilidade em todo o site: frases longas divididas, atributos de dimensão de imagem completados, grafia de marca ligada a um único padrão.
  • MelhoriaOs pedidos de caminho de sistema inválidos foram redireccionados para a página inicial com 301. O orçamento de rastreio está protegido.
v1.3.0

Aprofundamento de Conteúdo. 78 Páginas

Foi feito um aprofundamento abrangente com o princípio de conteúdo único por página. 33 detalhes de produto, 30 páginas de aplicação de plissado e 15 páginas de detalhe de montagem foram reescritos com a sua própria justificação técnica. Nenhuma página é cópia de outra.

  • ActualizaçãoDescrição específica do produto, conjunto de caraterísticas e FAQ adicionados a 33 páginas de detalhe de produto.Os Nossos Produtos
  • Actualização30 páginas de área de aplicação de plissado foram aprofundadas com justificação técnica por espaço.Áreas de Aplicação
  • ActualizaçãoConteúdo único por sistema e superfície adicionado a 15 páginas de detalhe de montagem.Tipos de Montagem
  • MelhoriaOs nós de esquema sem natureza comercial foram limpos. Os dados estruturados foram tornados simples e verificáveis.
v1.2.3

Ronda de Verificação de Dados Estruturados

A saída Schema.org foi verificada de ponta a ponta. O endereço de empresa local, a estrutura de itens ItemList e os campos de envio/devolução foram assentados no padrão. O modelo de dados de produto foi tornado tipicamente seguro.

  • CorrecçãoOs erros de validação de esquema foram resolvidos: bloco de endereço, estrutura de itens de lista e definições de entrega/devolução.
  • Correcção15 slugs de categoria foram corrigidos de forma singular para plural. A estrutura de URL foi uniformizada.
  • ActualizaçãoO sufixo técnico foi encurtado nos títulos das páginas de montagem. O resultado de pesquisa é mais legível.
v1.2.2

Cabeçalho de Segurança e Infraestrutura de Imagens

O cabeçalho Content-Security-Policy foi adicionado ao site, a carga HTML foi adelgaçada com sprite de ícones e scripts externos. A família de persianas ganhou imagens de categoria e produto.

  • NovidadeCabeçalho Content-Security-Policy activo em todas as páginas.
  • NovidadeImagens de produto de persiana de alumínio e imagem de cabeçalho de categoria em produção.Persianas de AlumínioPersianas
  • MelhoriaCarga HTML reduzida: os ícones foram movidos para um único sprite SVG, as classes comuns foram unidas, as repetições de chrome foram movidas para o lado do cliente.
  • NovidadeFicheiro de verificação de site Google e meta etiqueta adicionados.
v1.2.1

Infraestrutura de Desempenho e Distribuição

As imagens hero foram tornadas amigas de LCP com srcset responsivo e preload. O script de distribuição passou para uma estrutura que preserva os activos com hash. As páginas antigas também não perdem activos na nova versão.

  • MelhoriaVariantes de largura 640/1280/1920 e preload adicionados às imagens hero. A medição de maior pintura de conteúdo melhorou.
  • MelhoriaO script de distribuição foi actualizado: os ficheiros com hash `_astro` e `pagefind` são preservados, os resíduos antigos são podados automaticamente.
  • CorrecçãoOs transbordos móveis foram resolvidos: secções de fornecimento e plataforma, mockup do painel do revendedor.
  • ActualizaçãoA barra de navegação dentro da secção passou para comportamento fixo. A ligação da secção activa é centrada na área visível.
v1.2.0

Pacote de Experiência Móvel e Medição

O site ganhou no móvel uma série de toques com sensação de aplicação: barra de progresso de transição, feedback de pressão, cabeçalho que se esconde ao deslocar, suporte haptic e Web Share. A medição Google Analytics 4 foi activada.

  • NovidadeMedição GA4 activada. Só carrega após o consentimento de cookies.
  • NovidadePacote de experiência móvel: barra de transição de página, press feedback, header scroll-hide, haptic, Web Share e atalhos de manifest.
  • MelhoriaA latência de toque foi removida. A interface responde instantaneamente no móvel.
v1.1.1

Retoques de Interface

Uma série de retoques visuais foi completada na página inicial e no chrome do site: a grelha de encaminhamento de público passou para a disposição 2×2 no móvel, o texto da faixa de cookies foi reequilibrado, as estatísticas hero foram assentadas na grelha hairline.

  • ActualizaçãoA ligação de e-mail na barra de informação superior foi trazida para o formato "Enviar E-mail" que cria directamente um mail.Contacto
  • MelhoriaOs cartões de encaminhamento de público da página inicial foram apertados na disposição 2×2 no móvel.
  • MelhoriaA faixa de consentimento de cookies e a grelha de estatísticas hero foram equilibradas como margem.
  • NovidadeLigação de apoio ao vivo adicionada à página de contacto.Contacto
v1.1.0

Áreas de Aplicação e Mapa do Site

A hierarquia de áreas de aplicação por espaço foi publicada: páginas de aplicação por produto, sub-páginas-mãe e detalhes de espaço. Foi adicionado um mapa do site ao vivo que lista todas as páginas.

  • NovidadeHierarquia de áreas de aplicação: páginas por espaço com as páginas-mãe habitação, espaço comercial, estrutura especial, veículo, janela geométrica e saúde-educação.Áreas de Aplicação
  • NovidadePágina de mapa do site: todos os grupos e páginas numa única lista, com filtro ao vivo.Mapa do Site
  • MelhoriaO transbordo de navegação foi tornado dinâmico. A largura do menu ajusta-se ao ecrã.
  • NovidadeInfraestrutura de verificação activada: escala de títulos, semântica de tabelas e consistência de dados verificadas no build.
v1.0.0

Primeira Publicação do Site Corporativo

O site corporativo FENETRE Systems foi publicado pela primeira vez. Estrutura estática que cobre oito famílias de produto. Veio com saída de HTML puro produzida por Astro, suporte PWA e pesquisa interna.

Os registos desta página também são disponibilizados como feed RSS: /pt/historico-de-versoes.xml

Orçamento para o projeto

Recebidas as medidas, o orçamento é enviado em 48 horas.