From 9bd1528e4d0ddb9a10afb222e3cfedcebdbe7989 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Mur=C3=A7a?= Date: Sun, 17 May 2026 13:23:45 -0300 Subject: [PATCH] feat: add jef file page --- src/lib/components/Footer.svelte | 1 + .../translations/en-US/dst-file-viewer.json | 2 +- src/lib/translations/en-US/footer.json | 1 + .../translations/en-US/jef-file-viewer.json | 90 ++++ .../translations/en-US/pes-file-viewer.json | 2 +- src/lib/translations/index.js | 14 + .../translations/pt-BR/dst-file-viewer.json | 2 +- src/lib/translations/pt-BR/footer.json | 1 + .../translations/pt-BR/jef-file-viewer.json | 90 ++++ .../translations/pt-BR/pes-file-viewer.json | 2 +- src/routes/jef-file-viewer/+page.svelte | 400 ++++++++++++++++++ src/routes/sitemap.xml/+server.js | 1 + 12 files changed, 602 insertions(+), 4 deletions(-) create mode 100644 src/lib/translations/en-US/jef-file-viewer.json create mode 100644 src/lib/translations/pt-BR/jef-file-viewer.json create mode 100644 src/routes/jef-file-viewer/+page.svelte diff --git a/src/lib/components/Footer.svelte b/src/lib/components/Footer.svelte index 548d1ce..2885b4e 100644 --- a/src/lib/components/Footer.svelte +++ b/src/lib/components/Footer.svelte @@ -38,6 +38,7 @@ {$t('footer.about')} {$t('footer.pesViewer')} {$t('footer.dstViewer')} + {$t('footer.jefViewer')} {$t('footer.privacy.policy')} {$t('footer.terms.of.service')}Leonardo Murça. All rights reserved.", diff --git a/src/lib/translations/en-US/jef-file-viewer.json b/src/lib/translations/en-US/jef-file-viewer.json new file mode 100644 index 0000000..867617c --- /dev/null +++ b/src/lib/translations/en-US/jef-file-viewer.json @@ -0,0 +1,90 @@ +{ + "seo.title": "Free JEF File Viewer Online — Open Janome Embroidery Files Instantly", + "seo.description": "Open JEF files online for free. Preview Janome and Elna embroidery designs in your browser — no install, no upload to servers. Also supports PES, DST, EXP & PEC.", + "seo.keywords": "what is a JEF file, JEF viewer, open JEF file online, JEF file viewer, free JEF viewer, Janome embroidery file, embroidery file viewer, how to view embroidery files, convert JEF to PES, convert JEF to DST, online embroidery preview", + "seo.url": "https://embroideryviewer.xyz/jef-file-viewer", + "seo.image": "https://embroideryviewer.xyz/og/jef-viewer.png", + "hero.tagline": "Free · Private · No signup", + "hero.title": "Free JEF File Viewer Online — Open Janome Embroidery Files Instantly", + "hero.subtitle": "Preview stitch paths, colors, and dimensions in your browser — free, private, and no signup. JEF is the native format for Janome, Elna, and compatible home machines.", + "hero.cta": "Try Your Design", + "whatIs.title": "What is a JEF file?", + "whatIs.p1": "A JEF file (.jef) is the native embroidery format for Janome and Elna machines. Many Kenmore and other Janome-compatible models also read JEF.", + "whatIs.p2": "JEF files contain stitch coordinates, color-change commands, and a thread palette — similar to PES for Brother machines. If you download designs for a Janome Memory Craft or Elna Express, they often arrive as .jef.", + "whatIs.p3": "Embroidery Viewer lets you open JEF online to check layout, stitch count, and size before you hoop and stitch — without installing Janome Artistic Digitizer or other desktop software.", + "howTo.title": "How to view JEF embroidery files online", + "howTo.step1": "Open the free embroidery viewer in your browser.", + "howTo.step2": "Click Choose files or drag your .jef file (or .pes, .dst, .exp, .pec) into the drop zone.", + "howTo.step3": "Click Render files to generate a stitch preview on screen.", + "howTo.step4": "Review colors, stitch count, and dimensions — then download a PNG if you need a reference image.", + "formats.title": "Embroidery file formats we support", + "formats.intro": "Comparing JEF with PES, DST, and other formats Embroidery Viewer opens in your browser:", + "formats.table.headers": { + "format": "Format", + "extension": "Extension", + "machines": "Common machines", + "notes": "Notes" + }, + "formats.rows.jef.format": "JEF", + "formats.rows.jef.extension": ".jef", + "formats.rows.jef.machines": "Janome, Elna, Kenmore", + "formats.rows.jef.notes": "Native Janome format with embedded thread colors", + "formats.rows.pes.format": "PES / PEC", + "formats.rows.pes.extension": ".pes, .pec", + "formats.rows.pes.machines": "Brother, Babylock", + "formats.rows.pes.notes": "Popular for home embroidery downloads", + "formats.rows.dst.format": "DST", + "formats.rows.dst.extension": ".dst", + "formats.rows.dst.machines": "Commercial & many home brands", + "formats.rows.dst.notes": "Industry standard for production shops", + "formats.rows.exp.format": "EXP", + "formats.rows.exp.extension": ".exp", + "formats.rows.exp.machines": "Melco, Bernina (export)", + "formats.rows.exp.notes": "Simple stitch list, widely supported", + "convert.title": "Can I convert JEF to PES or DST online?", + "convert.p1": "Embroidery Viewer is a preview tool, not a file converter. It lets you open a JEF file online and see stitch paths, color stops, and overall size before you load the design on your Janome or Elna machine.", + "convert.p2": "To convert JEF to PES, DST, or another format use embroidery software such as Embrilliance, Hatch, or Ink/Stitch. After converting, preview the new file in Embroidery Viewer for free.", + "screenshots.title": "See your JEF design before you stitch", + "screenshots.intro": "Preview stitch paths, colors, and dimensions without installing desktop software.", + "screenshots.viewer.alt": "Embroidery Viewer showing a JEF file preview with stitch paths and colors", + "screenshots.hero.alt": "Upload interface for opening JEF embroidery files online", + "faq.title": "Frequently asked questions about JEF & embroidery files", + "faq.intro": "Answers to common searches — from what is a JEF file to opening designs online and converting formats.", + "faq.items": { + "openJefOnline": { + "summary": "How can I open a JEF file online?", + "description": "Use Embroidery Viewer: open the free viewer, drag your .jef file into the drop zone, and click Render files. Everything runs in your browser — no Janome software or Windows-only tools required." + }, + "whatIsJef": { + "summary": "What is a JEF file used for?", + "description": "JEF is Janome's embroidery format. It stores stitches and thread colors for Janome, Elna, and compatible machines. You use it to load designs from USB or transfer designs downloaded from the web." + }, + "pesViewer": { + "summary": "Can I open PES or DST files too?", + "description": "Yes. The same viewer supports PES, DST, JEF, EXP, and PEC. For Brother formats see embroideryviewer.xyz/pes-file-viewer; for DST see embroideryviewer.xyz/dst-file-viewer." + }, + "howToView": { + "summary": "How do I view embroidery files without software?", + "description": "Open embroideryviewer.xyz in any modern browser. Supported formats include JEF, PES, DST, EXP, and PEC. Your files are processed locally and never sent to a server." + }, + "convertJef": { + "summary": "How do I convert JEF to PES or DST?", + "description": "Conversion requires embroidery editing software — Embrilliance, Hatch, Wilcom, or Ink/Stitch (free). Export to the format your machine needs, then preview the result in Embroidery Viewer before stitching." + }, + "embroideryViewer": { + "summary": "What is the best free embroidery file viewer?", + "description": "Embroidery Viewer is built for quick, private previews: no account, no install, no upload. It supports JEF and the formats most home embroiderers use daily on desktop and mobile." + }, + "isSafe": { + "summary": "Is it safe to open my JEF files here?", + "description": "Yes. Files are read and rendered inside your browser using JavaScript. They are not uploaded, stored, or shared with any server." + }, + "mobile": { + "summary": "Can I open JEF files on my phone?", + "description": "Yes, on modern mobile browsers. Tap Choose files, select your .jef from Files or cloud storage, and tap Render files to preview." + } + }, + "cta.title": "Ready to preview your JEF design?", + "cta.subtitle": "Open JEF, PES, DST, EXP, or PEC files in seconds — free and private.", + "cta.button": "Try Your Design" +} diff --git a/src/lib/translations/en-US/pes-file-viewer.json b/src/lib/translations/en-US/pes-file-viewer.json index ff566eb..107adc5 100644 --- a/src/lib/translations/en-US/pes-file-viewer.json +++ b/src/lib/translations/en-US/pes-file-viewer.json @@ -69,7 +69,7 @@ }, "whatIsJef": { "summary": "What is a JEF file?", - "description": "JEF (.jef) is Janome's native embroidery format. It stores stitches and thread colors for Janome, Elna, and compatible machines. You can open and preview JEF files here alongside PES and DST." + "description": "JEF (.jef) is Janome's native embroidery format. It stores stitches and thread colors for Janome, Elna, and compatible machines. See our dedicated JEF guide at embroideryviewer.xyz/jef-file-viewer." }, "embroideryViewer": { "summary": "What is the best free embroidery file viewer?", diff --git a/src/lib/translations/index.js b/src/lib/translations/index.js index 79277d4..cc49769 100644 --- a/src/lib/translations/index.js +++ b/src/lib/translations/index.js @@ -87,6 +87,13 @@ const config = { loader: async () => (await import('./en-US/dst-file-viewer.json')).default, }, + { + locale: SUPPORTED_LOCALES.EN_US, + key: 'jef-file-viewer', + routes: ['/jef-file-viewer'], + loader: async () => + (await import('./en-US/jef-file-viewer.json')).default, + }, { locale: SUPPORTED_LOCALES.PT_BR, key: 'header', @@ -155,6 +162,13 @@ const config = { loader: async () => (await import('./pt-BR/dst-file-viewer.json')).default, }, + { + locale: SUPPORTED_LOCALES.PT_BR, + key: 'jef-file-viewer', + routes: ['/jef-file-viewer'], + loader: async () => + (await import('./pt-BR/jef-file-viewer.json')).default, + }, { locale: SUPPORTED_LOCALES.PT_BR, key: 'hero', diff --git a/src/lib/translations/pt-BR/dst-file-viewer.json b/src/lib/translations/pt-BR/dst-file-viewer.json index 48a42d1..5787184 100644 --- a/src/lib/translations/pt-BR/dst-file-viewer.json +++ b/src/lib/translations/pt-BR/dst-file-viewer.json @@ -69,7 +69,7 @@ }, "whatIsJef": { "summary": "O que é um arquivo JEF?", - "description": "JEF (.jef) é o formato nativo da Janome. Armazena pontos e cores para Janome, Elna e compatíveis. Você pode visualizar JEF junto com DST e PES." + "description": "JEF (.jef) é o formato nativo da Janome. Armazena pontos e cores para Janome, Elna e compatíveis. Veja o guia JEF em embroideryviewer.xyz/jef-file-viewer." }, "embroideryViewer": { "summary": "Qual o melhor visualizador gratuito de bordado?", diff --git a/src/lib/translations/pt-BR/footer.json b/src/lib/translations/pt-BR/footer.json index 3695c65..8f5098d 100644 --- a/src/lib/translations/pt-BR/footer.json +++ b/src/lib/translations/pt-BR/footer.json @@ -10,6 +10,7 @@ "about": "Sobre", "pesViewer": "Visualizador PES", "dstViewer": "Visualizador DST", + "jefViewer": "Visualizador JEF", "privacy.policy": "Política de Privacidade", "terms.of.service": "Termos de Serviço", "copyright": "Copyright © {{year}} Leonardo Murça. Todos os direitos reservados.", diff --git a/src/lib/translations/pt-BR/jef-file-viewer.json b/src/lib/translations/pt-BR/jef-file-viewer.json new file mode 100644 index 0000000..b41bf46 --- /dev/null +++ b/src/lib/translations/pt-BR/jef-file-viewer.json @@ -0,0 +1,90 @@ +{ + "seo.title": "Visualizador de Arquivos JEF Online Grátis — Abra Bordados Janome na Hora", + "seo.description": "Abra arquivos JEF online gratuitamente. Visualize bordados Janome e Elna no navegador — sem instalar, sem enviar para servidores. Também suporta PES, DST, EXP e PEC.", + "seo.keywords": "o que é arquivo JEF, visualizador JEF, abrir arquivo JEF online, visualizador de bordado, arquivo Janome bordado, como ver arquivo de bordado, converter JEF para PES, converter JEF para DST, preview bordado online", + "seo.url": "https://embroideryviewer.xyz/jef-file-viewer", + "seo.image": "https://embroideryviewer.xyz/og/jef-viewer.png", + "hero.tagline": "Grátis · Privado · Sem cadastro", + "hero.title": "Visualizador de Arquivos JEF Online Grátis — Abra Bordados Janome na Hora", + "hero.subtitle": "Veja caminhos de pontos, cores e dimensões no navegador — grátis, privado e sem cadastro. JEF é o formato nativo para Janome, Elna e máquinas compatíveis.", + "hero.cta": "Experimente seu desenho", + "whatIs.title": "O que é um arquivo JEF?", + "whatIs.p1": "Um arquivo JEF (.jef) é o formato de bordado nativo das máquinas Janome e Elna. Muitos modelos Kenmore e compatíveis com Janome também leem JEF.", + "whatIs.p2": "Arquivos JEF contêm coordenadas de pontos, comandos de troca de cor e uma paleta de linhas — parecido com PES nas máquinas Brother. Downloads para Janome Memory Craft ou Elna Express costumam vir como .jef.", + "whatIs.p3": "O Embroidery Viewer permite abrir JEF online para conferir layout, contagem de pontos e tamanho antes de bordar — sem instalar Janome Artistic Digitizer ou outro software desktop.", + "howTo.title": "Como visualizar arquivos JEF de bordado online", + "howTo.step1": "Abra o visualizador de bordado gratuito no navegador.", + "howTo.step2": "Clique em Escolher arquivos ou arraste seu .jef (ou .pes, .dst, .exp, .pec) para a área de soltar.", + "howTo.step3": "Clique em Renderizar arquivos para gerar a prévia na tela.", + "howTo.step4": "Revise cores, contagem de pontos e dimensões — e baixe um PNG se precisar de referência.", + "formats.title": "Formatos de bordado suportados", + "formats.intro": "Comparação entre JEF, PES, DST e outros formatos que o Embroidery Viewer abre no navegador:", + "formats.table.headers": { + "format": "Formato", + "extension": "Extensão", + "machines": "Máquinas comuns", + "notes": "Observações" + }, + "formats.rows.jef.format": "JEF", + "formats.rows.jef.extension": ".jef", + "formats.rows.jef.machines": "Janome, Elna, Kenmore", + "formats.rows.jef.notes": "Formato nativo Janome com cores de linha embutidas", + "formats.rows.pes.format": "PES / PEC", + "formats.rows.pes.extension": ".pes, .pec", + "formats.rows.pes.machines": "Brother, Babylock", + "formats.rows.pes.notes": "Popular em downloads domésticos", + "formats.rows.dst.format": "DST", + "formats.rows.dst.extension": ".dst", + "formats.rows.dst.machines": "Comercial e várias domésticas", + "formats.rows.dst.notes": "Padrão da indústria para oficinas", + "formats.rows.exp.format": "EXP", + "formats.rows.exp.extension": ".exp", + "formats.rows.exp.machines": "Melco, Bernina (exportação)", + "formats.rows.exp.notes": "Lista simples de pontos, amplamente suportado", + "convert.title": "Posso converter JEF para PES ou DST online?", + "convert.p1": "O Embroidery Viewer é uma ferramenta de prévia, não um conversor. Ele permite abrir JEF online e ver pontos, paradas de cor e tamanho antes de carregar na Janome ou Elna.", + "convert.p2": "Para converter JEF em PES, DST ou outro formato use software de bordado como Embrilliance, Hatch ou Ink/Stitch. Depois visualize o novo arquivo gratuitamente no visualizador.", + "screenshots.title": "Veja seu JEF antes de costurar", + "screenshots.intro": "Visualize pontos, cores e dimensões sem instalar software no computador.", + "screenshots.viewer.alt": "Embroidery Viewer exibindo prévia de arquivo JEF com pontos e cores", + "screenshots.hero.alt": "Interface de envio para abrir arquivos JEF de bordado online", + "faq.title": "Perguntas frequentes sobre JEF e arquivos de bordado", + "faq.intro": "Respostas às buscas mais comuns — do que é um JEF a abrir desenhos online e converter formatos.", + "faq.items": { + "openJefOnline": { + "summary": "Como abrir um arquivo JEF online?", + "description": "Use o Embroidery Viewer: abra o visualizador gratuito, arraste o .jef para a área e clique em Renderizar arquivos. Tudo roda no navegador — sem software Janome ou ferramentas só para Windows." + }, + "whatIsJef": { + "summary": "Para que serve um arquivo JEF?", + "description": "JEF é o formato de bordado da Janome. Armazena pontos e cores de linha para Janome, Elna e compatíveis. Você o usa para carregar desenhos via USB ou transferir downloads da web." + }, + "pesViewer": { + "summary": "Posso abrir arquivos PES ou DST também?", + "description": "Sim. O mesmo visualizador suporta PES, DST, JEF, EXP e PEC. Para Brother veja embroideryviewer.xyz/pes-file-viewer; para DST veja embroideryviewer.xyz/dst-file-viewer." + }, + "howToView": { + "summary": "Como ver arquivos de bordado sem software?", + "description": "Abra embroideryviewer.xyz em qualquer navegador moderno. Formatos: JEF, PES, DST, EXP e PEC. Os arquivos são processados localmente e nunca enviados a um servidor." + }, + "convertJef": { + "summary": "Como converter JEF para PES ou DST?", + "description": "A conversão exige software de edição — Embrilliance, Hatch, Wilcom ou Ink/Stitch (grátis). Exporte para o formato da sua máquina e visualize o resultado no Embroidery Viewer antes de bordar." + }, + "embroideryViewer": { + "summary": "Qual o melhor visualizador gratuito de bordado?", + "description": "O Embroidery Viewer foi feito para prévias rápidas e privadas: sem conta, sem instalação, sem upload. Suporta JEF e os formatos mais usados no desktop e celular." + }, + "isSafe": { + "summary": "É seguro abrir meus arquivos JEF aqui?", + "description": "Sim. Os arquivos são lidos e renderizados no navegador com JavaScript. Não são enviados, armazenados nem compartilhados com servidores." + }, + "mobile": { + "summary": "Posso abrir JEF no celular?", + "description": "Sim, em navegadores móveis modernos. Toque em Escolher arquivos, selecione o .jef e toque em Renderizar arquivos." + } + }, + "cta.title": "Pronto para ver seu JEF?", + "cta.subtitle": "Abra JEF, PES, DST, EXP ou PEC em segundos — grátis e privado.", + "cta.button": "Experimente seu desenho" +} diff --git a/src/lib/translations/pt-BR/pes-file-viewer.json b/src/lib/translations/pt-BR/pes-file-viewer.json index 232a05b..64583cd 100644 --- a/src/lib/translations/pt-BR/pes-file-viewer.json +++ b/src/lib/translations/pt-BR/pes-file-viewer.json @@ -69,7 +69,7 @@ }, "whatIsJef": { "summary": "O que é um arquivo JEF?", - "description": "JEF (.jef) é o formato nativo da Janome. Armazena pontos e cores para Janome, Elna e compatíveis. Você pode abrir e visualizar JEF aqui junto com PES e DST." + "description": "JEF (.jef) é o formato nativo da Janome. Armazena pontos e cores para Janome, Elna e compatíveis. Veja o guia JEF em embroideryviewer.xyz/jef-file-viewer." }, "embroideryViewer": { "summary": "Qual o melhor visualizador gratuito de bordado?", diff --git a/src/routes/jef-file-viewer/+page.svelte b/src/routes/jef-file-viewer/+page.svelte new file mode 100644 index 0000000..b920242 --- /dev/null +++ b/src/routes/jef-file-viewer/+page.svelte @@ -0,0 +1,400 @@ + + + + + + +
+

{$t(`${NS}.hero.tagline`)}

+

{$t(`${NS}.hero.title`)}

+

{$t(`${NS}.hero.subtitle`)}

+ {$t(`${NS}.hero.cta`)} +
+ +
+

{$t(`${NS}.whatIs.title`)}

+ +

{@html $t(`${NS}.whatIs.p1`)}

+

{@html $t(`${NS}.whatIs.p2`)}

+

{@html $t(`${NS}.whatIs.p3`)}

+
+ +
+

{$t(`${NS}.howTo.title`)}

+
    + {#each ['step1', 'step2', 'step3', 'step4'] as step (step)} +
  1. {@html $t(`${NS}.howTo.${step}`)}
  2. + {/each} +
+
+ +
+

{$t(`${NS}.formats.title`)}

+

{$t(`${NS}.formats.intro`)}

+
+ + + + + + + + + + + {#each ['jef', 'pes', 'dst', 'exp'] as row (row)} + + + + + + + {/each} + +
{$t(`${NS}.formats.table.headers.format`)}{$t(`${NS}.formats.table.headers.extension`)}{$t(`${NS}.formats.table.headers.machines`)}{$t(`${NS}.formats.table.headers.notes`)}
{$t(`${NS}.formats.rows.${row}.format`)}{$t(`${NS}.formats.rows.${row}.extension`)}{$t(`${NS}.formats.rows.${row}.machines`)}{$t(`${NS}.formats.rows.${row}.notes`)}
+
+
+ +
+

{$t(`${NS}.convert.title`)}

+

{@html $t(`${NS}.convert.p1`)}

+

{@html $t(`${NS}.convert.p2`)}

+
+ +
+

{$t(`${NS}.screenshots.title`)}

+

{$t(`${NS}.screenshots.intro`)}

+
+
+ {$t(`${NS}.screenshots.viewer.alt`)} +
{$t(`${NS}.screenshots.viewer.alt`)}
+
+
+ {$t(`${NS}.screenshots.hero.alt`)} +
{$t(`${NS}.screenshots.hero.alt`)}
+
+
+
+ +
+

{$t(`${NS}.faq.title`)}

+

{$t(`${NS}.faq.intro`)}

+
+ {#each faqKeys as key (key)} +
+ {$t(`${NS}.faq.items.${key}.summary`)} +

{$t(`${NS}.faq.items.${key}.description`)}

+
+ {/each} +
+
+ +
+

{$t(`${NS}.cta.title`)}

+

{$t(`${NS}.cta.subtitle`)}

+ + {$t(`${NS}.cta.button`)} + +
+ + diff --git a/src/routes/sitemap.xml/+server.js b/src/routes/sitemap.xml/+server.js index a17ce96..79b6da8 100644 --- a/src/routes/sitemap.xml/+server.js +++ b/src/routes/sitemap.xml/+server.js @@ -5,6 +5,7 @@ export async function GET() { { path: '', priority: '0.8' }, { path: 'pes-file-viewer', priority: '0.9' }, { path: 'dst-file-viewer', priority: '0.9' }, + { path: 'jef-file-viewer', priority: '0.9' }, { path: 'viewer', priority: '0.85' }, { path: 'about', priority: '0.8' }, { path: 'donate', priority: '0.8' },