diff --git a/CHANGELOG.md b/CHANGELOG.md index a1a90d08..7fa002ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ All notable changes to Kromacut are documented in this file. - **Flat Paint preview and layer inspection** - Unsmoothed color regions now share diagonal-contact repairs instead of expanding independently and overlapping on the flat artwork face. Precision-sensitive corner repairs now triangulate as smaller pieces with the same footprint, fixing aborted face-up builds that left only dark backing and no layer slider. Failed builds clear incomplete geometry and show an error. Layer Preview cuts through merged backing and color parts one physical layer at a time, including keyboard stepping and wireframe inspection, while exports retain the complete model. Explicit builds regenerate unchanged inputs and restore the full preview and camera instead of leaving a cached mesh or cut on screen. Build progress explicitly counts mesh parts; the Model badge shows physical print layers, including the clear carrier when present. Added shared-boundary, precision, layer-cut, export-preservation, and browser recovery regressions. - **Desktop development startup on Windows** - Vite no longer watches native sources or Cargo build output, preventing intermittent `EBUSY` crashes when F5 starts the frontend while Rust executables are being linked. Dependency scanning starts from the app entry page instead of generated HTML. Tauri continues to watch native source changes. - **Height dithering in 3D Auto-paint** - Restored fractional height targets before error diffusion, so enabling Height Dithering can produce neighboring-layer patterns in both preview and exports. Dithering stays local to the selected printable layer, preserves exact calibrated matches and protected boundaries, and leaves ordinary matching unchanged when disabled. Added regression coverage for fractional targets, calibration safeguards, effective line width, and rebuilt STL/3MF geometry. +- **Landing showcase artwork credits** - Original artwork credits such as NASA/JPL link to their sources again in every language; the translated credit used a tag name that rendered an empty link beside plain text. A translation check now rejects tags that cannot hold linked text; landing browser tests now cover every linked credit and the footer language selector before the sticky mobile launch button. ## v4.1.0 - 2026-09-26 diff --git a/src/components/LandingPage.tsx b/src/components/LandingPage.tsx index dad18658..b0061d65 100644 --- a/src/components/LandingPage.tsx +++ b/src/components/LandingPage.tsx @@ -387,7 +387,7 @@ function ShowcaseCard({ items }: { items: ShowcaseItem[] }) { i18nKey="landing.originalArtwork" values={{ title: artwork.label }} components={{ - source: ( + credit: ( {{title}}", + "originalArtwork": "মূল শিল্পকর্ম: {{title}}", "themeLabel": "থিম: {{theme}}" }, "navigation": { diff --git a/src/locales/de/public.json b/src/locales/de/public.json index 8f7d5c47..a1ddb799 100644 --- a/src/locales/de/public.json +++ b/src/locales/de/public.json @@ -110,7 +110,7 @@ "photos_one": "{{count}} Foto", "photos_other": "{{count}} Fotos", "openPhoto": "{{title}} – {{kind}} {{index}} in voller Größe öffnen", - "originalArtwork": "Originalmotiv: {{title}}", + "originalArtwork": "Originalmotiv: {{title}}", "themeLabel": "Design: {{theme}}" }, "navigation": { diff --git a/src/locales/en/public.json b/src/locales/en/public.json index 215a05b0..f5f0fafc 100644 --- a/src/locales/en/public.json +++ b/src/locales/en/public.json @@ -110,7 +110,7 @@ "photos_one": "{{count}} photo", "photos_other": "{{count}} photos", "openPhoto": "Open {{title}} — {{kind}} {{index}} at full size", - "originalArtwork": "Original artwork: {{title}}", + "originalArtwork": "Original artwork: {{title}}", "themeLabel": "Theme: {{theme}}" }, "navigation": { diff --git a/src/locales/es/public.json b/src/locales/es/public.json index 2d2ff3d0..37dd1a18 100644 --- a/src/locales/es/public.json +++ b/src/locales/es/public.json @@ -1,6 +1,6 @@ { "landing":{ - "importAnImage":"Importa una imagen","dropInArtworkAPhotoOrAPixelDesignAnd":"Añade una ilustración, una foto o un diseño de píxeles y conserva el original editable de forma segura.","aColorful2DImageReadyToBeImportedIntoKromacut":"Una imagen 2D colorida lista para importar en Kromacut","reducePaintColors":"Reduce y pinta los colores","tuneACompactPaletteManuallyOrLetAutoPaintMatch":"Ajusta una paleta compacta a mano o deja que la pintura automática busque correspondencias con los filamentos que tienes.","aColorLayeredImagePreviewShowingSeparatePrintableColors":"Vista previa de una imagen por capas de color que muestra colores imprimibles separados","previewEveryLayer":"Previsualiza cada capa","inspectTheStackIn3DCheckTransitionsAndSeeExactly":"Examina el apilamiento en 3D, comprueba las transiciones y ve exactamente dónde se cambia de filamento.","kromacut3DPreviewOfAStackedColorLayerPrint":"Vista previa 3D de Kromacut de una impresión por capas de color apiladas","exportAndPrint":"Exporta e imprime","downloadASlicerReadySTLOr3MFWithThePrint":"Descarga un STL o 3MF listo para el laminador, con el plan de impresión que necesitas para terminar el proyecto.","aFinishedColorfulLayeredPrintMadeFromAKromacutWorkflow":"Una impresión colorida por capas terminada con Kromacut","aColorfulHobbitsAndDragonsLayered3DPrint":"Una impresión 3D colorida por capas de Hobbits and Dragons","finishedPrint":"Impresión terminada","aSecondViewOfTheHobbitsAndDragonsLayered3D":"Otra vista de la impresión 3D por capas de Hobbits and Dragons","slicerPreviewOfTheMulticolorKingOfHeartsPlayingCard":"Vista del laminador de la impresión multicolor de la carta King of Hearts","slicerPreview":"Vista del laminador","aMulticolorLayeredKingOfHeartsPlayingCardPrint":"Una impresión multicolor por capas de la carta King of Hearts","kromacutAutoPaintPredictionForALayeredHopePosterPrint":"Predicción de pintura automática de Kromacut para una impresión por capas del cartel Hope","kromacutPrediction":"Predicción de Kromacut","autoPaintPredictionUsingTheAvailableCalibratedFilamentProfile":"Predicción de pintura automática con el perfil de filamentos calibrado disponible.","slicerPreviewOfTheLayeredHopePosterPrint":"Vista del laminador de la impresión por capas del cartel Hope","thePhysicalLayerPlanPreparedForPrintingWithoutARed":"El plan de capas físicas preparado para imprimir sin filamento rojo.","finishedLayeredHopePosterPrintShowingOrangeAndPurpleBlue":"Impresión terminada por capas del cartel Hope con desviaciones de color hacia el naranja y el azul violáceo","paleYellowMatchedMostCloselyRedPrintedOrangeCyanLeaned":"El amarillo pálido fue el más fiel; el rojo salió naranja, el cian tendió al azul violáceo y el negro reprodujo la vista previa, pero no el verde azulado oscuro del objetivo.","kromacutAutoPaintPredictionForTheGoldenWavesOfThe":"Predicción de pintura automática de Kromacut para las olas doradas del cartel Titan","text10241527MmFootprint":"Superficie de 102,4 × 152,7 mm","autoPaintWithTheEightColorCalibratedFilamentProfile":"Pintura automática con el perfil calibrado de ocho colores de filamento.","crealityPrintSlicerPreviewOfTheTitanPosterWithIts":"Vista de Creality Print del cartel Titan con su torre de cambio de filamento","crealityHi04MmNozzleAnd008Mm":"Creality Hi, boquilla de 0,4 mm y capas de 0,08 mm. Estimación del laminador: 2 h 58 min, 28,90 g incluyendo purgas y torre, seis cambios de filamento.","finishedTitanLayeredPrintWithGoldenYellowAndOrangeWave":"Impresión terminada por capas de Titan, con reflejos de olas amarillo dorado y naranja sobre un fondo oscuro","theCompletedPrintPhotographedByItsMakerLightingAndCamera":"La impresión terminada, fotografiada por su creador. La iluminación y el procesamiento de la cámara pueden afectar a los colores mostrados.","kromacutAutoPaintPredictionOfTheBatmanJiroKuwataBatmanga":"Predicción de pintura automática de Kromacut de la portada Batman Jiro Kuwata Batmanga","text6581000MmFootprint":"Superficie de 65,8 × 100,0 mm","autoPaintWithDeepOptimizationEnhancedMatchingAndPreserveColor":"Pintura automática con optimización profunda, correspondencia mejorada y conservación de la separación de colores activadas.","crealityPrintSlicerPreviewOfTheBatmangaCoverAndFilament":"Vista de Creality Print de la portada Batmanga y la torre de cambio de filamento","crealityHi04MmNozzleAnd008Mm2":"Creality Hi, boquilla de 0,4 mm y capas de 0,08 mm. Estimación del laminador: 3 h 12 min, 21,30 g incluyendo purgas y torre, ocho cambios de filamento.","finishedBatmangaLayeredPrintWithAYellowJapaneseTitleTan":"Impresión terminada por capas de Batmanga con título japonés amarillo, fondo beige y Batman en negro y gris","theCompletedPrintPhotographedByItsMakerTheLargeTitle":"La impresión terminada, fotografiada por su creador. El título grande y la silueta siguen siendo nítidos; las letras pequeñas y el sombreado fino pierden detalle a este tamaño.","kromacutAutoPaintPredictionOfNarutoLookingUpAtA":"Predicción de pintura automática de Kromacut de Naruto mirando un cielo azul","text11041902MmFootprint":"Superficie de 110,4 × 190,2 mm","autoPaintWithTheEightColorCalibratedFilamentProfile0":"Pintura automática con el perfil calibrado de ocho colores de filamento, píxeles de 0,15 mm y malla suavizada activada.","crealityPrintSlicerPreviewOfTheNarutoPrintWithSeven":"Vista de Creality Print de la impresión de Naruto con siete colores de filamento y una torre de cambio","crealityHi04MmNozzleAnd008Mm3":"Creality Hi, boquilla de 0,4 mm y capas de 0,08 mm. Estimación del laminador: 5 h 55 min, 72,10 g incluyendo purgas y torre, nueve cambios de filamento.","finishedNarutoLayeredPrintWithYellowHairOrangeClothingAnd":"Impresión terminada por capas de Naruto con pelo amarillo, ropa naranja y un cielo azul lavanda","theCompletedOvernightPrintPhotographedByItsMakerLightingAnd":"La impresión terminada durante la noche, fotografiada por su creador. La iluminación y el procesamiento de la cámara pueden afectar a los colores mostrados.","openAnyPhotoAtFullSize":"Abre cualquier foto a tamaño completo.","viewRedditPost":"Ver publicación en Reddit","communityLinks":"Enlaces de la comunidad","kromacutOnGitHub":"Kromacut en GitHub","joinKromacutOnDiscord":"Únete a Kromacut en Discord","rKromacutOnReddit":"r/kromacut en Reddit","supportKromacutOnPatreon":"Apoya a Kromacut en Patreon","support":"Apoyar","system":"Sistema","dark":"Oscuro","light":"Claro","changeTheme":"Cambiar tema","theme":"Tema","skipToWorkflow":"Saltar al flujo de trabajo","mainNavigation":"Navegación principal","howItWorks":"Cómo funciona","docs":"Documentación","releases":"Versiones","openKromacut":"Abrir Kromacut","mobileNavigation":"Navegación móvil","openSourceBrowserFirst":"Código abierto · pensado para el navegador","kromacutTransforms2DImagesIntoStackedColorLayered3DPrints":"Kromacut transforma imágenes 2D en impresiones 3D con capas de color apiladas. Prepara tu paleta, busca correspondencias con filamentos reales, previsualiza el resultado y exporta un modelo listo para el laminador.","startCreating":"Empieza a crear","readTheQuickStart":"Lee la guía de inicio rápido","freeToUse":"Uso gratuito","browserDesktop":"Navegador y escritorio","sTL3MFExport":"Exportación STL y 3MF","text3DLayerPreview":"Vista previa 3D de capas","readyToPrint":"listo para imprimir","colorLayered3DPrintPreview":"Vista previa de impresión 3D por capas de color","paletteMapped":"Paleta asignada","text4PrintableColors":"4 colores imprimibles","fromImageToObject":"De la imagen al objeto","aSimpleWorkflowWithSeriousControl":"Un proceso sencillo con un control preciso.","goFromAFlatImageToALayeredPrintWithout":"Pasa de una imagen plana a una impresión por capas sin salir del navegador. Tú tomas las decisiones creativas; Kromacut se encarga de la geometría y del plan de impresión.","original2DArtwork":"Ilustración 2D original","finishedKromacutPrint":"Impresión Kromacut terminada","builtForRealPrints":"Pensado para impresiones reales","yourFilamentYourPaletteYourModel":"Tus filamentos. Tu paleta. Tu modelo.","useManualSlicingWhenYouWantPixelLevelControlOr":"Usa el modo manual si quieres controlar cada píxel o deja que la pintura automática busque un apilamiento de colores a partir de tu perfil de filamentos calibrado. En ambos casos, revisa cada capa antes de exportar.","nonDestructiveImageAdjustments":"Ajustes de imagen no destructivos","threeJsLayerByLayer3DPreview":"Vista previa 3D capa a capa con Three.js","calibratedAutoPaintWithDeterministicSearch":"Pintura automática calibrada con búsqueda determinista","slicerFriendlySTLAndMultiMaterial3MF":"STL listos para el laminador y 3MF multimaterial","openTheTool":"Abrir la herramienta","communityShowcase":"Galería de la comunidad","madeByTheKromacutCommunity":"Creado por la comunidad Kromacut.","finishedPrintsAndBehindTheScenesPreviewsFromPeopleCreating":"Impresiones terminadas y vistas del proceso de personas que crean con Kromacut.","wantToShowcaseYourWorkOrContributeToKromacut":"¿Quieres mostrar tu trabajo o contribuir a Kromacut?","shareWhatYouMadeImproveTheProjectOrHelpThe":"Comparte tus creaciones, mejora el proyecto o ayuda a la comunidad a descubrir lo que Kromacut puede hacer.","openAPullRequest":"Proponer una contribución","readyToMakeAFlatImagePhysical":"¿Quieres convertir una imagen plana en algo físico?","startWithAnImageFinishWithAPrint":"Empieza con una imagen. Termina con una impresión.","desktopReleases":"Versiones de escritorio","openSourceToolsForTurningImagesIntoColorLayered3D":"Herramientas de código abierto para convertir imágenes en impresiones 3D por capas de color.","footerNavigation":"Navegación del pie de página","supportKromacut":"Apoyar a Kromacut","privacy":"Privacidad","terms":"Condiciones","heroTitle":"Convierte píxeles en capas imprimibles.","creator":"Por {{creator}}","photos_one":"{{count}} foto","photos_other":"{{count}} fotos","photos_many":"{{count}} fotos","openPhoto":"Abrir {{title}} — {{kind}} {{index}} a tamaño completo","originalArtwork":"Obra original: {{title}}","themeLabel":"Tema: {{theme}}" + "importAnImage":"Importa una imagen","dropInArtworkAPhotoOrAPixelDesignAnd":"Añade una ilustración, una foto o un diseño de píxeles y conserva el original editable de forma segura.","aColorful2DImageReadyToBeImportedIntoKromacut":"Una imagen 2D colorida lista para importar en Kromacut","reducePaintColors":"Reduce y pinta los colores","tuneACompactPaletteManuallyOrLetAutoPaintMatch":"Ajusta una paleta compacta a mano o deja que la pintura automática busque correspondencias con los filamentos que tienes.","aColorLayeredImagePreviewShowingSeparatePrintableColors":"Vista previa de una imagen por capas de color que muestra colores imprimibles separados","previewEveryLayer":"Previsualiza cada capa","inspectTheStackIn3DCheckTransitionsAndSeeExactly":"Examina el apilamiento en 3D, comprueba las transiciones y ve exactamente dónde se cambia de filamento.","kromacut3DPreviewOfAStackedColorLayerPrint":"Vista previa 3D de Kromacut de una impresión por capas de color apiladas","exportAndPrint":"Exporta e imprime","downloadASlicerReadySTLOr3MFWithThePrint":"Descarga un STL o 3MF listo para el laminador, con el plan de impresión que necesitas para terminar el proyecto.","aFinishedColorfulLayeredPrintMadeFromAKromacutWorkflow":"Una impresión colorida por capas terminada con Kromacut","aColorfulHobbitsAndDragonsLayered3DPrint":"Una impresión 3D colorida por capas de Hobbits and Dragons","finishedPrint":"Impresión terminada","aSecondViewOfTheHobbitsAndDragonsLayered3D":"Otra vista de la impresión 3D por capas de Hobbits and Dragons","slicerPreviewOfTheMulticolorKingOfHeartsPlayingCard":"Vista del laminador de la impresión multicolor de la carta King of Hearts","slicerPreview":"Vista del laminador","aMulticolorLayeredKingOfHeartsPlayingCardPrint":"Una impresión multicolor por capas de la carta King of Hearts","kromacutAutoPaintPredictionForALayeredHopePosterPrint":"Predicción de pintura automática de Kromacut para una impresión por capas del cartel Hope","kromacutPrediction":"Predicción de Kromacut","autoPaintPredictionUsingTheAvailableCalibratedFilamentProfile":"Predicción de pintura automática con el perfil de filamentos calibrado disponible.","slicerPreviewOfTheLayeredHopePosterPrint":"Vista del laminador de la impresión por capas del cartel Hope","thePhysicalLayerPlanPreparedForPrintingWithoutARed":"El plan de capas físicas preparado para imprimir sin filamento rojo.","finishedLayeredHopePosterPrintShowingOrangeAndPurpleBlue":"Impresión terminada por capas del cartel Hope con desviaciones de color hacia el naranja y el azul violáceo","paleYellowMatchedMostCloselyRedPrintedOrangeCyanLeaned":"El amarillo pálido fue el más fiel; el rojo salió naranja, el cian tendió al azul violáceo y el negro reprodujo la vista previa, pero no el verde azulado oscuro del objetivo.","kromacutAutoPaintPredictionForTheGoldenWavesOfThe":"Predicción de pintura automática de Kromacut para las olas doradas del cartel Titan","text10241527MmFootprint":"Superficie de 102,4 × 152,7 mm","autoPaintWithTheEightColorCalibratedFilamentProfile":"Pintura automática con el perfil calibrado de ocho colores de filamento.","crealityPrintSlicerPreviewOfTheTitanPosterWithIts":"Vista de Creality Print del cartel Titan con su torre de cambio de filamento","crealityHi04MmNozzleAnd008Mm":"Creality Hi, boquilla de 0,4 mm y capas de 0,08 mm. Estimación del laminador: 2 h 58 min, 28,90 g incluyendo purgas y torre, seis cambios de filamento.","finishedTitanLayeredPrintWithGoldenYellowAndOrangeWave":"Impresión terminada por capas de Titan, con reflejos de olas amarillo dorado y naranja sobre un fondo oscuro","theCompletedPrintPhotographedByItsMakerLightingAndCamera":"La impresión terminada, fotografiada por su creador. La iluminación y el procesamiento de la cámara pueden afectar a los colores mostrados.","kromacutAutoPaintPredictionOfTheBatmanJiroKuwataBatmanga":"Predicción de pintura automática de Kromacut de la portada Batman Jiro Kuwata Batmanga","text6581000MmFootprint":"Superficie de 65,8 × 100,0 mm","autoPaintWithDeepOptimizationEnhancedMatchingAndPreserveColor":"Pintura automática con optimización profunda, correspondencia mejorada y conservación de la separación de colores activadas.","crealityPrintSlicerPreviewOfTheBatmangaCoverAndFilament":"Vista de Creality Print de la portada Batmanga y la torre de cambio de filamento","crealityHi04MmNozzleAnd008Mm2":"Creality Hi, boquilla de 0,4 mm y capas de 0,08 mm. Estimación del laminador: 3 h 12 min, 21,30 g incluyendo purgas y torre, ocho cambios de filamento.","finishedBatmangaLayeredPrintWithAYellowJapaneseTitleTan":"Impresión terminada por capas de Batmanga con título japonés amarillo, fondo beige y Batman en negro y gris","theCompletedPrintPhotographedByItsMakerTheLargeTitle":"La impresión terminada, fotografiada por su creador. El título grande y la silueta siguen siendo nítidos; las letras pequeñas y el sombreado fino pierden detalle a este tamaño.","kromacutAutoPaintPredictionOfNarutoLookingUpAtA":"Predicción de pintura automática de Kromacut de Naruto mirando un cielo azul","text11041902MmFootprint":"Superficie de 110,4 × 190,2 mm","autoPaintWithTheEightColorCalibratedFilamentProfile0":"Pintura automática con el perfil calibrado de ocho colores de filamento, píxeles de 0,15 mm y malla suavizada activada.","crealityPrintSlicerPreviewOfTheNarutoPrintWithSeven":"Vista de Creality Print de la impresión de Naruto con siete colores de filamento y una torre de cambio","crealityHi04MmNozzleAnd008Mm3":"Creality Hi, boquilla de 0,4 mm y capas de 0,08 mm. Estimación del laminador: 5 h 55 min, 72,10 g incluyendo purgas y torre, nueve cambios de filamento.","finishedNarutoLayeredPrintWithYellowHairOrangeClothingAnd":"Impresión terminada por capas de Naruto con pelo amarillo, ropa naranja y un cielo azul lavanda","theCompletedOvernightPrintPhotographedByItsMakerLightingAnd":"La impresión terminada durante la noche, fotografiada por su creador. La iluminación y el procesamiento de la cámara pueden afectar a los colores mostrados.","openAnyPhotoAtFullSize":"Abre cualquier foto a tamaño completo.","viewRedditPost":"Ver publicación en Reddit","communityLinks":"Enlaces de la comunidad","kromacutOnGitHub":"Kromacut en GitHub","joinKromacutOnDiscord":"Únete a Kromacut en Discord","rKromacutOnReddit":"r/kromacut en Reddit","supportKromacutOnPatreon":"Apoya a Kromacut en Patreon","support":"Apoyar","system":"Sistema","dark":"Oscuro","light":"Claro","changeTheme":"Cambiar tema","theme":"Tema","skipToWorkflow":"Saltar al flujo de trabajo","mainNavigation":"Navegación principal","howItWorks":"Cómo funciona","docs":"Documentación","releases":"Versiones","openKromacut":"Abrir Kromacut","mobileNavigation":"Navegación móvil","openSourceBrowserFirst":"Código abierto · pensado para el navegador","kromacutTransforms2DImagesIntoStackedColorLayered3DPrints":"Kromacut transforma imágenes 2D en impresiones 3D con capas de color apiladas. Prepara tu paleta, busca correspondencias con filamentos reales, previsualiza el resultado y exporta un modelo listo para el laminador.","startCreating":"Empieza a crear","readTheQuickStart":"Lee la guía de inicio rápido","freeToUse":"Uso gratuito","browserDesktop":"Navegador y escritorio","sTL3MFExport":"Exportación STL y 3MF","text3DLayerPreview":"Vista previa 3D de capas","readyToPrint":"listo para imprimir","colorLayered3DPrintPreview":"Vista previa de impresión 3D por capas de color","paletteMapped":"Paleta asignada","text4PrintableColors":"4 colores imprimibles","fromImageToObject":"De la imagen al objeto","aSimpleWorkflowWithSeriousControl":"Un proceso sencillo con un control preciso.","goFromAFlatImageToALayeredPrintWithout":"Pasa de una imagen plana a una impresión por capas sin salir del navegador. Tú tomas las decisiones creativas; Kromacut se encarga de la geometría y del plan de impresión.","original2DArtwork":"Ilustración 2D original","finishedKromacutPrint":"Impresión Kromacut terminada","builtForRealPrints":"Pensado para impresiones reales","yourFilamentYourPaletteYourModel":"Tus filamentos. Tu paleta. Tu modelo.","useManualSlicingWhenYouWantPixelLevelControlOr":"Usa el modo manual si quieres controlar cada píxel o deja que la pintura automática busque un apilamiento de colores a partir de tu perfil de filamentos calibrado. En ambos casos, revisa cada capa antes de exportar.","nonDestructiveImageAdjustments":"Ajustes de imagen no destructivos","threeJsLayerByLayer3DPreview":"Vista previa 3D capa a capa con Three.js","calibratedAutoPaintWithDeterministicSearch":"Pintura automática calibrada con búsqueda determinista","slicerFriendlySTLAndMultiMaterial3MF":"STL listos para el laminador y 3MF multimaterial","openTheTool":"Abrir la herramienta","communityShowcase":"Galería de la comunidad","madeByTheKromacutCommunity":"Creado por la comunidad Kromacut.","finishedPrintsAndBehindTheScenesPreviewsFromPeopleCreating":"Impresiones terminadas y vistas del proceso de personas que crean con Kromacut.","wantToShowcaseYourWorkOrContributeToKromacut":"¿Quieres mostrar tu trabajo o contribuir a Kromacut?","shareWhatYouMadeImproveTheProjectOrHelpThe":"Comparte tus creaciones, mejora el proyecto o ayuda a la comunidad a descubrir lo que Kromacut puede hacer.","openAPullRequest":"Proponer una contribución","readyToMakeAFlatImagePhysical":"¿Quieres convertir una imagen plana en algo físico?","startWithAnImageFinishWithAPrint":"Empieza con una imagen. Termina con una impresión.","desktopReleases":"Versiones de escritorio","openSourceToolsForTurningImagesIntoColorLayered3D":"Herramientas de código abierto para convertir imágenes en impresiones 3D por capas de color.","footerNavigation":"Navegación del pie de página","supportKromacut":"Apoyar a Kromacut","privacy":"Privacidad","terms":"Condiciones","heroTitle":"Convierte píxeles en capas imprimibles.","creator":"Por {{creator}}","photos_one":"{{count}} foto","photos_other":"{{count}} fotos","photos_many":"{{count}} fotos","openPhoto":"Abrir {{title}} — {{kind}} {{index}} a tamaño completo","originalArtwork":"Obra original: {{title}}","themeLabel":"Tema: {{theme}}" }, "navigation":{"homeLabel":"Página de inicio de Kromacut","openApp":"Abrir Kromacut","home":"Ir a la página de inicio","docs":"Explorar la documentación","privacy":"Privacidad y datos locales","terms":"Términos y condiciones"}, "legal":{"privacyEyebrow":"Primero, tus datos locales. Todo explicado.","termsEyebrow":"Uso de Kromacut.","updated":"Actualizado el {{date}}","contents":"En esta página"}, diff --git a/src/locales/fr/public.json b/src/locales/fr/public.json index 8d03bafd..b2acfe00 100644 --- a/src/locales/fr/public.json +++ b/src/locales/fr/public.json @@ -1,6 +1,6 @@ { "landing":{ - "importAnImage":"Importer une image","dropInArtworkAPhotoOrAPixelDesignAnd":"Importez une illustration, une photo ou un dessin en pixels tout en conservant l’original modifiable.","aColorful2DImageReadyToBeImportedIntoKromacut":"Une image 2D colorée prête à être importée dans Kromacut","reducePaintColors":"Réduire et peindre les couleurs","tuneACompactPaletteManuallyOrLetAutoPaintMatch":"Réglez une palette compacte manuellement ou laissez la peinture automatique exploiter les filaments que vous possédez.","aColorLayeredImagePreviewShowingSeparatePrintableColors":"Aperçu d’une image en couches de couleur montrant les couleurs imprimables distinctes","previewEveryLayer":"Prévisualiser chaque couche","inspectTheStackIn3DCheckTransitionsAndSeeExactly":"Examinez l’empilement en 3D, vérifiez les transitions et repérez précisément les changements de filament.","kromacut3DPreviewOfAStackedColorLayerPrint":"Aperçu 3D Kromacut d’une impression en couches de couleur empilées","exportAndPrint":"Exporter et imprimer","downloadASlicerReadySTLOr3MFWithThePrint":"Téléchargez un STL ou un 3MF prêt à trancher, avec le plan d’impression nécessaire pour terminer votre projet.","aFinishedColorfulLayeredPrintMadeFromAKromacutWorkflow":"Une impression colorée en couches terminée, réalisée avec Kromacut","aColorfulHobbitsAndDragonsLayered3DPrint":"Une impression 3D colorée en couches de Hobbits and Dragons","finishedPrint":"Impression terminée","aSecondViewOfTheHobbitsAndDragonsLayered3D":"Une seconde vue de l’impression 3D en couches de Hobbits and Dragons","slicerPreviewOfTheMulticolorKingOfHeartsPlayingCard":"Aperçu dans le logiciel de tranchage de la carte à jouer multicolore King of Hearts","slicerPreview":"Aperçu du tranchage","aMulticolorLayeredKingOfHeartsPlayingCardPrint":"Une impression multicolore en couches de la carte à jouer King of Hearts","kromacutAutoPaintPredictionForALayeredHopePosterPrint":"Prédiction de peinture automatique Kromacut pour une impression en couches de l’affiche Hope","kromacutPrediction":"Prédiction Kromacut","autoPaintPredictionUsingTheAvailableCalibratedFilamentProfile":"Prédiction de peinture automatique avec le profil de filaments étalonné disponible.","slicerPreviewOfTheLayeredHopePosterPrint":"Aperçu du tranchage de l’impression en couches de l’affiche Hope","thePhysicalLayerPlanPreparedForPrintingWithoutARed":"Le plan de couches physiques préparé pour une impression sans filament rouge.","finishedLayeredHopePosterPrintShowingOrangeAndPurpleBlue":"Impression terminée de l’affiche Hope en couches, présentant des décalages vers l’orange et le bleu-violet","paleYellowMatchedMostCloselyRedPrintedOrangeCyanLeaned":"Le jaune pâle est le plus fidèle ; le rouge est sorti orange, le cyan a viré au bleu-violet, et le noir a reproduit l’aperçu sans atteindre le bleu-vert sombre de la cible.","kromacutAutoPaintPredictionForTheGoldenWavesOfThe":"Prédiction de peinture automatique Kromacut pour les vagues dorées de l’affiche Titan","text10241527MmFootprint":"Emprise de 102,4 × 152,7 mm","autoPaintWithTheEightColorCalibratedFilamentProfile":"Peinture automatique avec le profil étalonné de huit filaments colorés.","crealityPrintSlicerPreviewOfTheTitanPosterWithIts":"Aperçu Creality Print de l’affiche Titan avec sa tour de changement de filament","crealityHi04MmNozzleAnd008Mm":"Creality Hi, buse de 0,4 mm et couches de 0,08 mm. Estimation du logiciel : 2 h 58 min, 28,90 g purges et tour comprises, six changements de filament.","finishedTitanLayeredPrintWithGoldenYellowAndOrangeWave":"Impression Titan terminée en couches, avec des reflets de vagues jaune doré et orange sur fond sombre","theCompletedPrintPhotographedByItsMakerLightingAndCamera":"L’impression terminée, photographiée par son auteur. L’éclairage et le traitement de l’appareil photo peuvent modifier les couleurs affichées.","kromacutAutoPaintPredictionOfTheBatmanJiroKuwataBatmanga":"Prédiction de peinture automatique Kromacut de la couverture Batman Jiro Kuwata Batmanga","text6581000MmFootprint":"Emprise de 65,8 × 100,0 mm","autoPaintWithDeepOptimizationEnhancedMatchingAndPreserveColor":"Peinture automatique avec optimisation très approfondie, correspondance améliorée et préservation de la séparation des couleurs activées.","crealityPrintSlicerPreviewOfTheBatmangaCoverAndFilament":"Aperçu Creality Print de la couverture Batmanga et de la tour de changement de filament","crealityHi04MmNozzleAnd008Mm2":"Creality Hi, buse de 0,4 mm et couches de 0,08 mm. Estimation du logiciel : 3 h 12 min, 21,30 g purges et tour comprises, huit changements de filament.","finishedBatmangaLayeredPrintWithAYellowJapaneseTitleTan":"Impression Batmanga terminée en couches, avec un titre japonais jaune, un fond beige et Batman en noir et gris","theCompletedPrintPhotographedByItsMakerTheLargeTitle":"L’impression terminée, photographiée par son auteur. Le grand titre et la silhouette restent distincts ; les petites lettres et les ombrages fins perdent des détails à cette taille.","kromacutAutoPaintPredictionOfNarutoLookingUpAtA":"Prédiction de peinture automatique Kromacut de Naruto regardant un ciel bleu","text11041902MmFootprint":"Emprise de 110,4 × 190,2 mm","autoPaintWithTheEightColorCalibratedFilamentProfile0":"Peinture automatique avec le profil étalonné de huit filaments colorés, des pixels de 0,15 mm et le maillage lissé activé.","crealityPrintSlicerPreviewOfTheNarutoPrintWithSeven":"Aperçu Creality Print de l’impression Naruto avec sept couleurs de filament et une tour de changement","crealityHi04MmNozzleAnd008Mm3":"Creality Hi, buse de 0,4 mm et couches de 0,08 mm. Estimation du logiciel : 5 h 55 min, 72,10 g purges et tour comprises, neuf changements de filament.","finishedNarutoLayeredPrintWithYellowHairOrangeClothingAnd":"Impression Naruto terminée en couches, avec des cheveux jaunes, des vêtements orange et un ciel bleu lavande","theCompletedOvernightPrintPhotographedByItsMakerLightingAnd":"L’impression terminée pendant la nuit, photographiée par son auteur. L’éclairage et le traitement de l’appareil photo peuvent modifier les couleurs affichées.","openAnyPhotoAtFullSize":"Ouvrez une photo en taille réelle.","viewRedditPost":"Voir la publication Reddit","communityLinks":"Liens de la communauté","kromacutOnGitHub":"Kromacut sur GitHub","joinKromacutOnDiscord":"Rejoindre Kromacut sur Discord","rKromacutOnReddit":"r/kromacut sur Reddit","supportKromacutOnPatreon":"Soutenir Kromacut sur Patreon","support":"Soutenir","system":"Système","dark":"Sombre","light":"Clair","changeTheme":"Changer de thème","theme":"Thème","skipToWorkflow":"Aller aux étapes de création","mainNavigation":"Navigation principale","howItWorks":"Comment ça marche","docs":"Documentation","releases":"Versions","openKromacut":"Ouvrir Kromacut","mobileNavigation":"Navigation mobile","openSourceBrowserFirst":"Code ouvert · pensé pour le navigateur","kromacutTransforms2DImagesIntoStackedColorLayered3DPrints":"Kromacut transforme les images 2D en impressions 3D faites de couches de couleur empilées. Préparez votre palette, associez vos vrais filaments, prévisualisez le résultat et exportez un modèle prêt à trancher.","startCreating":"Commencer à créer","readTheQuickStart":"Lire le guide de démarrage","freeToUse":"Utilisation gratuite","browserDesktop":"Navigateur et application de bureau","sTL3MFExport":"Export STL et 3MF","text3DLayerPreview":"Aperçu 3D des couches","readyToPrint":"prêt à imprimer","colorLayered3DPrintPreview":"Aperçu d’impression 3D en couches de couleur","paletteMapped":"Palette associée","text4PrintableColors":"4 couleurs imprimables","fromImageToObject":"De l’image à l’objet","aSimpleWorkflowWithSeriousControl":"Un parcours simple, un contrôle précis.","goFromAFlatImageToALayeredPrintWithout":"Passez d’une image plane à une impression en couches sans quitter votre navigateur. Gardez la main sur les choix créatifs ; Kromacut s’occupe de la géométrie et du plan d’impression.","original2DArtwork":"Illustration 2D d’origine","finishedKromacutPrint":"Impression Kromacut terminée","builtForRealPrints":"Conçu pour de vraies impressions","yourFilamentYourPaletteYourModel":"Vos filaments. Votre palette. Votre modèle.","useManualSlicingWhenYouWantPixelLevelControlOr":"Utilisez le découpage manuel pour un contrôle au pixel près, ou laissez la peinture automatique rechercher un empilement de couleurs à partir de votre profil de filaments étalonné. Dans les deux cas, vérifiez chaque couche avant l’export.","nonDestructiveImageAdjustments":"Réglages d’image non destructifs","threeJsLayerByLayer3DPreview":"Aperçu 3D couche par couche avec Three.js","calibratedAutoPaintWithDeterministicSearch":"Peinture automatique étalonnée avec recherche déterministe","slicerFriendlySTLAndMultiMaterial3MF":"STL prêts à trancher et 3MF multimatériaux","openTheTool":"Ouvrir l’outil","communityShowcase":"Galerie de la communauté","madeByTheKromacutCommunity":"Créé par la communauté Kromacut.","finishedPrintsAndBehindTheScenesPreviewsFromPeopleCreating":"Des impressions terminées et des aperçus des coulisses de celles et ceux qui créent avec Kromacut.","wantToShowcaseYourWorkOrContributeToKromacut":"Envie de présenter votre travail ou de contribuer à Kromacut ?","shareWhatYouMadeImproveTheProjectOrHelpThe":"Partagez vos créations, améliorez le projet ou aidez la communauté à découvrir les possibilités de Kromacut.","openAPullRequest":"Proposer une contribution","readyToMakeAFlatImagePhysical":"Prêt à donner du relief à une image ?","startWithAnImageFinishWithAPrint":"Commencez par une image. Terminez par une impression.","desktopReleases":"Versions de bureau","openSourceToolsForTurningImagesIntoColorLayered3D":"Des outils à code ouvert pour transformer les images en impressions 3D en couches de couleur.","footerNavigation":"Navigation du pied de page","supportKromacut":"Soutenir Kromacut","privacy":"Confidentialité","terms":"Conditions","heroTitle":"Transformez vos pixels en couches imprimables.","creator":"Par {{creator}}","photos_one":"{{count}} photo","photos_other":"{{count}} photos","photos_many":"{{count}} photos","openPhoto":"Ouvrir {{title}} — {{kind}} {{index}} en taille réelle","originalArtwork":"Œuvre originale : {{title}}","themeLabel":"Thème : {{theme}}" + "importAnImage":"Importer une image","dropInArtworkAPhotoOrAPixelDesignAnd":"Importez une illustration, une photo ou un dessin en pixels tout en conservant l’original modifiable.","aColorful2DImageReadyToBeImportedIntoKromacut":"Une image 2D colorée prête à être importée dans Kromacut","reducePaintColors":"Réduire et peindre les couleurs","tuneACompactPaletteManuallyOrLetAutoPaintMatch":"Réglez une palette compacte manuellement ou laissez la peinture automatique exploiter les filaments que vous possédez.","aColorLayeredImagePreviewShowingSeparatePrintableColors":"Aperçu d’une image en couches de couleur montrant les couleurs imprimables distinctes","previewEveryLayer":"Prévisualiser chaque couche","inspectTheStackIn3DCheckTransitionsAndSeeExactly":"Examinez l’empilement en 3D, vérifiez les transitions et repérez précisément les changements de filament.","kromacut3DPreviewOfAStackedColorLayerPrint":"Aperçu 3D Kromacut d’une impression en couches de couleur empilées","exportAndPrint":"Exporter et imprimer","downloadASlicerReadySTLOr3MFWithThePrint":"Téléchargez un STL ou un 3MF prêt à trancher, avec le plan d’impression nécessaire pour terminer votre projet.","aFinishedColorfulLayeredPrintMadeFromAKromacutWorkflow":"Une impression colorée en couches terminée, réalisée avec Kromacut","aColorfulHobbitsAndDragonsLayered3DPrint":"Une impression 3D colorée en couches de Hobbits and Dragons","finishedPrint":"Impression terminée","aSecondViewOfTheHobbitsAndDragonsLayered3D":"Une seconde vue de l’impression 3D en couches de Hobbits and Dragons","slicerPreviewOfTheMulticolorKingOfHeartsPlayingCard":"Aperçu dans le logiciel de tranchage de la carte à jouer multicolore King of Hearts","slicerPreview":"Aperçu du tranchage","aMulticolorLayeredKingOfHeartsPlayingCardPrint":"Une impression multicolore en couches de la carte à jouer King of Hearts","kromacutAutoPaintPredictionForALayeredHopePosterPrint":"Prédiction de peinture automatique Kromacut pour une impression en couches de l’affiche Hope","kromacutPrediction":"Prédiction Kromacut","autoPaintPredictionUsingTheAvailableCalibratedFilamentProfile":"Prédiction de peinture automatique avec le profil de filaments étalonné disponible.","slicerPreviewOfTheLayeredHopePosterPrint":"Aperçu du tranchage de l’impression en couches de l’affiche Hope","thePhysicalLayerPlanPreparedForPrintingWithoutARed":"Le plan de couches physiques préparé pour une impression sans filament rouge.","finishedLayeredHopePosterPrintShowingOrangeAndPurpleBlue":"Impression terminée de l’affiche Hope en couches, présentant des décalages vers l’orange et le bleu-violet","paleYellowMatchedMostCloselyRedPrintedOrangeCyanLeaned":"Le jaune pâle est le plus fidèle ; le rouge est sorti orange, le cyan a viré au bleu-violet, et le noir a reproduit l’aperçu sans atteindre le bleu-vert sombre de la cible.","kromacutAutoPaintPredictionForTheGoldenWavesOfThe":"Prédiction de peinture automatique Kromacut pour les vagues dorées de l’affiche Titan","text10241527MmFootprint":"Emprise de 102,4 × 152,7 mm","autoPaintWithTheEightColorCalibratedFilamentProfile":"Peinture automatique avec le profil étalonné de huit filaments colorés.","crealityPrintSlicerPreviewOfTheTitanPosterWithIts":"Aperçu Creality Print de l’affiche Titan avec sa tour de changement de filament","crealityHi04MmNozzleAnd008Mm":"Creality Hi, buse de 0,4 mm et couches de 0,08 mm. Estimation du logiciel : 2 h 58 min, 28,90 g purges et tour comprises, six changements de filament.","finishedTitanLayeredPrintWithGoldenYellowAndOrangeWave":"Impression Titan terminée en couches, avec des reflets de vagues jaune doré et orange sur fond sombre","theCompletedPrintPhotographedByItsMakerLightingAndCamera":"L’impression terminée, photographiée par son auteur. L’éclairage et le traitement de l’appareil photo peuvent modifier les couleurs affichées.","kromacutAutoPaintPredictionOfTheBatmanJiroKuwataBatmanga":"Prédiction de peinture automatique Kromacut de la couverture Batman Jiro Kuwata Batmanga","text6581000MmFootprint":"Emprise de 65,8 × 100,0 mm","autoPaintWithDeepOptimizationEnhancedMatchingAndPreserveColor":"Peinture automatique avec optimisation très approfondie, correspondance améliorée et préservation de la séparation des couleurs activées.","crealityPrintSlicerPreviewOfTheBatmangaCoverAndFilament":"Aperçu Creality Print de la couverture Batmanga et de la tour de changement de filament","crealityHi04MmNozzleAnd008Mm2":"Creality Hi, buse de 0,4 mm et couches de 0,08 mm. Estimation du logiciel : 3 h 12 min, 21,30 g purges et tour comprises, huit changements de filament.","finishedBatmangaLayeredPrintWithAYellowJapaneseTitleTan":"Impression Batmanga terminée en couches, avec un titre japonais jaune, un fond beige et Batman en noir et gris","theCompletedPrintPhotographedByItsMakerTheLargeTitle":"L’impression terminée, photographiée par son auteur. Le grand titre et la silhouette restent distincts ; les petites lettres et les ombrages fins perdent des détails à cette taille.","kromacutAutoPaintPredictionOfNarutoLookingUpAtA":"Prédiction de peinture automatique Kromacut de Naruto regardant un ciel bleu","text11041902MmFootprint":"Emprise de 110,4 × 190,2 mm","autoPaintWithTheEightColorCalibratedFilamentProfile0":"Peinture automatique avec le profil étalonné de huit filaments colorés, des pixels de 0,15 mm et le maillage lissé activé.","crealityPrintSlicerPreviewOfTheNarutoPrintWithSeven":"Aperçu Creality Print de l’impression Naruto avec sept couleurs de filament et une tour de changement","crealityHi04MmNozzleAnd008Mm3":"Creality Hi, buse de 0,4 mm et couches de 0,08 mm. Estimation du logiciel : 5 h 55 min, 72,10 g purges et tour comprises, neuf changements de filament.","finishedNarutoLayeredPrintWithYellowHairOrangeClothingAnd":"Impression Naruto terminée en couches, avec des cheveux jaunes, des vêtements orange et un ciel bleu lavande","theCompletedOvernightPrintPhotographedByItsMakerLightingAnd":"L’impression terminée pendant la nuit, photographiée par son auteur. L’éclairage et le traitement de l’appareil photo peuvent modifier les couleurs affichées.","openAnyPhotoAtFullSize":"Ouvrez une photo en taille réelle.","viewRedditPost":"Voir la publication Reddit","communityLinks":"Liens de la communauté","kromacutOnGitHub":"Kromacut sur GitHub","joinKromacutOnDiscord":"Rejoindre Kromacut sur Discord","rKromacutOnReddit":"r/kromacut sur Reddit","supportKromacutOnPatreon":"Soutenir Kromacut sur Patreon","support":"Soutenir","system":"Système","dark":"Sombre","light":"Clair","changeTheme":"Changer de thème","theme":"Thème","skipToWorkflow":"Aller aux étapes de création","mainNavigation":"Navigation principale","howItWorks":"Comment ça marche","docs":"Documentation","releases":"Versions","openKromacut":"Ouvrir Kromacut","mobileNavigation":"Navigation mobile","openSourceBrowserFirst":"Code ouvert · pensé pour le navigateur","kromacutTransforms2DImagesIntoStackedColorLayered3DPrints":"Kromacut transforme les images 2D en impressions 3D faites de couches de couleur empilées. Préparez votre palette, associez vos vrais filaments, prévisualisez le résultat et exportez un modèle prêt à trancher.","startCreating":"Commencer à créer","readTheQuickStart":"Lire le guide de démarrage","freeToUse":"Utilisation gratuite","browserDesktop":"Navigateur et application de bureau","sTL3MFExport":"Export STL et 3MF","text3DLayerPreview":"Aperçu 3D des couches","readyToPrint":"prêt à imprimer","colorLayered3DPrintPreview":"Aperçu d’impression 3D en couches de couleur","paletteMapped":"Palette associée","text4PrintableColors":"4 couleurs imprimables","fromImageToObject":"De l’image à l’objet","aSimpleWorkflowWithSeriousControl":"Un parcours simple, un contrôle précis.","goFromAFlatImageToALayeredPrintWithout":"Passez d’une image plane à une impression en couches sans quitter votre navigateur. Gardez la main sur les choix créatifs ; Kromacut s’occupe de la géométrie et du plan d’impression.","original2DArtwork":"Illustration 2D d’origine","finishedKromacutPrint":"Impression Kromacut terminée","builtForRealPrints":"Conçu pour de vraies impressions","yourFilamentYourPaletteYourModel":"Vos filaments. Votre palette. Votre modèle.","useManualSlicingWhenYouWantPixelLevelControlOr":"Utilisez le découpage manuel pour un contrôle au pixel près, ou laissez la peinture automatique rechercher un empilement de couleurs à partir de votre profil de filaments étalonné. Dans les deux cas, vérifiez chaque couche avant l’export.","nonDestructiveImageAdjustments":"Réglages d’image non destructifs","threeJsLayerByLayer3DPreview":"Aperçu 3D couche par couche avec Three.js","calibratedAutoPaintWithDeterministicSearch":"Peinture automatique étalonnée avec recherche déterministe","slicerFriendlySTLAndMultiMaterial3MF":"STL prêts à trancher et 3MF multimatériaux","openTheTool":"Ouvrir l’outil","communityShowcase":"Galerie de la communauté","madeByTheKromacutCommunity":"Créé par la communauté Kromacut.","finishedPrintsAndBehindTheScenesPreviewsFromPeopleCreating":"Des impressions terminées et des aperçus des coulisses de celles et ceux qui créent avec Kromacut.","wantToShowcaseYourWorkOrContributeToKromacut":"Envie de présenter votre travail ou de contribuer à Kromacut ?","shareWhatYouMadeImproveTheProjectOrHelpThe":"Partagez vos créations, améliorez le projet ou aidez la communauté à découvrir les possibilités de Kromacut.","openAPullRequest":"Proposer une contribution","readyToMakeAFlatImagePhysical":"Prêt à donner du relief à une image ?","startWithAnImageFinishWithAPrint":"Commencez par une image. Terminez par une impression.","desktopReleases":"Versions de bureau","openSourceToolsForTurningImagesIntoColorLayered3D":"Des outils à code ouvert pour transformer les images en impressions 3D en couches de couleur.","footerNavigation":"Navigation du pied de page","supportKromacut":"Soutenir Kromacut","privacy":"Confidentialité","terms":"Conditions","heroTitle":"Transformez vos pixels en couches imprimables.","creator":"Par {{creator}}","photos_one":"{{count}} photo","photos_other":"{{count}} photos","photos_many":"{{count}} photos","openPhoto":"Ouvrir {{title}} — {{kind}} {{index}} en taille réelle","originalArtwork":"Œuvre originale : {{title}}","themeLabel":"Thème : {{theme}}" }, "navigation":{"homeLabel":"Accueil de Kromacut","openApp":"Ouvrir Kromacut","home":"Aller à l’accueil","docs":"Parcourir la documentation","privacy":"Confidentialité et données locales","terms":"Conditions d’utilisation"}, "legal":{"privacyEyebrow":"Le local d’abord. En toute clarté.","termsEyebrow":"Utiliser Kromacut.","updated":"Mis à jour le {{date}}","contents":"Sur cette page"}, diff --git a/src/locales/hi/public.json b/src/locales/hi/public.json index b9a4e5c0..e677f8a0 100644 --- a/src/locales/hi/public.json +++ b/src/locales/hi/public.json @@ -110,7 +110,7 @@ "photos_one": "{{count}} फ़ोटो", "photos_other": "{{count}} फ़ोटो", "openPhoto": "{{title}} — {{kind}} {{index}} पूरे आकार में खोलें", - "originalArtwork": "मूल कलाकृति: {{title}}", + "originalArtwork": "मूल कलाकृति: {{title}}", "themeLabel": "थीम: {{theme}}" }, "navigation": { diff --git a/src/locales/it/public.json b/src/locales/it/public.json index 9c62b370..8fe438c9 100644 --- a/src/locales/it/public.json +++ b/src/locales/it/public.json @@ -110,7 +110,7 @@ "photos_one": "{{count}} foto", "photos_other": "{{count}} foto", "openPhoto": "Apri {{title}} — {{kind}} {{index}} a dimensione intera", - "originalArtwork": "Opera originale: {{title}}", + "originalArtwork": "Opera originale: {{title}}", "themeLabel": "Tema: {{theme}}", "photos_many": "{{count}} foto" }, diff --git a/src/locales/ja/public.json b/src/locales/ja/public.json index b4171145..37729634 100644 --- a/src/locales/ja/public.json +++ b/src/locales/ja/public.json @@ -110,7 +110,7 @@ "photos_one": "写真{{count}}枚", "photos_other": "写真{{count}}枚", "openPhoto": "{{title}} — {{kind}} {{index}}を原寸で開く", - "originalArtwork": "元作品:{{title}}", + "originalArtwork": "元作品:{{title}}", "themeLabel": "テーマ:{{theme}}" }, "navigation": { diff --git a/src/locales/pt-PT/public.json b/src/locales/pt-PT/public.json index d73a442a..7eddacf7 100644 --- a/src/locales/pt-PT/public.json +++ b/src/locales/pt-PT/public.json @@ -1,6 +1,6 @@ { "landing":{ - "importAnImage":"Importe uma imagem","dropInArtworkAPhotoOrAPixelDesignAnd":"Adicione uma ilustração, uma fotografia ou um desenho em píxeis e mantenha o original editável em segurança.","aColorful2DImageReadyToBeImportedIntoKromacut":"Uma imagem 2D colorida pronta a importar para o Kromacut","reducePaintColors":"Reduza e pinte as cores","tuneACompactPaletteManuallyOrLetAutoPaintMatch":"Ajuste manualmente uma paleta compacta ou deixe a pintura automática encontrar correspondências nos filamentos que possui.","aColorLayeredImagePreviewShowingSeparatePrintableColors":"Pré-visualização de uma imagem em camadas de cor, com cores imprimíveis separadas","previewEveryLayer":"Pré-visualize cada camada","inspectTheStackIn3DCheckTransitionsAndSeeExactly":"Examine o empilhamento em 3D, verifique as transições e veja exatamente onde ocorrem as trocas de filamento.","kromacut3DPreviewOfAStackedColorLayerPrint":"Pré-visualização 3D do Kromacut de uma impressão com camadas de cor empilhadas","exportAndPrint":"Exporte e imprima","downloadASlicerReadySTLOr3MFWithThePrint":"Transfira um STL ou 3MF pronto para o laminador, com o plano de impressão necessário para concluir o projeto.","aFinishedColorfulLayeredPrintMadeFromAKromacutWorkflow":"Uma impressão colorida em camadas concluída com o Kromacut","aColorfulHobbitsAndDragonsLayered3DPrint":"Uma impressão 3D colorida em camadas de Hobbits and Dragons","finishedPrint":"Impressão concluída","aSecondViewOfTheHobbitsAndDragonsLayered3D":"Outra vista da impressão 3D em camadas de Hobbits and Dragons","slicerPreviewOfTheMulticolorKingOfHeartsPlayingCard":"Pré-visualização no laminador da impressão multicolorida da carta King of Hearts","slicerPreview":"Pré-visualização no laminador","aMulticolorLayeredKingOfHeartsPlayingCardPrint":"Uma impressão multicolorida em camadas da carta King of Hearts","kromacutAutoPaintPredictionForALayeredHopePosterPrint":"Previsão da pintura automática do Kromacut para uma impressão em camadas do cartaz Hope","kromacutPrediction":"Previsão do Kromacut","autoPaintPredictionUsingTheAvailableCalibratedFilamentProfile":"Previsão da pintura automática com o perfil de filamentos calibrado disponível.","slicerPreviewOfTheLayeredHopePosterPrint":"Pré-visualização no laminador da impressão em camadas do cartaz Hope","thePhysicalLayerPlanPreparedForPrintingWithoutARed":"O plano de camadas físicas preparado para imprimir sem filamento vermelho.","finishedLayeredHopePosterPrintShowingOrangeAndPurpleBlue":"Impressão concluída em camadas do cartaz Hope com desvios de cor para laranja e azul-arroxeado","paleYellowMatchedMostCloselyRedPrintedOrangeCyanLeaned":"O amarelo-pálido foi o mais fiel; o vermelho saiu laranja, o ciano tendeu para azul-arroxeado e o preto reproduziu a pré-visualização, mas não o verde-azulado escuro do alvo.","kromacutAutoPaintPredictionForTheGoldenWavesOfThe":"Previsão da pintura automática do Kromacut para as ondas douradas do cartaz Titan","text10241527MmFootprint":"Área de 102,4 × 152,7 mm","autoPaintWithTheEightColorCalibratedFilamentProfile":"Pintura automática com o perfil calibrado de oito cores de filamento.","crealityPrintSlicerPreviewOfTheTitanPosterWithIts":"Pré-visualização no Creality Print do cartaz Titan com a torre de troca de filamento","crealityHi04MmNozzleAnd008Mm":"Creality Hi, bico de 0,4 mm e camadas de 0,08 mm. Estimativa do laminador: 2 h 58 min, 28,90 g incluindo purgas e torre, seis trocas de filamento.","finishedTitanLayeredPrintWithGoldenYellowAndOrangeWave":"Impressão Titan concluída em camadas, com reflexos de ondas amarelo-dourados e laranja sobre um fundo escuro","theCompletedPrintPhotographedByItsMakerLightingAndCamera":"A impressão concluída, fotografada pelo seu criador. A iluminação e o processamento da câmara podem afetar as cores apresentadas.","kromacutAutoPaintPredictionOfTheBatmanJiroKuwataBatmanga":"Previsão da pintura automática do Kromacut da capa Batman Jiro Kuwata Batmanga","text6581000MmFootprint":"Área de 65,8 × 100,0 mm","autoPaintWithDeepOptimizationEnhancedMatchingAndPreserveColor":"Pintura automática com otimização profunda, correspondência melhorada e preservação da separação de cores ativadas.","crealityPrintSlicerPreviewOfTheBatmangaCoverAndFilament":"Pré-visualização no Creality Print da capa Batmanga e da torre de troca de filamento","crealityHi04MmNozzleAnd008Mm2":"Creality Hi, bico de 0,4 mm e camadas de 0,08 mm. Estimativa do laminador: 3 h 12 min, 21,30 g incluindo purgas e torre, oito trocas de filamento.","finishedBatmangaLayeredPrintWithAYellowJapaneseTitleTan":"Impressão Batmanga concluída em camadas, com título japonês amarelo, fundo bege e Batman em preto e cinzento","theCompletedPrintPhotographedByItsMakerTheLargeTitle":"A impressão concluída, fotografada pelo seu criador. O título grande e a silhueta mantêm-se distintos; as letras pequenas e o sombreado fino perdem detalhe a este tamanho.","kromacutAutoPaintPredictionOfNarutoLookingUpAtA":"Previsão da pintura automática do Kromacut de Naruto a olhar para um céu azul","text11041902MmFootprint":"Área de 110,4 × 190,2 mm","autoPaintWithTheEightColorCalibratedFilamentProfile0":"Pintura automática com o perfil calibrado de oito cores de filamento, píxeis de 0,15 mm e malha suavizada ativada.","crealityPrintSlicerPreviewOfTheNarutoPrintWithSeven":"Pré-visualização no Creality Print da impressão Naruto com sete cores de filamento e uma torre de troca","crealityHi04MmNozzleAnd008Mm3":"Creality Hi, bico de 0,4 mm e camadas de 0,08 mm. Estimativa do laminador: 5 h 55 min, 72,10 g incluindo purgas e torre, nove trocas de filamento.","finishedNarutoLayeredPrintWithYellowHairOrangeClothingAnd":"Impressão Naruto concluída em camadas, com cabelo amarelo, roupa laranja e um céu azul-lavanda","theCompletedOvernightPrintPhotographedByItsMakerLightingAnd":"A impressão concluída durante a noite, fotografada pelo seu criador. A iluminação e o processamento da câmara podem afetar as cores apresentadas.","openAnyPhotoAtFullSize":"Abra qualquer fotografia em tamanho completo.","viewRedditPost":"Ver publicação no Reddit","communityLinks":"Ligações da comunidade","kromacutOnGitHub":"Kromacut no GitHub","joinKromacutOnDiscord":"Junte-se ao Kromacut no Discord","rKromacutOnReddit":"r/kromacut no Reddit","supportKromacutOnPatreon":"Apoie o Kromacut no Patreon","support":"Apoiar","system":"Sistema","dark":"Escuro","light":"Claro","changeTheme":"Alterar tema","theme":"Tema","skipToWorkflow":"Saltar para o fluxo de trabalho","mainNavigation":"Navegação principal","howItWorks":"Como funciona","docs":"Documentação","releases":"Versões","openKromacut":"Abrir Kromacut","mobileNavigation":"Navegação móvel","openSourceBrowserFirst":"Código aberto · pensado para o navegador","kromacutTransforms2DImagesIntoStackedColorLayered3DPrints":"O Kromacut transforma imagens 2D em impressões 3D com camadas de cor empilhadas. Prepare a paleta, encontre correspondências com filamentos reais, pré-visualize o resultado e exporte um modelo pronto para o laminador.","startCreating":"Começar a criar","readTheQuickStart":"Ler o guia de início rápido","freeToUse":"Utilização gratuita","browserDesktop":"Navegador e aplicação de ambiente de trabalho","sTL3MFExport":"Exportação STL e 3MF","text3DLayerPreview":"Pré-visualização 3D de camadas","readyToPrint":"pronto a imprimir","colorLayered3DPrintPreview":"Pré-visualização de impressão 3D em camadas de cor","paletteMapped":"Paleta associada","text4PrintableColors":"4 cores imprimíveis","fromImageToObject":"Da imagem ao objeto","aSimpleWorkflowWithSeriousControl":"Um processo simples, com controlo preciso.","goFromAFlatImageToALayeredPrintWithout":"Passe de uma imagem plana a uma impressão em camadas sem sair do navegador. Mantenha o controlo das decisões criativas, enquanto o Kromacut trata da geometria e do plano de impressão.","original2DArtwork":"Ilustração 2D original","finishedKromacutPrint":"Impressão Kromacut concluída","builtForRealPrints":"Feito para impressões reais","yourFilamentYourPaletteYourModel":"Os seus filamentos. A sua paleta. O seu modelo.","useManualSlicingWhenYouWantPixelLevelControlOr":"Use o modo manual para controlar cada píxel ou deixe a pintura automática procurar um empilhamento de cores a partir do perfil de filamentos calibrado. Em qualquer dos casos, verifique cada camada antes de exportar.","nonDestructiveImageAdjustments":"Ajustes de imagem não destrutivos","threeJsLayerByLayer3DPreview":"Pré-visualização 3D camada a camada com Three.js","calibratedAutoPaintWithDeterministicSearch":"Pintura automática calibrada com pesquisa determinística","slicerFriendlySTLAndMultiMaterial3MF":"STL prontos para o laminador e 3MF multimaterial","openTheTool":"Abrir a ferramenta","communityShowcase":"Galeria da comunidade","madeByTheKromacutCommunity":"Criado pela comunidade Kromacut.","finishedPrintsAndBehindTheScenesPreviewsFromPeopleCreating":"Impressões concluídas e imagens dos bastidores de quem cria com o Kromacut.","wantToShowcaseYourWorkOrContributeToKromacut":"Quer mostrar o seu trabalho ou contribuir para o Kromacut?","shareWhatYouMadeImproveTheProjectOrHelpThe":"Partilhe as suas criações, melhore o projeto ou ajude a comunidade a descobrir o que o Kromacut pode fazer.","openAPullRequest":"Propor uma contribuição","readyToMakeAFlatImagePhysical":"Pronto para dar forma física a uma imagem plana?","startWithAnImageFinishWithAPrint":"Comece com uma imagem. Termine com uma impressão.","desktopReleases":"Versões para ambiente de trabalho","openSourceToolsForTurningImagesIntoColorLayered3D":"Ferramentas de código aberto para transformar imagens em impressões 3D em camadas de cor.","footerNavigation":"Navegação do rodapé","supportKromacut":"Apoiar o Kromacut","privacy":"Privacidade","terms":"Termos","heroTitle":"Transforme píxeis em camadas imprimíveis.","creator":"Por {{creator}}","photos_one":"{{count}} fotografia","photos_other":"{{count}} fotografias","photos_many":"{{count}} fotografias","openPhoto":"Abrir {{title}} — {{kind}} {{index}} em tamanho completo","originalArtwork":"Obra original: {{title}}","themeLabel":"Tema: {{theme}}" + "importAnImage":"Importe uma imagem","dropInArtworkAPhotoOrAPixelDesignAnd":"Adicione uma ilustração, uma fotografia ou um desenho em píxeis e mantenha o original editável em segurança.","aColorful2DImageReadyToBeImportedIntoKromacut":"Uma imagem 2D colorida pronta a importar para o Kromacut","reducePaintColors":"Reduza e pinte as cores","tuneACompactPaletteManuallyOrLetAutoPaintMatch":"Ajuste manualmente uma paleta compacta ou deixe a pintura automática encontrar correspondências nos filamentos que possui.","aColorLayeredImagePreviewShowingSeparatePrintableColors":"Pré-visualização de uma imagem em camadas de cor, com cores imprimíveis separadas","previewEveryLayer":"Pré-visualize cada camada","inspectTheStackIn3DCheckTransitionsAndSeeExactly":"Examine o empilhamento em 3D, verifique as transições e veja exatamente onde ocorrem as trocas de filamento.","kromacut3DPreviewOfAStackedColorLayerPrint":"Pré-visualização 3D do Kromacut de uma impressão com camadas de cor empilhadas","exportAndPrint":"Exporte e imprima","downloadASlicerReadySTLOr3MFWithThePrint":"Transfira um STL ou 3MF pronto para o laminador, com o plano de impressão necessário para concluir o projeto.","aFinishedColorfulLayeredPrintMadeFromAKromacutWorkflow":"Uma impressão colorida em camadas concluída com o Kromacut","aColorfulHobbitsAndDragonsLayered3DPrint":"Uma impressão 3D colorida em camadas de Hobbits and Dragons","finishedPrint":"Impressão concluída","aSecondViewOfTheHobbitsAndDragonsLayered3D":"Outra vista da impressão 3D em camadas de Hobbits and Dragons","slicerPreviewOfTheMulticolorKingOfHeartsPlayingCard":"Pré-visualização no laminador da impressão multicolorida da carta King of Hearts","slicerPreview":"Pré-visualização no laminador","aMulticolorLayeredKingOfHeartsPlayingCardPrint":"Uma impressão multicolorida em camadas da carta King of Hearts","kromacutAutoPaintPredictionForALayeredHopePosterPrint":"Previsão da pintura automática do Kromacut para uma impressão em camadas do cartaz Hope","kromacutPrediction":"Previsão do Kromacut","autoPaintPredictionUsingTheAvailableCalibratedFilamentProfile":"Previsão da pintura automática com o perfil de filamentos calibrado disponível.","slicerPreviewOfTheLayeredHopePosterPrint":"Pré-visualização no laminador da impressão em camadas do cartaz Hope","thePhysicalLayerPlanPreparedForPrintingWithoutARed":"O plano de camadas físicas preparado para imprimir sem filamento vermelho.","finishedLayeredHopePosterPrintShowingOrangeAndPurpleBlue":"Impressão concluída em camadas do cartaz Hope com desvios de cor para laranja e azul-arroxeado","paleYellowMatchedMostCloselyRedPrintedOrangeCyanLeaned":"O amarelo-pálido foi o mais fiel; o vermelho saiu laranja, o ciano tendeu para azul-arroxeado e o preto reproduziu a pré-visualização, mas não o verde-azulado escuro do alvo.","kromacutAutoPaintPredictionForTheGoldenWavesOfThe":"Previsão da pintura automática do Kromacut para as ondas douradas do cartaz Titan","text10241527MmFootprint":"Área de 102,4 × 152,7 mm","autoPaintWithTheEightColorCalibratedFilamentProfile":"Pintura automática com o perfil calibrado de oito cores de filamento.","crealityPrintSlicerPreviewOfTheTitanPosterWithIts":"Pré-visualização no Creality Print do cartaz Titan com a torre de troca de filamento","crealityHi04MmNozzleAnd008Mm":"Creality Hi, bico de 0,4 mm e camadas de 0,08 mm. Estimativa do laminador: 2 h 58 min, 28,90 g incluindo purgas e torre, seis trocas de filamento.","finishedTitanLayeredPrintWithGoldenYellowAndOrangeWave":"Impressão Titan concluída em camadas, com reflexos de ondas amarelo-dourados e laranja sobre um fundo escuro","theCompletedPrintPhotographedByItsMakerLightingAndCamera":"A impressão concluída, fotografada pelo seu criador. A iluminação e o processamento da câmara podem afetar as cores apresentadas.","kromacutAutoPaintPredictionOfTheBatmanJiroKuwataBatmanga":"Previsão da pintura automática do Kromacut da capa Batman Jiro Kuwata Batmanga","text6581000MmFootprint":"Área de 65,8 × 100,0 mm","autoPaintWithDeepOptimizationEnhancedMatchingAndPreserveColor":"Pintura automática com otimização profunda, correspondência melhorada e preservação da separação de cores ativadas.","crealityPrintSlicerPreviewOfTheBatmangaCoverAndFilament":"Pré-visualização no Creality Print da capa Batmanga e da torre de troca de filamento","crealityHi04MmNozzleAnd008Mm2":"Creality Hi, bico de 0,4 mm e camadas de 0,08 mm. Estimativa do laminador: 3 h 12 min, 21,30 g incluindo purgas e torre, oito trocas de filamento.","finishedBatmangaLayeredPrintWithAYellowJapaneseTitleTan":"Impressão Batmanga concluída em camadas, com título japonês amarelo, fundo bege e Batman em preto e cinzento","theCompletedPrintPhotographedByItsMakerTheLargeTitle":"A impressão concluída, fotografada pelo seu criador. O título grande e a silhueta mantêm-se distintos; as letras pequenas e o sombreado fino perdem detalhe a este tamanho.","kromacutAutoPaintPredictionOfNarutoLookingUpAtA":"Previsão da pintura automática do Kromacut de Naruto a olhar para um céu azul","text11041902MmFootprint":"Área de 110,4 × 190,2 mm","autoPaintWithTheEightColorCalibratedFilamentProfile0":"Pintura automática com o perfil calibrado de oito cores de filamento, píxeis de 0,15 mm e malha suavizada ativada.","crealityPrintSlicerPreviewOfTheNarutoPrintWithSeven":"Pré-visualização no Creality Print da impressão Naruto com sete cores de filamento e uma torre de troca","crealityHi04MmNozzleAnd008Mm3":"Creality Hi, bico de 0,4 mm e camadas de 0,08 mm. Estimativa do laminador: 5 h 55 min, 72,10 g incluindo purgas e torre, nove trocas de filamento.","finishedNarutoLayeredPrintWithYellowHairOrangeClothingAnd":"Impressão Naruto concluída em camadas, com cabelo amarelo, roupa laranja e um céu azul-lavanda","theCompletedOvernightPrintPhotographedByItsMakerLightingAnd":"A impressão concluída durante a noite, fotografada pelo seu criador. A iluminação e o processamento da câmara podem afetar as cores apresentadas.","openAnyPhotoAtFullSize":"Abra qualquer fotografia em tamanho completo.","viewRedditPost":"Ver publicação no Reddit","communityLinks":"Ligações da comunidade","kromacutOnGitHub":"Kromacut no GitHub","joinKromacutOnDiscord":"Junte-se ao Kromacut no Discord","rKromacutOnReddit":"r/kromacut no Reddit","supportKromacutOnPatreon":"Apoie o Kromacut no Patreon","support":"Apoiar","system":"Sistema","dark":"Escuro","light":"Claro","changeTheme":"Alterar tema","theme":"Tema","skipToWorkflow":"Saltar para o fluxo de trabalho","mainNavigation":"Navegação principal","howItWorks":"Como funciona","docs":"Documentação","releases":"Versões","openKromacut":"Abrir Kromacut","mobileNavigation":"Navegação móvel","openSourceBrowserFirst":"Código aberto · pensado para o navegador","kromacutTransforms2DImagesIntoStackedColorLayered3DPrints":"O Kromacut transforma imagens 2D em impressões 3D com camadas de cor empilhadas. Prepare a paleta, encontre correspondências com filamentos reais, pré-visualize o resultado e exporte um modelo pronto para o laminador.","startCreating":"Começar a criar","readTheQuickStart":"Ler o guia de início rápido","freeToUse":"Utilização gratuita","browserDesktop":"Navegador e aplicação de ambiente de trabalho","sTL3MFExport":"Exportação STL e 3MF","text3DLayerPreview":"Pré-visualização 3D de camadas","readyToPrint":"pronto a imprimir","colorLayered3DPrintPreview":"Pré-visualização de impressão 3D em camadas de cor","paletteMapped":"Paleta associada","text4PrintableColors":"4 cores imprimíveis","fromImageToObject":"Da imagem ao objeto","aSimpleWorkflowWithSeriousControl":"Um processo simples, com controlo preciso.","goFromAFlatImageToALayeredPrintWithout":"Passe de uma imagem plana a uma impressão em camadas sem sair do navegador. Mantenha o controlo das decisões criativas, enquanto o Kromacut trata da geometria e do plano de impressão.","original2DArtwork":"Ilustração 2D original","finishedKromacutPrint":"Impressão Kromacut concluída","builtForRealPrints":"Feito para impressões reais","yourFilamentYourPaletteYourModel":"Os seus filamentos. A sua paleta. O seu modelo.","useManualSlicingWhenYouWantPixelLevelControlOr":"Use o modo manual para controlar cada píxel ou deixe a pintura automática procurar um empilhamento de cores a partir do perfil de filamentos calibrado. Em qualquer dos casos, verifique cada camada antes de exportar.","nonDestructiveImageAdjustments":"Ajustes de imagem não destrutivos","threeJsLayerByLayer3DPreview":"Pré-visualização 3D camada a camada com Three.js","calibratedAutoPaintWithDeterministicSearch":"Pintura automática calibrada com pesquisa determinística","slicerFriendlySTLAndMultiMaterial3MF":"STL prontos para o laminador e 3MF multimaterial","openTheTool":"Abrir a ferramenta","communityShowcase":"Galeria da comunidade","madeByTheKromacutCommunity":"Criado pela comunidade Kromacut.","finishedPrintsAndBehindTheScenesPreviewsFromPeopleCreating":"Impressões concluídas e imagens dos bastidores de quem cria com o Kromacut.","wantToShowcaseYourWorkOrContributeToKromacut":"Quer mostrar o seu trabalho ou contribuir para o Kromacut?","shareWhatYouMadeImproveTheProjectOrHelpThe":"Partilhe as suas criações, melhore o projeto ou ajude a comunidade a descobrir o que o Kromacut pode fazer.","openAPullRequest":"Propor uma contribuição","readyToMakeAFlatImagePhysical":"Pronto para dar forma física a uma imagem plana?","startWithAnImageFinishWithAPrint":"Comece com uma imagem. Termine com uma impressão.","desktopReleases":"Versões para ambiente de trabalho","openSourceToolsForTurningImagesIntoColorLayered3D":"Ferramentas de código aberto para transformar imagens em impressões 3D em camadas de cor.","footerNavigation":"Navegação do rodapé","supportKromacut":"Apoiar o Kromacut","privacy":"Privacidade","terms":"Termos","heroTitle":"Transforme píxeis em camadas imprimíveis.","creator":"Por {{creator}}","photos_one":"{{count}} fotografia","photos_other":"{{count}} fotografias","photos_many":"{{count}} fotografias","openPhoto":"Abrir {{title}} — {{kind}} {{index}} em tamanho completo","originalArtwork":"Obra original: {{title}}","themeLabel":"Tema: {{theme}}" }, "navigation":{"homeLabel":"Página inicial do Kromacut","openApp":"Abrir Kromacut","home":"Ir para a página inicial","docs":"Consultar a documentação","privacy":"Privacidade e dados locais","terms":"Termos e condições"}, "legal":{"privacyEyebrow":"Dados locais em primeiro lugar. Tudo explicado.","termsEyebrow":"Utilizar o Kromacut.","updated":"Atualizado em {{date}}","contents":"Nesta página"}, diff --git a/src/locales/ro/public.json b/src/locales/ro/public.json index 9fd2246d..e4c36341 100644 --- a/src/locales/ro/public.json +++ b/src/locales/ro/public.json @@ -110,7 +110,7 @@ "photos_one": "{{count}} fotografie", "photos_other": "{{count}} de fotografii", "openPhoto": "Deschide {{title}} — {{kind}} {{index}} la dimensiune completă", - "originalArtwork": "Ilustrație originală: {{title}}", + "originalArtwork": "Ilustrație originală: {{title}}", "themeLabel": "Temă: {{theme}}", "photos_few": "{{count}} fotografii" }, diff --git a/src/locales/uk/public.json b/src/locales/uk/public.json index 371daa04..accf27dc 100644 --- a/src/locales/uk/public.json +++ b/src/locales/uk/public.json @@ -110,7 +110,7 @@ "photos_one": "{{count}} фото", "photos_other": "{{count}} фото", "openPhoto": "Відкрити {{title}} — {{kind}} {{index}} у повному розмірі", - "originalArtwork": "Оригінальна робота: {{title}}", + "originalArtwork": "Оригінальна робота: {{title}}", "themeLabel": "Тема: {{theme}}", "photos_few": "{{count}} фото", "photos_many": "{{count}} фото" diff --git a/src/locales/zh-CN/public.json b/src/locales/zh-CN/public.json index 85653e96..85b93310 100644 --- a/src/locales/zh-CN/public.json +++ b/src/locales/zh-CN/public.json @@ -110,7 +110,7 @@ "photos_one": "{{count}}张照片", "photos_other": "{{count}}张照片", "openPhoto": "全尺寸打开{{title}} — {{kind}} {{index}}", - "originalArtwork": "原作:{{title}}", + "originalArtwork": "原作:{{title}}", "themeLabel": "主题:{{theme}}" }, "navigation": { diff --git a/tests/e2e/landing.spec.ts b/tests/e2e/landing.spec.ts index 2d712d16..5b4b99bb 100644 --- a/tests/e2e/landing.spec.ts +++ b/tests/e2e/landing.spec.ts @@ -60,7 +60,7 @@ test.describe('landing page smoke @smoke', () => { await batmanga.screenshot({ path: testInfo.outputPath(`batmanga-${width}.png`) }); const naruto = cards.filter({ has: page.getByRole('heading', { name: 'Naruto', exact: true }) }); await expect(naruto).toHaveCount(1); - await expect(naruto.locator('footer').getByRole('link', { name: 'Naruto artwork — source on Pinterest' })).toHaveAttribute('href', 'https://in.pinterest.com/pin/169870217190172931/'); + await expect(naruto.locator('footer').getByRole('link', { name: 'Naruto', exact: true })).toHaveAttribute('href', 'https://in.pinterest.com/pin/169870217190172931/'); await expect(naruto.locator('header').getByText('110.4 × 190.2 mm footprint')).toHaveCount(1); expect(await naruto.locator('figcaption > p:first-child').allTextContents()).toEqual(['Kromacut prediction', 'Slicer preview', 'Finished print']); expect(await naruto.locator('img').evaluateAll(images => images.map(image => image.getAttribute('alt')))).toEqual([ diff --git a/tests/e2e/sticky-mobile-cta.spec.ts b/tests/e2e/sticky-mobile-cta.spec.ts index 4e376a63..362ab2bb 100644 --- a/tests/e2e/sticky-mobile-cta.spec.ts +++ b/tests/e2e/sticky-mobile-cta.spec.ts @@ -89,8 +89,11 @@ test.describe('sticky mobile landing CTA @smoke', () => { await scrollToFooter(page); await expect(sticky).toBeVisible(); - await page.getByRole('navigation', { name: 'Footer navigation' }) - .getByRole('link', { name: 'Terms', exact: true }).focus(); + const footerNavigation = page.getByRole('navigation', { name: 'Footer navigation' }); + await footerNavigation.getByRole('link', { name: 'Terms', exact: true }).focus(); + // The footer language selector is the last control before the sticky action. + await page.keyboard.press('Tab'); + await expect(footerNavigation.getByTestId('app-language')).toBeFocused(); await page.keyboard.press('Tab'); const stickyAction = sticky.getByRole('link', { name: 'Open Kromacut', exact: true }); await expect(stickyAction).toBeFocused(); diff --git a/tests/i18n.test.ts b/tests/i18n.test.ts index 7e18cbb8..5266e34f 100644 --- a/tests/i18n.test.ts +++ b/tests/i18n.test.ts @@ -1,6 +1,6 @@ import test from 'node:test'; import assert from 'node:assert/strict'; -import { readFileSync } from 'node:fs'; +import { readdirSync, readFileSync } from 'node:fs'; import { matchLanguage, resolveLanguage, @@ -237,3 +237,17 @@ test('the current release feed provides real notes for every supported language' if (code !== 'en') assert.notEqual(localized?.text, feed.release_notes); } }); + +test('translation component tags avoid void HTML element names', () => { + // Trans parses , , etc. as void elements, so the wrapped text + // renders after the component and a translated link becomes empty. + const pairedVoidTag = + /<(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)>[^"]*?<\/\1>/; + for (const { code } of SUPPORTED_LANGUAGES) { + for (const file of readdirSync(`src/locales/${code}`)) { + if (!file.endsWith('.json')) continue; + const resource = readFileSync(`src/locales/${code}/${file}`, 'utf8'); + assert.doesNotMatch(resource, pairedVoidTag, `${code}/${file}`); + } + } +});