| 1 | //! Generated translation table (Dutch source text → English). Each entry is a |
| 2 | //! source string or format template; `{…}` holes are matched at runtime. |
| 3 | //! Regenerate entries when UI/error text changes; `i18n` tests enforce coverage. |
| 4 | pub const TABLE: &[(&str, &str)] = &[ |
| 5 | ("glTF JSON: {e}", "glTF JSON: {e}"), |
| 6 | ("mtllib ", "mtllib "), |
| 7 | ("bump ", "bump "), |
| 8 | ("norm ", "norm "), |
| 9 | ("kies een bestand", "choose a file"), |
| 10 | ("bijbehorende bestanden ontbreken naast het model: {}", "associated files are missing next to the model: {}"), |
| 11 | ("de bestandsnaam is niet bruikbaar", "the file name is not usable"), |
| 12 | ("{rel}: {e}", "{rel}: {e}"), |
| 13 | ("{rel}: geen gewoon bestand of te groot", "{rel}: not a regular file or too large"), |
| 14 | ("ongeldig pad", "invalid path"), |
| 15 | ("bestand te groot", "file too large"), |
| 16 | ("geen geldige GLB", "not a valid GLB"), |
| 17 | ("GLB JSON-chunk afgekapt", "GLB JSON chunk truncated"), |
| 18 | ("GLB JSON: {e}", "GLB JSON: {e}"), |
| 19 | ("verwijzing '{rel}' ligt buiten de modelmap; kopieer de bestanden naast het model", "reference '{rel}' points outside the model folder; copy the files next to the model"), |
| 20 | ("atlascel moet 1–256 pixels per as zijn", "atlas cell must be 1–256 pixels per axis"), |
| 21 | ("atlas zonder rijen", "atlas without rows"), |
| 22 | ("atlas zou {width}×{height} pixels worden ({columns} hoeken × {rows} frames); maximaal {MAX_ATLAS_DIM}×{MAX_ATLAS_DIM}. Verlaag fps, targetresolutie of animatieduur — de atlas wordt niet gesplitst", "the atlas would be {width}×{height} pixels ({columns} angles × {rows} frames); maximum {MAX_ATLAS_DIM}×{MAX_ATLAS_DIM}. Lower fps, target resolution or animation length — the atlas is never split"), |
| 23 | ("te veel frames voor de atlas", "too many frames for the atlas"), |
| 24 | ("ongeldig PNG-pad", "invalid PNG path"), |
| 25 | ("atlas: {rel} ontbreekt in de checksums", "atlas: {rel} is missing from the checksums"), |
| 26 | ("atlas: checksum van {rel} klopt niet meer", "atlas: checksum of {rel} no longer matches"), |
| 27 | ("atlas: {rel}: {e}", "atlas: {rel}: {e}"), |
| 28 | ("atlas: onverwachte depth", "atlas: unexpected depth"), |
| 29 | ("atlas {} · rij {}/{}", "atlas {} · row {}/{}"), |
| 30 | ("atlas-digest ontbreekt", "atlas digest missing"), |
| 31 | ("render.json mist {p}", "render.json lacks {p}"), |
| 32 | ("{p} is geen tekst", "{p} is not text"), |
| 33 | ("atlas: niet alle losse maps zijn geverifieerd", "atlas: not all loose maps have been verified"), |
| 34 | ("atlas · {name}", "atlas · {name}"), |
| 35 | (".ppda: depth_bits past niet bij format_version", ".ppda: depth_bits does not match format_version"), |
| 36 | (".ppda: {e}", ".ppda: {e}"), |
| 37 | (".ppda format_version {} wordt niet ondersteund (verwacht {PPDA_FORMAT_VERSION}; versie 1 = oud globaal dieptebereik)", ".ppda format_version {} is not supported (expected {PPDA_FORMAT_VERSION}; version 1 = old global depth range)"), |
| 38 | (".ppda: export past niet bij format_version", ".ppda: export does not match format_version"), |
| 39 | (".ppda: exportgegevens passen niet bij de set", ".ppda: export data does not match the set"), |
| 40 | (".ppda: ongeldig geslacht", ".ppda: invalid sex"), |
| 41 | (".ppda: ongeldig settype", ".ppda: invalid set type"), |
| 42 | (".ppda-bestandsnaam '{file_name}' past niet bij {}/{}", ".ppda file name '{file_name}' does not match {}/{}"), |
| 43 | (".ppda: project id/naam ongeldig", ".ppda: invalid project id/name"), |
| 44 | (".ppda: body_model_sha256 ongeldig", ".ppda: invalid body_model_sha256"), |
| 45 | (".ppda: equipment_preset_sha256 past niet bij settype", ".ppda: equipment_preset_sha256 does not match the set type"), |
| 46 | (".ppda: onbekende pivot_source", ".ppda: unknown pivot_source"), |
| 47 | (".ppda: camera-/dieptecontract wijkt af", ".ppda: camera/depth contract differs"), |
| 48 | (".ppda: ongeldige fps", ".ppda: invalid fps"), |
| 49 | (".ppda: pitches/yaws wijken af van −60…+60 × 0…330", ".ppda: pitches/yaws differ from −60…+60 × 0…330"), |
| 50 | (".ppda: clip-inventaris ongeldig", ".ppda: invalid clip inventory"), |
| 51 | (".ppda: te veel frames", ".ppda: too many frames"), |
| 52 | (".ppda: clips niet in bronvolgorde", ".ppda: clips not in source order"), |
| 53 | (".ppda: ongeldige clip-token '{}'", ".ppda: invalid clip token '{}'"), |
| 54 | (".ppda: clipnaam/duur ongeldig", ".ppda: invalid clip name/duration"), |
| 55 | (".ppda: frame_count past niet bij frames", ".ppda: frame_count does not match frames"), |
| 56 | (".ppda: frame-index of aantal hoeken ongeldig", ".ppda: invalid frame index or number of angles"), |
| 57 | (".ppda: celcoördinaten van {} f{k} p{} y{} kloppen niet", ".ppda: cell coordinates of {} f{k} p{} y{} are wrong"), |
| 58 | (".ppda: maps moet precies diffuse/normal/depth/specular bevatten", ".ppda: maps must contain exactly diffuse/normal/depth/specular"), |
| 59 | (".ppda mist map {}", ".ppda lacks map {}"), |
| 60 | (".ppda: atlasbestand '{}' is niet de verwachte naam in de exportmap", ".ppda: atlas file '{}' is not the expected name in the export folder"), |
| 61 | (".ppda: atlas sha256 ongeldig", ".ppda: invalid atlas sha256"), |
| 62 | (".ppda: {} atlasafmetingen {}x{} wijken af van raster {}x{}", ".ppda: {} atlas size {}x{} differs from grid {}x{}"), |
| 63 | (".ppda zonder map", ".ppda without folder"), |
| 64 | ("ongeldige .ppda-naam", "invalid .ppda name"), |
| 65 | (".ppda is geen UTF-8", ".ppda is not UTF-8"), |
| 66 | ("checksum mismatch voor '{}'", "checksum mismatch for '{}'"), |
| 67 | ("atlas PNG header: {e}", "atlas PNG header: {e}"), |
| 68 | ("{} atlas: afmetingen of kleurtype wijken af van .ppda", "{} atlas: size or color type differs from .ppda"), |
| 69 | ("geen .ppda in deze exportmap", "no .ppda in this export folder"), |
| 70 | ("meer dan één .ppda in deze exportmap", "more than one .ppda in this export folder"), |
| 71 | ("atlasset te groot om te laden ({decoded} bytes gedecodeerd)", "atlas set too large to load ({decoded} bytes decoded)"), |
| 72 | ("clip '{clip_token}' niet in .ppda", "clip '{clip_token}' not in .ppda"), |
| 73 | ("frame {frame} niet in clip '{clip_token}'", "frame {frame} not in clip '{clip_token}'"), |
| 74 | ("hoek p{pitch} y{yaw} niet in .ppda", "angle p{pitch} y{yaw} not in .ppda"), |
| 75 | ("atlascel {} f{} p{} y{} {} wijkt af van losse PNG", "atlas cell {} f{} p{} y{} {} differs from the loose PNG"), |
| 76 | ("{cells} atlascellen ≠ {} losse PNG's", "{cells} atlas cells ≠ {} loose PNGs"), |
| 77 | ("Vaste pivot Y {y:.3} m", "Fixed pivot Y {y:.3} m"), |
| 78 | ("Nekpivot {joint_name}: Y {y:.3} m (rustpose)", "Neck pivot {joint_name}: Y {y:.3} m (rest pose)"), |
| 79 | ("{reason}; centrum Y {y:.3} m als fallback — stel de pivot handmatig in", "{reason}; center Y {y:.3} m as fallback — set the pivot manually"), |
| 80 | ("Statisch lichaam zonder skeleton: geen nekbot", "Static body without skeleton: no neck bone"), |
| 81 | ("Geen nekbot gevonden", "No neck bone found"), |
| 82 | ("Meerdere losstaande/ongeldige nekketens", "Several separate/invalid neck chains"), |
| 83 | ("Ongeldige rustpose van nekbot", "Invalid rest pose of the neck bone"), |
| 84 | ("Nekhoogte buiten -10…10 m", "Neck height outside -10…10 m"), |
| 85 | ("linear: distance = depth_near + (sample/65535)*(depth_far-depth_near); 16-bit gray+alpha; clamped to [near,far]", "linear: distance = depth_near + (sample/65535)*(depth_far-depth_near); 16-bit gray+alpha; clamped to [near,far]"), |
| 86 | ("RGB-gepakt (nearest, lossless)", "RGB packed (nearest, lossless)"), |
| 87 | ("depth_encoding onbekend", "unknown depth_encoding"), |
| 88 | ("depth_bits moet 8 of 16 zijn", "depth_bits must be 8 or 16"), |
| 89 | ("{fmt} gray+alpha; t=gray/{}", "{fmt} gray+alpha; t=gray/{}"), |
| 90 | ("{fmt} RGBA bands; v=round(t*{}), R=min(v,M), G=clamp(v-M,0,M), B=clamp(v-2M,0,M), M={}; t=(R+G+B)/{}", "{fmt} RGBA bands; v=round(t*{}), R=min(v,M), G=clamp(v-M,0,M), B=clamp(v-2M,0,M), M={}; t=(R+G+B)/{}"), |
| 91 | ("{fmt} RGBA packed base {}; v=round(t*{}), R=v/B^2, G=(v/B)%B, B=v%B; nearest sampling, no mipmaps, lossless only", "{fmt} RGBA packed base {}; v=round(t*{}), R=v/B^2, G=(v/B)%B, B=v%B; nearest sampling, no mipmaps, lossless only"), |
| 92 | ("; distance=depth_near+t*(depth_far-depth_near), clamped", "; distance=depth_near+t*(depth_far-depth_near), clamped"), |
| 93 | ("depth rgb_bands: ongeldige bandvolgorde", "depth rgb_bands: invalid band order"), |
| 94 | ("geen lagen om te composeren", "no layers to compose"), |
| 95 | ("laagmaps hebben niet dezelfde afmetingen", "layer maps do not have the same size"), |
| 96 | ("afmetingen overlopen", "size overflow"), |
| 97 | ("buffergrootte past niet bij breedte×hoogte", "buffer size does not match width×height"), |
| 98 | ("depth-weergave past niet bij de cel", "depth display does not match the cell"), |
| 99 | ("{kind} verwacht RGBA8, kreeg depth16", "{kind} expects RGBA8, got depth16"), |
| 100 | ("depth verwacht gray-alpha16, kreeg RGBA8", "depth expects gray-alpha16, got RGBA8"), |
| 101 | ("project.id verschilt tussen exportsets", "project.id differs between export sets"), |
| 102 | ("geslacht verschilt tussen exportsets", "sex differs between export sets"), |
| 103 | ("body_model fingerprint verschilt", "body_model fingerprint differs"), |
| 104 | ("target-resolutie verschilt", "target resolution differs"), |
| 105 | ("fps verschilt", "fps differs"), |
| 106 | ("framing verschilt", "framing differs"), |
| 107 | ("near/far verschilt", "near/far differs"), |
| 108 | ("clip-inventaris verschilt", "clip inventory differs"), |
| 109 | ("lege afmetingen", "empty size"), |
| 110 | ("laag {index} ('{}') heeft andere afmetingen", "layer {index} ('{}') has a different size"), |
| 111 | ("laag {index} ('{}') heeft inconsistente buffers", "layer {index} ('{}') has inconsistent buffers"), |
| 112 | ("maximaal 255 lagen voor winner-index", "at most 255 layers for the winner index"), |
| 113 | ("composed buffers passen niet bij afmetingen", "composed buffers do not match the size"), |
| 114 | ("Map voor het nieuwe project", "Folder for the new project"), |
| 115 | ("Project laden", "Load project"), |
| 116 | ("Rigide equipment toevoegen", "Add rigid equipment"), |
| 117 | ("Rigide model", "Rigid model"), |
| 118 | ("Wavefront OBJ", "Wavefront OBJ"), |
| 119 | ("Equipment-preset importeren", "Import equipment preset"), |
| 120 | ("Paperdoll equipment", "Paperdoll equipment"), |
| 121 | ("bronbestand is geen regulier bestand", "source file is not a regular file"), |
| 122 | ("bronbestand groter dan {max_bytes} bytes", "source file larger than {max_bytes} bytes"), |
| 123 | ("Render alles{}: {} gerenderd, {} overgeslagen, {} mislukt", "Render all{}: {} rendered, {} skipped, {} failed"), |
| 124 | (" (geannuleerd)", " (cancelled)"), |
| 125 | (", {} niet gestart", ", {} not started"), |
| 126 | ("kies eerst een map waarin het project komt", "choose the folder for the project first"), |
| 127 | ("Nieuw project", "New project"), |
| 128 | ("nog niet gekozen", "not chosen yet"), |
| 129 | ("Map kiezen…", "Choose folder…"), |
| 130 | ("Wordt aangemaakt: {}", "Will be created: {}"), |
| 131 | ("{error} (ontbrekende bijbehorende bestanden: {})", "{error} (missing associated files: {})"), |
| 132 | ("3D: {error}", "3D: {error}"), |
| 133 | ("{relative}: {error}", "{relative}: {error}"), |
| 134 | ("{relative} staat in het project.", "{relative} is in the project."), |
| 135 | ("Onderdeel inclusief materiaal en textures ingesloten. Kies het doelbot.", "Part embedded including material and textures. Choose the target bone."), |
| 136 | ("geen project geopend", "no project open"), |
| 137 | ("dit lichaam heeft geen tekenbaar glTF/GLB-, FBX- of OBJ-model", "this body has no drawable glTF/GLB, FBX or OBJ model"), |
| 138 | ("geen projectmap", "no project folder"), |
| 139 | ("configureer eerst het equipment", "configure the equipment first"), |
| 140 | ("dit lichaam heeft geen modelpad", "this body has no model path"), |
| 141 | ("body-fingerprint: {e}", "body-fingerprint: {e}"), |
| 142 | ("equipment-fingerprint: {e}", "equipment-fingerprint: {e}"), |
| 143 | ("{name} · body", "{name} · body"), |
| 144 | ("geen lichaam ingesteld", "no body set"), |
| 145 | ("{} · equipment", "{} · equipment"), |
| 146 | ("equipment is niet geconfigureerd", "equipment is not configured"), |
| 147 | ("{name} · {}", "{name} · {}"), |
| 148 | ("geen lichaam ingesteld voor dit geslacht", "no body set for this sex"), |
| 149 | ("geannuleerd (hervatbaar)", "cancelled (resumable)"), |
| 150 | ("Render alles: item {}/{} · {}", "Render all: item {}/{} · {}"), |
| 151 | ("✔ {label}", "✔ {label}"), |
| 152 | ("overgeslagen: {label} — {reason}", "skipped: {label} — {reason}"), |
| 153 | ("mislukt: {label} — {reason}", "failed: {label} — {reason}"), |
| 154 | ("niet gestart: {label}", "not started: {label}"), |
| 155 | ("geen renderbare job voor deze weergave", "no renderable job for this view"), |
| 156 | ("Onderbroken renders:", "Interrupted renders:"), |
| 157 | ("Zoek onderbroken runs", "Look for interrupted runs"), |
| 158 | ("Alleen runs met exact dezelfde bronnen en instellingen kunnen verder.", "Only runs with exactly the same sources and settings can continue."), |
| 159 | ("geen gevonden voor deze set", "none found for this set"), |
| 160 | ("{} · {} · {} van {} PNG's vastgelegd", "{} · {} · {} of {} PNGs recorded"), |
| 161 | ("Glow-context ontbreekt", "Glow context missing"), |
| 162 | ("Batch opgeslagen: {path}", "Batch saved: {path}"), |
| 163 | ("Render klaar", "Render finished"), |
| 164 | ("Atlas bijsnijden:", "Trim atlas:"), |
| 165 | ("Semi-transparantie toegestaan (lichaam)", "Semi-transparency allowed (body)"), |
| 166 | ("Semi-transparantie toegestaan", "Semi-transparency allowed"), |
| 167 | ("lichaam", "body"), |
| 168 | ("equipment", "equipment"), |
| 169 | ("atlas · uitsnede bepalen", "atlas · finding crops"), |
| 170 | (".ppda: trimmed past niet bij format_version", ".ppda: trimmed does not match format_version"), |
| 171 | (".ppda: offset/frame/empty ontbreken", ".ppda: offset/frame/empty missing"), |
| 172 | ("Equipment toevoegen", "Add equipment"), |
| 173 | ("kies een OBJ- (met MTL/PNG), FBX- of geskind glTF/GLB-model", "choose an OBJ (with MTL/PNG), FBX or skinned glTF/GLB model"), |
| 174 | ("Onderdeel met skelet ingesloten; botten op naam gekoppeld. Controleer de botkoppeling.", "Part with skeleton embedded; bones linked by name. Check the bone links."), |
| 175 | ("Onderdeel toevoegen (OBJ/FBX/glTF)", "Add part (OBJ/FBX/glTF)"), |
| 176 | ("het model heeft geen skelet; kies OBJ of FBX voor een rigide onderdeel", "the model has no skeleton; choose OBJ or FBX for a rigid part"), |
| 177 | ("botkoppeling zonder skelet", "bone links without a skeleton"), |
| 178 | ("ongeldig equipmentskelet", "invalid equipment skeleton"), |
| 179 | ("equipmentskelet bevat een lus", "equipment skeleton contains a cycle"), |
| 180 | ("mesh verwijst naar onbekend equipmentbot", "mesh refers to an unknown equipment bone"), |
| 181 | ("ongeldige botkoppeling", "invalid bone link"), |
| 182 | ("botkoppeling verwijst naar onbekend bot", "bone link refers to an unknown bone"), |
| 183 | ("koppel minstens één equipmentbot aan een karakterbot", "link at least one equipment bone to a character bone"), |
| 184 | ("het equipmentmodel heeft geen of te veel vertices", "the equipment model has no or too many vertices"), |
| 185 | ("te veel botten in het equipmentmodel", "too many bones in the equipment model"), |
| 186 | ("ongeldige skinindex", "invalid skin index"), |
| 187 | ("ongeldige surface", "invalid surface"), |
| 188 | ("het equipmentmodel heeft geen tekenbare meshes", "the equipment model has no drawable meshes"), |
| 189 | ("dit onderdeel heeft geen skelet", "this part has no skeleton"), |
| 190 | ("dit equipmentbot bestaat niet", "this equipment bone does not exist"), |
| 191 | ("Botkoppeling: kies per equipmentbot een karakterbot (minstens één). Niet-gekoppelde botten volgen hun dichtstbijzijnde gekoppelde ouder.", "Bone links: choose a character bone per equipment bone (at least one). Unlinked bones follow their nearest linked parent."), |
| 192 | ("Koppel minstens één equipmentbot.", "Link at least one equipment bone."), |
| 193 | ("Automatisch invullen op naam", "Auto-fill by name"), |
| 194 | ("volgt ouder", "follows parent"), |
| 195 | ("Positie", "Position"), |
| 196 | ("Rotatie°", "Rotation°"), |
| 197 | ("glTF/GLB", "glTF/GLB"), |
| 198 | ("Render niet gelukt", "Render did not succeed"), |
| 199 | ("De renderworker stopte zonder eindresultaat.", "The render worker stopped without a final result."), |
| 200 | ("Annuleer render", "Cancel render"), |
| 201 | ("Vaste renderhoogte (m)", "Fixed render height (m)"), |
| 202 | ("Centrum Y (m)", "Center Y (m)"), |
| 203 | ("Pivot Y (m)", "Pivot Y (m)"), |
| 204 | ("Auto nek", "Auto neck"), |
| 205 | ("Wis handmatige pivot; gebruik rustpose-nekhoogte", "Clear manual pivot; use the rest-pose neck height"), |
| 206 | ("Omhullende animaties", "Fit animations"), |
| 207 | ("Eenmalig: hoogte en centrum zo dat alle clips, frames en 60 hoeken binnen het kader vallen (+5% marge). Daarna weer vast; geen autozoom.", "One-off: height and center so that all clips, frames and 60 angles fit inside the frame (+5% margin). Fixed again afterwards; no autozoom."), |
| 208 | ("Vast renderkader tonen", "Show fixed render frame"), |
| 209 | ("Dieptebereik (m)", "Depth range (m)"), |
| 210 | ("T-pose spanwijdte + één armlengte marge aan elke kant, rond de pivot", "T-pose span + one arm length margin on each side, around the pivot"), |
| 211 | ("near {near:.3} m · far {far:.3} m (vast voor alle frames, hoeken en equipment)", "near {near:.3} m · far {far:.3} m (fixed for all frames, angles and equipment)"), |
| 212 | ("Laad een glTF/GLB-, FBX- of OBJ-lichaam om de nekpivot te bepalen.", "Load a glTF/GLB, FBX or OBJ body to determine the neck pivot."), |
| 213 | ("{} niveaus", "{} levels"), |
| 214 | ("RGB-gepakt vereist nearest sampling, geen mipmaps en lossless opslag (geen texturecompressie).", "RGB packed requires nearest sampling, no mipmaps and lossless storage (no texture compression)."), |
| 215 | ("Er zijn wijzigingen die nog niet zijn opgeslagen.", "There are unsaved changes."), |
| 216 | ("Niet opslaan", "Don't save"), |
| 217 | ("Paperdoll Renderer", "Paperdoll Renderer"), |
| 218 | ("Open een bestaand character.ppd of kies een map voor een nieuw project.", "Open an existing character.ppd or choose a folder for a new project."), |
| 219 | ("Recent geopend", "Recently opened"), |
| 220 | ("{name} (niet gevonden)", "{name} (not found)"), |
| 221 | ("Kies man", "Choose male"), |
| 222 | ("Open man", "Open male"), |
| 223 | ("Kies vrouw", "Choose female"), |
| 224 | ("Open vrouw", "Open female"), |
| 225 | ("Render alles", "Render all"), |
| 226 | ("Rendert alle lichamen en daarna al het equipment per geldig geslacht, elk naar renders/<geslacht>-<settype>-atlas/.", "Renders all bodies and then all equipment per valid sex, each to renders/<geslacht>-<settype>-atlas/."), |
| 227 | ("Opent de gerenderde 2D-compositor over de resultaatmappen in renders/.", "Opens the rendered 2D compositor over the result folders in renders/."), |
| 228 | ("geen model", "no model"), |
| 229 | ("Importoverzicht {title}", "Import overview {title}"), |
| 230 | ("{}: {} vertices, {} driehoeken", "{}: {} vertices, {} triangles"), |
| 231 | ("materiaal {}", "material {}"), |
| 232 | ("texture {}: {}×{}", "texture {}: {}×{}"), |
| 233 | ("{} joints", "{} joints"), |
| 234 | ("Render alle hoeken", "Render all angles"), |
| 235 | ("Live 3D", "Live 3D"), |
| 236 | ("{reason}. Render alle hoeken maakt één bindpose-sample (clip000-bind) × 60 hoeken.", "{reason}. Render all angles makes one bind-pose sample (clip000-bind) × 60 angles."), |
| 237 | ("Open een glTF/GLB-, FBX- of OBJ-lichaam voor de live 3D-weergave.", "Open a glTF/GLB, FBX or OBJ body for the live 3D view."), |
| 238 | ("Laatste voltooide pass: {}", "Last completed pass: {}"), |
| 239 | ("pass texture installed", "pass texture installed"), |
| 240 | ("Bodies → {} → Equipment", "Bodies → {} → Equipment"), |
| 241 | ("Terug naar body", "Back to body"), |
| 242 | ("{} {model}", "{} {model}"), |
| 243 | ("Preset importeren", "Import preset"), |
| 244 | ("Terug naar equipment", "Back to equipment"), |
| 245 | ("Naam (kleine letters/cijfers/-/_)", "Name (lowercase letters/digits/-/_)"), |
| 246 | ("Ongeldige naam; 'body' is gereserveerd.", "Invalid name; 'body' is reserved."), |
| 247 | ("Onderdeel toevoegen (OBJ/FBX)", "Add part (OBJ/FBX)"), |
| 248 | ("Geldig voor:", "Valid for:"), |
| 249 | ("Kies minstens één geslacht.", "Choose at least one sex."), |
| 250 | ("Herkomst / licentie (max. 4096 UTF-8 bytes)", "Origin / license (max. 4096 UTF-8 bytes)"), |
| 251 | ("Herkomst/licentie is te lang.", "Origin/license is too long."), |
| 252 | ("Positie relatief aan bot (XYZ)", "Position relative to bone (XYZ)"), |
| 253 | ("Positie relatief aan bot (XYZ) — Man", "Position relative to bone (XYZ) — Male"), |
| 254 | ("Positie relatief aan bot (XYZ) — Vrouw", "Position relative to bone (XYZ) — Female"), |
| 255 | ("Rotatie in graden XYZ (Rz·Ry·Rx)", "Rotation in degrees XYZ (Rz·Ry·Rx)"), |
| 256 | ("Rotatie in graden XYZ (Rz·Ry·Rx) — Man", "Rotation in degrees XYZ (Rz·Ry·Rx) — Male"), |
| 257 | ("Rotatie in graden XYZ (Rz·Ry·Rx) — Vrouw", "Rotation in degrees XYZ (Rz·Ry·Rx) — Female"), |
| 258 | ("Positie, rotatie en botkoppeling gelden per geslacht.", "Position, rotation and bone links apply per sex."), |
| 259 | ("Open een geskind glTF/GLB- of FBX-lichaam voor dit geslacht om de botkoppeling over te nemen.", "Open a skinned glTF/GLB or FBX body for this sex to copy the bone mapping."), |
| 260 | ("Geen bot met dezelfde naam op het andere lichaam; kies de botten opnieuw.", "No bone with the same name on the other body; choose the bones again."), |
| 261 | ("kies een geskind lichaam voor dit geslacht om de botkoppeling over te nemen", "choose a skinned body for this sex to copy the bone mapping"), |
| 262 | ("{key} is ongeldig", "{key} is invalid"), |
| 263 | ("Glanssterkte zonder texture", "Gloss strength without texture"), |
| 264 | ("Kies shinymap (PNG)", "Choose shiny map (PNG)"), |
| 265 | ("Wis shinymap", "Clear shiny map"), |
| 266 | ("Bot: {}", "Bone: {}"), |
| 267 | ("nog niet gekoppeld", "not linked yet"), |
| 268 | ("Skeleton / botten", "Skeleton / bones"), |
| 269 | ("Geen botten", "No bones"), |
| 270 | ("{reason}. Botkoppeling is niet beschikbaar; kies een geskind glTF/GLB- of FBX-lichaam.", "{reason}. Bone linking is not available; choose a skinned glTF/GLB or FBX body."), |
| 271 | ("Rigbinding ontbreekt of wijkt af; selecteer een bot.", "Rig binding missing or different; select a bone."), |
| 272 | ("Open een geskind glTF/GLB- of FBX-lichaam voor deze rigbinding.", "Open a skinned glTF/GLB or FBX body for this rig binding."), |
| 273 | ("Verwijder onderdeel", "Remove part"), |
| 274 | ("Verwijder equipmentdefinitie", "Remove equipment definition"), |
| 275 | ("Render equipment · alle hoeken", "Render equipment · all angles"), |
| 276 | ("Niet beschikbaar: statisch lichaam zonder skeleton (geen bot om aan te hangen)", "Not available: static body without skeleton (no bone to attach to)"), |
| 277 | ("{reason}. Equipment koppelen en renderen is voor dit lichaam niet beschikbaar.", "{reason}. Linking and rendering equipment is not available for this body."), |
| 278 | ("geen clip in de voltooide body-export", "no clip in the completed body export"), |
| 279 | ("geen selectie", "no selection"), |
| 280 | ("Vernieuw exportsets", "Refresh export sets"), |
| 281 | ("{} voltooide exportset(s) (.ppda + atlassen)", "{} completed export set(s) (.ppda + atlases)"), |
| 282 | ("{name}: {why}", "{name}: {why}"), |
| 283 | ("{} run(s) zonder geldige .ppda overgeslagen", "{} run(s) without a valid .ppda skipped"), |
| 284 | ("Equipment (zelfde project/rig/contract)", "Equipment (same project/rig/contract)"), |
| 285 | ("Geen compatibele equipment-export.", "No compatible equipment export."), |
| 286 | ("Geen body-export met clips voor dit geslacht.", "No body export with clips for this sex."), |
| 287 | ("{token} ({frames}f)", "{token} ({frames}f)"), |
| 288 | ("{name} ({token}, {frames}f)", "{name} ({token}, {frames}f)"), |
| 289 | ("frame {}/{} t={:.2}s", "frame {}/{} t={:.2}s"), |
| 290 | ("Pas toe", "Apply"), |
| 291 | ("export-fps {}", "export fps {}"), |
| 292 | ("Resultaat = belichte compositie; andere standen tonen de map zoals opgeslagen (onbelicht, niet gedecodeerd).", "Result = lit composite; the other modes show the map as stored (unlit, not decoded)."), |
| 293 | ("Hoek (export)", "Angle (export)"), |
| 294 | ("Yaw −", "Yaw −"), |
| 295 | ("Yaw +", "Yaw +"), |
| 296 | ("yaw {}°", "yaw {}°"), |
| 297 | ("Pitch −", "Pitch −"), |
| 298 | ("Pitch +", "Pitch +"), |
| 299 | ("pitch {}°", "pitch {}°"), |
| 300 | ("Licht (vasthouden; °/s — alleen Resultaat)", "Light (hold; °/s — Result only)"), |
| 301 | ("Azimut −", "Azimuth −"), |
| 302 | ("Azimut +", "Azimuth +"), |
| 303 | ("Elevatie −", "Elevation −"), |
| 304 | ("Elevatie +", "Elevation +"), |
| 305 | ("Azimut wrapt 0…360°; elevatie geklemd −80…+80. Alleen Resultaat gebruikt licht.", "Azimuth wraps 0…360°; elevation clamped −80…+80. Only Result uses light."), |
| 306 | ("Geen samengesteld frame. Render eerst body (en optioneel equipment) via Render alle hoeken.", "No composed frame. Render the body (and optionally equipment) first with Render all angles."), |
| 307 | ("Ander project", "Other project"), |
| 308 | ("Koppel {label}", "Link {label}"), |
| 309 | ("ongeldig geslacht", "invalid sex"), |
| 310 | ("dit bot bestaat niet", "this bone does not exist"), |
| 311 | ("dit onderdeel bestaat niet", "this part does not exist"), |
| 312 | ("equipmentnaam: kleine letters/cijfers/-/_, geen spaties, en niet 'body'", "equipment name: lowercase letters/digits/-/_, no spaces, and not 'body'"), |
| 313 | ("herkomst/licentie is te lang of bevat NUL", "origin/license is too long or contains NUL"), |
| 314 | ("kies minstens één geslacht", "choose at least one sex"), |
| 315 | ("te veel onderdelen of bestanden", "too many parts or files"), |
| 316 | ("ongeldige, dubbele of te grote asset", "invalid, duplicate or too large asset"), |
| 317 | ("te veel assetdata", "too much asset data"), |
| 318 | ("ongeldige rigbinding", "invalid rig binding"), |
| 319 | ("ongeldige bronassetverwijzing", "invalid source asset reference"), |
| 320 | ("attachment verwijst naar onbekend bot", "attachment refers to an unknown bone"), |
| 321 | ("ongeldige attachment/transformatie", "invalid attachment/transform"), |
| 322 | ("ongeldige of te grote equipmentmesh", "invalid or too large equipment mesh"), |
| 323 | ("textures samen groter dan 64 MiB", "textures together larger than 64 MiB"), |
| 324 | ("textureverwijzing ontbreekt", "texture reference missing"), |
| 325 | ("presetmetadata is te groot", "preset metadata is too large"), |
| 326 | ("preset te groot", "preset too large"), |
| 327 | ("preset is te groot", "preset is too large"), |
| 328 | ("ongeldig equipmentbestand of bestand te groot", "invalid equipment file or file too large"), |
| 329 | ("onbekende equipmentversie", "unknown equipment version"), |
| 330 | ("beschadigde equipmentdata", "damaged equipment data"), |
| 331 | ("te veel assets", "too many assets"), |
| 332 | ("afgebroken asset", "truncated asset"), |
| 333 | ("ongeldige assetlengte", "invalid asset length"), |
| 334 | ("onverwachte extra equipmentdata", "unexpected extra equipment data"), |
| 335 | ("kies een regulier presetbestand", "choose a regular preset file"), |
| 336 | ("snapshot te groot", "snapshot too large"), |
| 337 | ("snapshot is geen regulier bestand", "snapshot is not a regular file"), |
| 338 | ("snapshotnaam bestaat met andere inhoud", "snapshot name exists with different content"), |
| 339 | ("snapshotmap ontbreekt", "snapshot folder missing"), |
| 340 | ("texture is groter dan 2048×2048", "texture is larger than 2048×2048"), |
| 341 | ("ongeldige texturegrootte", "invalid texture size"), |
| 342 | ("texture is te groot", "texture is too large"), |
| 343 | ("onbekende texturecodering", "unknown texture encoding"), |
| 344 | ("texture ontbreekt", "texture missing"), |
| 345 | ("rig wijkt af: kies de botten opnieuw voor dit lichaam", "rig differs: choose the bones again for this body"), |
| 346 | ("kies een bot voor dit onderdeel en geslacht", "choose a bone for this part and sex"), |
| 347 | ("het gekoppelde bot ontbreekt", "the linked bone is missing"), |
| 348 | ("kies een rigide OBJ-model met MTL/PNG-bijbestanden", "choose a rigid OBJ model with MTL/PNG side files"), |
| 349 | ("modelmap ontbreekt", "model folder missing"), |
| 350 | ("ongeldige modelnaam", "invalid model name"), |
| 351 | ("te veel onderdelen", "too many parts"), |
| 352 | ("disp ", "disp "), |
| 353 | ("ongeldige textureverwijzing", "invalid texture reference"), |
| 354 | ("ongeldig texturepad", "invalid texture path"), |
| 355 | ("te veel bijbestanden", "too many side files"), |
| 356 | ("assets samen te groot", "assets together too large"), |
| 357 | ("equipmentmesh is te groot", "equipment mesh is too large"), |
| 358 | ("ontbrekende diffuse texture", "missing diffuse texture"), |
| 359 | ("het OBJ-bestand heeft geen meshes", "the OBJ file has no meshes"), |
| 360 | ("kies een rigide OBJ- (met MTL/PNG) of FBX-model", "choose a rigid OBJ (with MTL/PNG) or FBX model"), |
| 361 | ("kies een rigide FBX-model", "choose a rigid FBX model"), |
| 362 | ("FBX laden mislukt: {}", "loading FBX failed: {}"), |
| 363 | ("FBX heeft geometrie genegeerd; bestand is niet tekenbaar", "FBX ignored geometry; the file is not drawable"), |
| 364 | ("assets samen te groot of te veel bijbestanden", "assets together too large or too many side files"), |
| 365 | ("FBX-mesh '{}' is geskinned; alleen rigide equipment wordt ondersteund", "FBX mesh '{}' is skinned; only rigid equipment is supported"), |
| 366 | ("FBX-mesh '{}' heeft morph targets; die worden niet ondersteund", "FBX mesh '{}' has morph targets; these are not supported"), |
| 367 | ("FBX-mesh bevat niet-eindige posities of normalen", "FBX mesh contains non-finite positions or normals"), |
| 368 | ("FBX-materiaal heeft een niet-eindige kleur", "FBX material has a non-finite color"), |
| 369 | ("FBX-texture heeft geen relatief pad en is niet ingebed", "FBX texture has no relative path and is not embedded"), |
| 370 | ("FBX-texturepad geweigerd: {e}", "FBX texture path refused: {e}"), |
| 371 | ("FBX-texture '{relative}': {e}", "FBX-texture '{relative}': {e}"), |
| 372 | ("FBX-texture is te groot", "FBX texture is too large"), |
| 373 | ("FBX-texture is geen bruikbare PNG (alleen PNG wordt ingesloten): {e}", "FBX texture is not a usable PNG (only PNG is embedded): {e}"), |
| 374 | ("het FBX-bestand heeft geen tekenbare meshes", "the FBX file has no drawable meshes"), |
| 375 | ("texturemap ontbreekt", "texture folder missing"), |
| 376 | ("ongeldige bestandsnaam", "invalid file name"), |
| 377 | ("onderdeel ontbreekt", "part missing"), |
| 378 | ("finite asset list", "finite asset list"), |
| 379 | ("ongeldige assetverwijzing", "invalid asset reference"), |
| 380 | ("asset verlaat de modelmap", "asset leaves the model folder"), |
| 381 | ("asset is geen regulier bestand", "asset is not a regular file"), |
| 382 | ("asset is te groot", "asset is too large"), |
| 383 | ("ongeldige OBJ-index", "invalid OBJ index"), |
| 384 | ("view (+Y up), PNG rows top-down", "view (+Y up), PNG rows top-down"), |
| 385 | ("camera on +Z", "camera on +Z"), |
| 386 | ("synthetic fixture", "synthetic fixture"), |
| 387 | ("run is geannuleerd of mislukt; complete.json ontbreekt of is ongeldig", "run is cancelled or failed; complete.json is missing or invalid"), |
| 388 | ("complete.json ontbreekt; de exportset is niet volledig", "complete.json is missing; the export set is not complete"), |
| 389 | ("render.json: {e}", "render.json: {e}"), |
| 390 | ("complete.json: {e}", "complete.json: {e}"), |
| 391 | ("complete.json png_sha256 telt niet gelijk aan png_files", "complete.json png_sha256 count does not equal png_files"), |
| 392 | ("png_files in complete.json wijkt af van render.json", "png_files in complete.json differs from render.json"), |
| 393 | ("PNG '{relative}' groter dan {MAX_PNG_BYTES} bytes", "PNG '{relative}' larger than {MAX_PNG_BYTES} bytes"), |
| 394 | ("checksum mismatch voor '{relative}'", "checksum mismatch for '{relative}'"), |
| 395 | ("ongeldig map-pad", "invalid map path"), |
| 396 | ("map '{key}' staat niet in complete.json", "map '{key}' is not in complete.json"), |
| 397 | ("onbekende map '{relative}'", "unknown map '{relative}'"), |
| 398 | ("geen map-token in '{relative}'", "no map token in '{relative}'"), |
| 399 | ("onbekend map-token '{token}' in '{relative}'", "unknown map token '{token}' in '{relative}'"), |
| 400 | ("verwachtte {} maar pad is {}", "expected {} but path is {}"), |
| 401 | ("depth_bits past niet bij render.json-schema", "depth_bits does not match the render.json schema"), |
| 402 | ("render.json schema 4: oude export met globaal dieptebereik 0,05–40 m; opnieuw renderen", "render.json schema 4: old export with global depth range 0.05–40 m; render again"), |
| 403 | ("render.json format_version {} wordt niet ondersteund (verwacht {OUTPUT_META_VERSION})", "render.json format_version {} is not supported (expected {OUTPUT_META_VERSION})"), |
| 404 | ("onbekende render.json status '{}'", "unknown render.json status '{}'"), |
| 405 | ("ongeldige setnaam", "invalid set name"), |
| 406 | ("target buiten 1–256", "target outside 1–256"), |
| 407 | ("ongeldige fps", "invalid fps"), |
| 408 | ("highres_scale wijkt af van 8", "highres_scale differs from 8"), |
| 409 | ("near/far wijkt af van het vaste dieptebereik van deze framing", "near/far differs from the fixed depth range of this framing"), |
| 410 | ("camera_distance wijkt af van contract", "camera_distance differs from the contract"), |
| 411 | ("pitches wijken af van −60,−30,0,+30,+60", "pitches differ from −60,−30,0,+30,+60"), |
| 412 | ("yaws wijken af van 0…330 stap 30", "yaws differ from 0…330 step 30"), |
| 413 | ("pass_order wijkt af van contract", "pass_order differs from the contract"), |
| 414 | ("saved_maps wijkt af van diffuse/depth/normal/specular", "saved_maps differs from diffuse/depth/normal/specular"), |
| 415 | ("clip-inventaris ongeldig", "invalid clip inventory"), |
| 416 | ("ongeldige clip-token '{}'", "invalid clip token '{}'"), |
| 417 | ("clipnaam te lang", "clip name too long"), |
| 418 | ("clip zonder frames", "clip without frames"), |
| 419 | ("ongeldige clipduur", "invalid clip duration"), |
| 420 | ("png_files buiten limiet", "png_files outside the limit"), |
| 421 | ("body_model.sha256 is geen SHA-256 hex", "body_model.sha256 is not SHA-256 hex"), |
| 422 | ("project.id ongeldig", "invalid project.id"), |
| 423 | ("project.name te lang", "project.name too long"), |
| 424 | ("equipment_preset past niet bij set of mist geldige sha256", "equipment_preset does not match the set or lacks a valid sha256"), |
| 425 | ("onbekende pivot_source.kind '{other}'", "unknown pivot_source.kind '{other}'"), |
| 426 | ("complete.json format_version {} wordt niet ondersteund", "complete.json format_version {} is not supported"), |
| 427 | ("complete.json status is niet 'complete'", "complete.json status is not 'complete'"), |
| 428 | ("te veel png_sha256-items", "too many png_sha256 items"), |
| 429 | ("identity.body_model_sha256 ongeldig", "invalid identity.body_model_sha256"), |
| 430 | ("identity.equipment_preset_sha256 ongeldig", "invalid identity.equipment_preset_sha256"), |
| 431 | ("png_sha256-sleutel '{path}' is geen .png", "png_sha256 key '{path}' is not a .png"), |
| 432 | ("png_sha256 voor '{path}' is geen SHA-256 hex", "png_sha256 for '{path}' is not SHA-256 hex"), |
| 433 | ("project.id mismatch", "project.id mismatch"), |
| 434 | ("project.name mismatch", "project.name mismatch"), |
| 435 | ("sex mismatch", "sex mismatch"), |
| 436 | ("set mismatch", "set mismatch"), |
| 437 | ("body_model sha256 mismatch", "body_model sha256 mismatch"), |
| 438 | ("target mismatch", "target mismatch"), |
| 439 | ("fps mismatch", "fps mismatch"), |
| 440 | ("framing mismatch", "framing mismatch"), |
| 441 | ("near/far mismatch", "near/far mismatch"), |
| 442 | ("saved_maps mismatch", "saved_maps mismatch"), |
| 443 | ("atlas.ppda naam/sha256 ongeldig", "invalid atlas.ppda name/sha256"), |
| 444 | ("atlas.maps moet vier maps bevatten", "atlas.maps must contain four maps"), |
| 445 | ("atlas mist {}", "atlas lacks {}"), |
| 446 | ("atlas-bestandsnaam/sha256 ongeldig", "invalid atlas file name/sha256"), |
| 447 | ("clips length mismatch", "clips length mismatch"), |
| 448 | ("clip inventory mismatch", "clip inventory mismatch"), |
| 449 | ("pivot_source mismatch", "pivot_source mismatch"), |
| 450 | ("equipment preset sha256 mismatch", "equipment preset sha256 mismatch"), |
| 451 | ("PNG-afmetingen buiten limiet", "PNG size outside the limit"), |
| 452 | ("PNG header: {e}", "PNG header: {e}"), |
| 453 | ("PNG-afmetingen {}x{} wijken af van target {expect_w}x{expect_h}", "PNG size {}x{} differs from target {expect_w}x{expect_h}"), |
| 454 | ("PNG groter dan limiet", "PNG larger than the limit"), |
| 455 | ("RGBA8-map heeft onverwacht kleurtype/bitdiepte", "RGBA8 map has an unexpected color type/bit depth"), |
| 456 | ("PNG buffergrootte onbekend of te groot", "PNG buffer size unknown or too large"), |
| 457 | ("PNG data: {e}", "PNG data: {e}"), |
| 458 | ("PNG buffergrootte klopt niet", "PNG buffer size is wrong"), |
| 459 | ("depth-map moet {} {}-bit zijn", "depth map must be {} {}-bit"), |
| 460 | ("depth buffergrootte klopt niet", "depth buffer size is wrong"), |
| 461 | ("transparante depth heeft niet-nul gray", "transparent depth has non-zero gray"), |
| 462 | ("transparante normal heeft niet-nul RGB", "transparent normal has non-zero RGB"), |
| 463 | ("normal lengte {len} buiten tolerantie", "normal length {len} out of tolerance"), |
| 464 | ("specular RGB-kanalen zijn niet gelijk", "specular RGB channels are not equal"), |
| 465 | ("runpad is geen map", "run path is not a folder"), |
| 466 | ("complete.json ontbreekt en er is geen .ppda; de exportset is niet volledig", "complete.json is missing and there is no .ppda; the export set is not complete"), |
| 467 | (".ppda bevat geen exportgegevens en complete.json ontbreekt", ".ppda has no export data and complete.json is missing"), |
| 468 | ("{name} ontbreekt", "{name} is missing"), |
| 469 | ("{} groter dan {max} bytes", "{} larger than {max} bytes"), |
| 470 | ("symlink geweigerd: {}", "symlink refused: {}"), |
| 471 | ("geen regulier bestand: {}", "not a regular file: {}"), |
| 472 | ("pad verlaat runmap: {}", "path leaves the run folder: {}"), |
| 473 | ("render.json mist project", "render.json lacks project"), |
| 474 | ("body sha", "body sha"), |
| 475 | ("FBX bevat geen skinned mesh met driehoeken", "FBX contains no skinned mesh with triangles"), |
| 476 | ("het FBX-pad is geen UTF-8", "the FBX path is not UTF-8"), |
| 477 | ("FBX openen mislukt: {err}", "opening FBX failed: {err}"), |
| 478 | ("FBX-bestand ontbreekt: {}", "FBX file missing: {}"), |
| 479 | ("FBX-bestand is groter dan {MAX_BYTES} bytes ({})", "FBX file is larger than {MAX_BYTES} bytes ({})"), |
| 480 | ("FBX laden mislukt ({}): {}", "loading FBX failed ({}): {}"), |
| 481 | ("FBX genormaliseerd met {FBX_BACKEND}; assen right-handed Y-up, eenheden meters.", "FBX normalized with {FBX_BACKEND}; axes right-handed Y-up, units meters."), |
| 482 | ("Dezelfde genormaliseerde scene voedt de live viewport en de productierender.", "The same normalized scene feeds the live viewport and the production render."), |
| 483 | ("animatiegegevens waren gemarkeerd als genegeerd door de loader", "animation data was marked as ignored by the loader"), |
| 484 | ("skinned mesh heeft geen skin deformer", "skinned mesh has no skin deformer"), |
| 485 | ("niet-ondersteunde FBX-skinningmethode {:?}; alleen linear/rigid", "unsupported FBX skinning method {:?}; only linear/rigid"), |
| 486 | ("FBX-skin heeft geen clusters", "FBX skin has no clusters"), |
| 487 | ("FBX-skeleton heeft {} joints; limiet is {MAX_JOINTS}", "FBX skeleton has {} joints; the limit is {MAX_JOINTS}"), |
| 488 | ("{} blend deformers genegeerd (morph targets niet ondersteund)", "{} blend deformers ignored (morph targets not supported)"), |
| 489 | ("FBX-mesh te groot ({} vertices, {} indices)", "FBX mesh too large ({} vertices, {} indices)"), |
| 490 | ("geen animatiestacks met transformkanalen gevonden", "no animation stacks with transform channels found"), |
| 491 | ("right-handed Y-up", "right-handed Y-up"), |
| 492 | ("node '{}' is een geometry-transform helper die niet is weggenomen; dit dialect wordt niet stil geaccepteerd", "node '{}' is a geometry-transform helper that was not removed; this dialect is not silently accepted"), |
| 493 | ("node '{}' heeft niet-eindige lokale transform", "node '{}' has a non-finite local transform"), |
| 494 | ("ufbx typed_id {} komt niet overeen met node-index {index}", "ufbx typed_id {} does not match node index {index}"), |
| 495 | ("skin cluster zonder bone_node", "skin cluster without bone_node"), |
| 496 | ("skin cluster bone heeft geen naam", "skin cluster bone has no name"), |
| 497 | ("inverse-bind van '{name}' is niet eindig", "inverse bind of '{name}' is not finite"), |
| 498 | ("materiaal '{}' heeft niet-eindige basiskleur", "material '{}' has a non-finite base color"), |
| 499 | ("ingebedde texture '{name}' kon niet gelezen worden: {err}", "embedded texture '{name}' could not be read: {err}"), |
| 500 | ("texture '{name}' is groter dan 2048×2048", "texture '{name}' is larger than 2048×2048"), |
| 501 | ("texture '{filename}' lezen mislukt: {err}", "reading texture '{filename}' failed: {err}"), |
| 502 | ("texture '{filename}' is geen geldige 8-bit PNG: {err}", "texture '{filename}' is not a valid 8-bit PNG: {err}"), |
| 503 | ("texture '{filename}' is groter dan 2048×2048", "texture '{filename}' is larger than 2048×2048"), |
| 504 | ("FBX-texture ontbreekt: {filename}", "FBX texture missing: {filename}"), |
| 505 | ("texture-referentie '{filename}' zonder bestand genegeerd", "texture reference '{filename}' without a file ignored"), |
| 506 | ("onveilig texturepad geweigerd: {relative}", "unsafe texture path refused: {relative}"), |
| 507 | ("textureafmeting ongeldig of >2048", "texture size invalid or >2048"), |
| 508 | ("texturebuffer te groot", "texture buffer too large"), |
| 509 | ("niet-ondersteund PNG-kleurtype {other:?}", "unsupported PNG color type {other:?}"), |
| 510 | ("materiaalpart zonder seed", "material part without seed"), |
| 511 | ("FBX-mesh heeft geen tekenbare driehoeken na triangulatie", "FBX mesh has no drawable triangles after triangulation"), |
| 512 | ("skin vertex-index {vertex} buiten bereik", "skin vertex index {vertex} out of range"), |
| 513 | ("skin weight verwijst naar onbekende cluster {}", "skin weight refers to unknown cluster {}"), |
| 514 | ("skin weight is niet eindig of negatief", "skin weight is not finite or negative"), |
| 515 | ("skin weights sommeren tot nul", "skin weights sum to zero"), |
| 516 | ("animatiestack '{}' bakken mislukt: {}", "baking animation stack '{}' failed: {}"), |
| 517 | ("gebakken node typed_id {node} buiten bereik ({} nodes)", "baked node typed_id {node} out of range ({} nodes)"), |
| 518 | ("gebakken vec3-kanaal heeft niet-eindige waarden", "baked vec3 channel has non-finite values"), |
| 519 | ("gebakken rotatiekanaal heeft niet-eindige waarden", "baked rotation channel has non-finite values"), |
| 520 | ("het projectpad is leeg of bevat een leeg teken", "the project path is empty or contains a NUL character"), |
| 521 | ("open een .ppd-bestand of een projectmap met character.ppd", "open a .ppd file or a project folder with character.ppd"), |
| 522 | ("geen projectbestand op {}", "no project file at {}"), |
| 523 | ("Content Type", "Content Type"), |
| 524 | ("HOME of XDG_DATA_HOME ontbreekt", "HOME or XDG_DATA_HOME missing"), |
| 525 | ("{command}: {e}", "{command}: {e}"), |
| 526 | ("{command} is mislukt", "{command} failed"), |
| 527 | ("het uitvoerbare pad moet UTF-8 zijn", "the executable path must be UTF-8"), |
| 528 | ("kies een absoluut pad zonder stuurtekens", "choose an absolute path without control characters"), |
| 529 | ("[Desktop Entry]\nType=Application\nName=Paperdoll Renderer\nExec=\"{escaped}\" %f\nIcon=paperdoll-renderer\nStartupWMClass=paperdoll-renderer\nTerminal=false\nCategories=Graphics;3DGraphics;\nMimeType={MIME_TYPE};\n", "[Desktop Entry]\nType=Application\nName=Paperdoll Renderer\nExec=\"{escaped}\" %f\nIcon=paperdoll-renderer\nStartupWMClass=paperdoll-renderer\nTerminal=false\nCategories=Graphics;3DGraphics;\nMimeType={MIME_TYPE};\n"), |
| 530 | ("OBJ + MTL + textures", "OBJ + MTL + textures"), |
| 531 | ("FBX drawable scene", "FBX drawable scene"), |
| 532 | ("niet gebouwd", "not built"), |
| 533 | ("Deze build leest glTF/GLB, FBX en OBJ+MTL, opent een .ppd-project en toont een live geskinde 3D-preview van glTF/GLB- en FBX-lichamen (FBX via een eenmalig genormaliseerde tekenbare/animeerbare scene) met al hun clips (zoals walk en attack), rigide bone-gebonden OBJ- of FBX-equipment en binaire .ppe-presets. Render maakt voor glTF/GLB- en FBX-lichamen alle clips × frames × 60 hoeken (5 pitches × 12 yaws) met vaste orthografische camera en diffuse/depth/normal/specular op doelresolutie, plus per maptype een atlas en een .ppda. De 2D-preview leest exports via .ppda en atlassen en composeert ze met depth-ordering, looping-playback, hoeknavigatie en continue lichtbediening.", "This build reads glTF/GLB, FBX and OBJ+MTL, opens a .ppd project and shows a live skinned 3D preview of glTF/GLB and FBX bodies (FBX via a once-normalized drawable/animatable scene) with all their clips (such as walk and attack), rigid bone-attached OBJ or FBX equipment and binary .ppe presets. Render produces, for glTF/GLB and FBX bodies, all clips × frames × 60 angles (5 pitches × 12 yaws) with a fixed orthographic camera and diffuse/depth/normal/specular at target resolution, plus one atlas per map type and a .ppda. The 2D preview reads exports through .ppda and atlases and composes them with depth ordering, looping playback, angle navigation and continuous light control."), |
| 534 | ("name: Paperdoll Renderer", "name: Paperdoll Renderer"), |
| 535 | ("phase: project-editor", "phase: project-editor"), |
| 536 | ("het venster kan niet openen; deze bibliotheken ontbreken: {}.", "the window cannot open; these libraries are missing: {}."), |
| 537 | ("Paperdoll Renderer\n\nGebruik:\n paperdoll-renderer startscherm\n paperdoll-renderer pad/naar/character.ppd open dat project\n paperdoll-renderer --install-desktop registreer Openen met op Linux\n paperdoll-renderer --status print de status en sluit\n paperdoll-renderer --help toon deze tekst\n paperdoll-renderer --preview-fixture open een voorbeeldproject op het mannelijke lichaam\n\n--status staat alleen. Een .ppd-pad of een projectmap opent character.ppd.", "Paperdoll Renderer\n\nUsage:\n paperdoll-renderer start screen\n paperdoll-renderer path/to/character.ppd open that project\n paperdoll-renderer --install-desktop register Open with on Linux\n paperdoll-renderer --status print the status and exit\n paperdoll-renderer --help show this text\n paperdoll-renderer --preview-fixture open a sample project on the male body\n\n--status stands alone. A .ppd path or a project folder opens character.ppd."), |
| 538 | ("geef één projectpad", "give one project path"), |
| 539 | ("--status staat alleen en neemt geen projectpad aan", "--status stands alone and takes no project path"), |
| 540 | ("--preview-fixture opent het voorbeeld en neemt geen projectpad aan", "--preview-fixture opens the sample and takes no project path"), |
| 541 | ("application icon png", "application icon png"), |
| 542 | ("png has no frame", "png has no frame"), |
| 543 | ("icon must decode to 8-bit rgba, got {:?} {:?}", "icon must decode to 8-bit rgba, got {:?} {:?}"), |
| 544 | ("icon frame size does not match rgba pixels", "icon frame size does not match rgba pixels"), |
| 545 | ("ufbx 0.11.5, meegecompileerd uit bron (geen losse libassimp)", "ufbx 0.11.5, compiled in from source (no separate libassimp)"), |
| 546 | ("het modelbestand ontbreekt: {path}", "the model file is missing: {path}"), |
| 547 | ("importeren van {path} is mislukt: {detail}", "importing {path} failed: {detail}"), |
| 548 | ("het bestand is groter dan {MAX_BYTES} bytes", "the file is larger than {MAX_BYTES} bytes"), |
| 549 | ("bestandstype '{other}' wordt niet gelezen. Gebruik .glb, .gltf, .fbx of .obj.", "file type '{other}' is not read. Use .glb, .gltf, .fbx or .obj."), |
| 550 | ("mesh '{}' heeft een niet-eindige positie", "mesh '{}' has a non-finite position"), |
| 551 | ("mesh '{}' heeft geen driehoeken", "mesh '{}' has no triangles"), |
| 552 | ("een skin-weight is niet eindig of is negatief", "a skin weight is not finite or is negative"), |
| 553 | ("het aantal inverse-bindmatrices wijkt af van het aantal joints", "the number of inverse bind matrices differs from the number of joints"), |
| 554 | ("een animatiesample is niet eindig", "an animation sample is not finite"), |
| 555 | ("clip {index} heeft geen naam", "clip {index} has no name"), |
| 556 | ("dit glTF-bestand heeft geen skeleton. Bot- en clipfuncties blijven uit tot er skins in het bestand staan.", "this glTF file has no skeleton. Bone and clip features stay off until the file contains skins."), |
| 557 | ("Lcl Translation", "Lcl Translation"), |
| 558 | ("Lcl Rotation", "Lcl Rotation"), |
| 559 | ("Lcl Scaling", "Lcl Scaling"), |
| 560 | ("het FBX-bestand bevat geen mesh", "the FBX file contains no mesh"), |
| 561 | ("FBX gelezen met {FBX_BACKEND}. Importoverzicht toont meshes/joints/clips; genormaliseerde drawable scene via fbx_scene. Live viewport en productie gebruiken nog glTF/GLB.", "FBX read with {FBX_BACKEND}. The import overview shows meshes/joints/clips; normalized drawable scene via fbx_scene. Live viewport and production still use glTF/GLB."), |
| 562 | ("de FBX-texture ontbreekt", "the FBX texture is missing"), |
| 563 | ("MTL ontbreekt of is onleesbaar: {err}", "MTL missing or unreadable: {err}"), |
| 564 | ("mesh '{}' heeft een ongeldige positie", "mesh '{}' has an invalid position"), |
| 565 | ("mesh '{}' is niet in driehoeken", "mesh '{}' is not triangulated"), |
| 566 | ("OBJ is een statische mesh voor equipment. Dit formaat heeft geen skeleton en levert geen skeletal animation clips.", "OBJ is a static mesh for equipment. This format has no skeleton and provides no skeletal animation clips."), |
| 567 | ("de texture uit de MTL ontbreekt", "the texture from the MTL is missing"), |
| 568 | ("texturepad '{value}' wijst buiten de projectmap", "texture path '{value}' points outside the project folder"), |
| 569 | ("glTF-verwijzing '{uri}' wordt niet gevolgd", "glTF reference '{uri}' is not followed"), |
| 570 | ("dit is geen GLB", "this is not a GLB"), |
| 571 | ("de GLB heeft geen JSON-chunk", "the GLB has no JSON chunk"), |
| 572 | ("het pad '{label}' wijst buiten de projectmap", "the path '{label}' points outside the project folder"), |
| 573 | ("kanaal zonder keyframes", "channel without keyframes"), |
| 574 | ("keyframetijden niet eindig of niet oplopend", "keyframe times not finite or not increasing"), |
| 575 | ("{} waarden voor {} keyframes (verwacht {per_key} per key)", "{} values for {} keyframes (expected {per_key} per key)"), |
| 576 | ("niet-eindige keyframewaarde", "non-finite keyframe value"), |
| 577 | ("FBX zonder skin: statische rustpose, geen skeleton of animaties", "FBX without skin: static rest pose, no skeleton or animations"), |
| 578 | ("OBJ heeft geen skeleton of animaties: statische pose", "OBJ has no skeleton or animations: static pose"), |
| 579 | ("{} is geen tekenbaar lichaam; gebruik .glb, .gltf, .fbx of .obj", "{} is not a drawable body; use .glb, .gltf, .fbx or .obj"), |
| 580 | ("statisch {format}-lichaam: {error}", "static {format} body: {error}"), |
| 581 | ("statisch lichaam: ongeldige driehoeksindices", "static body: invalid triangle indices"), |
| 582 | ("statisch lichaam: niet-eindige posities of normalen", "static body: non-finite positions or normals"), |
| 583 | ("statisch lichaam heeft te veel vertices", "static body has too many vertices"), |
| 584 | ("statisch {format}-lichaam heeft geen tekenbare driehoeken", "static {format} body has no drawable triangles"), |
| 585 | ("ongeldig glTF-bestand (parser weigerde het document)", "invalid glTF file (the parser refused the document)"), |
| 586 | ("het skeleton heeft {} joints; de preview stopt bij {MAX_JOINTS}", "the skeleton has {} joints; the preview stops at {MAX_JOINTS}"), |
| 587 | ("inverse-bindmatrices en joints verschillen", "inverse bind matrices and joints differ"), |
| 588 | ("glTF-nodehiërarchie bevat een cyclus", "glTF node hierarchy contains a cycle"), |
| 589 | ("singuliere joint-rustmatrix", "singular joint rest matrix"), |
| 590 | ("skinjoint buiten skin", "skin joint outside the skin"), |
| 591 | ("glTF-node heeft een singuliere transformatie", "glTF node has a singular transform"), |
| 592 | ("het glTF-bestand heeft geen tekenbare driehoeken", "the glTF file has no drawable triangles"), |
| 593 | ("glTF-mesh heeft niet-eindige posities na de node-transformatie", "glTF mesh has non-finite positions after the node transform"), |
| 594 | ("node {target}: geen uitvoerwaarden", "node {target}: no output values"), |
| 595 | ("node {target}: morph-target-gewichten (niet ondersteund)", "node {target}: morph target weights (not supported)"), |
| 596 | ("animatie '{}': ongeldig kanaal op node {target}: {reason}", "animation '{}': invalid channel on node {target}: {reason}"), |
| 597 | ("animatie {}", "animation {}"), |
| 598 | ("live/productie ondersteunt alleen driehoekprimitieven", "live/production supports only triangle primitives"), |
| 599 | ("glTF-primitive heeft niet-eindige posities", "glTF primitive has non-finite positions"), |
| 600 | ("glTF-primitive heeft ongeldige normalen", "glTF primitive has invalid normals"), |
| 601 | ("glTF-primitive heeft ongeldige joints/gewichten", "glTF primitive has invalid joints/weights"), |
| 602 | ("glTF-primitive heeft indices buiten het vertexbereik", "glTF primitive has indices outside the vertex range"), |
| 603 | ("ontbrekende bodytexture", "missing body texture"), |
| 604 | ("bodytexture moet 8-bit zijn", "body texture must be 8-bit"), |
| 605 | ("bodytexture groter dan 2048×2048", "body texture larger than 2048×2048"), |
| 606 | ("ongeldige glTF-node", "invalid glTF node"), |
| 607 | ("glTF-node heeft een niet-eindige transformatie", "glTF node has a non-finite transform"), |
| 608 | ("glTF-primitive heeft een onvolledige driehoek", "glTF primitive has an incomplete triangle"), |
| 609 | ("glTF zonder skin: statische pose, geen skeleton of animaties", "glTF without skin: static pose, no skeleton or animations"), |
| 610 | ("glTF zonder skin: statische pose; {animations} animatie(s) niet toegepast (geen skeleton)", "glTF without skin: static pose; {animations} animation(s) not applied (no skeleton)"), |
| 611 | ("Alleen diffuse", "Diffuse only"), |
| 612 | ("Alleen normal map", "Normal map only"), |
| 613 | ("Alleen depth map", "Depth map only"), |
| 614 | ("Alleen specular map", "Specular map only"), |
| 615 | ("oude run-map uit een eerdere versie; genegeerd (opnieuw renderen naar <sekse>-<settype>-atlas)", "old run folder from an earlier version; ignored (render again to <sekse>-<settype>-atlas)"), |
| 616 | ("mapnaam past niet bij inhoud ({})", "folder name does not match its content ({})"), |
| 617 | ("ontbrekende maps voor set '{set}' clip '{clip}' frame {frame} pitch {pitch} yaw {yaw}: {detail}", "missing maps for set '{set}' clip '{clip}' frame {frame} pitch {pitch} yaw {yaw}: {detail}"), |
| 618 | ("geen body-exportset voor dit geslacht", "no body export set for this sex"), |
| 619 | ("geen voltooide exportset voor dit equipment", "no completed export set for this equipment"), |
| 620 | ("geen voltooide body-export voor dit geslacht", "no completed body export for this sex"), |
| 621 | ("Geen animaties: statisch lichaam zonder skeleton (bindpose)", "No animations: static body without skeleton (bind pose)"), |
| 622 | ("Geen animaties: bindpose", "No animations: bind pose"), |
| 623 | ("pitch {pitch:.0}", "pitch {pitch:.0}"), |
| 624 | ("yaw {:.0}° / {} pitch {:.0}°", "yaw {:.0}° / {} pitch {:.0}°"), |
| 625 | ("Sleep om te draaien, scroll om te zoomen. Yaw 0 kijkt op de voorkant (+Z, glTF-standaard). De knoppen zetten de vijf pitches en de twaalf yaws.", "Drag to rotate, scroll to zoom. Yaw 0 looks at the front (+Z, glTF standard). The buttons set the five pitches and the twelve yaws."), |
| 626 | ("Geen lichaam geladen. Open een project met een .glb/.gltf/.fbx/.obj-lichaam of start met --preview-fixture.", "No body loaded. Open a project with a .glb/.gltf/.fbx/.obj body or start with --preview-fixture."), |
| 627 | ("preview gpu lock", "preview gpu lock"), |
| 628 | ("Vast renderkader", "Fixed render frame"), |
| 629 | ("native depth attachment ontbreekt: {native_bits} bits", "native depth attachment missing: {native_bits} bits"), |
| 630 | ("onvolledig offscreen depth-target", "incomplete offscreen depth target"), |
| 631 | ("achterste vlak overschrijft voorste: {near:?}", "back face overwrites front: {near:?}"), |
| 632 | ("depth niet gewist voor volgende frame: {next:?}", "depth not cleared for the next frame: {next:?}"), |
| 633 | ("draw-order afhankelijke occlusie: {near:?} / {reverse:?}", "draw-order dependent occlusion: {near:?} / {reverse:?}"), |
| 634 | ("equipment wist body-depth: {hidden:?}", "equipment clears body depth: {hidden:?}"), |
| 635 | ("voorste equipmenttexture ontbreekt: {textured:?}", "front equipment texture missing: {textured:?}"), |
| 636 | ("alpha-cutout bedekt body: {cutout:?}", "alpha cutout covers body: {cutout:?}"), |
| 637 | ("shinymap beïnvloedt specular niet correct: {shiny:?}/{matte:?}", "shiny map does not affect specular correctly: {shiny:?}/{matte:?}"), |
| 638 | ("GPU depth PASS: native {native_bits}-bit, front={near:?}, next-frame={next:?}, reversed={reverse:?}, behind-layer={hidden:?}, textured-front={textured:?}, alpha-cutout={cutout:?}, shiny={shiny:?}, matte={matte:?}", "GPU depth PASS: native {native_bits}-bit, front={near:?}, next-frame={next:?}, reversed={reverse:?}, behind-layer={hidden:?}, textured-front={textured:?}, alpha-cutout={cutout:?}, shiny={shiny:?}, matte={matte:?}"), |
| 639 | ("target-res / diffuse", "target-res / diffuse"), |
| 640 | ("fps moet 1–240 zijn", "fps must be 1–240"), |
| 641 | ("ongeldige of te lange animatie", "invalid or too long animation"), |
| 642 | ("te veel frames", "too many frames"), |
| 643 | ("te veel beelden", "too many images"), |
| 644 | ("te veel passes", "too many passes"), |
| 645 | ("te veel bestanden", "too many files"), |
| 646 | ("batch groter dan 500000 uitvoerbestanden", "batch larger than 500000 output files"), |
| 647 | ("ongeldig uitvoerpad/token", "invalid output path/token"), |
| 648 | ("ongeldige skinjoint", "invalid skin joint"), |
| 649 | ("ongeldige GPU-scène/afmetingen", "invalid GPU scene/size"), |
| 650 | ("ongeldige of te grote GPU-geometrie", "invalid or too large GPU geometry"), |
| 651 | ("ongeldige GPU-texture", "invalid GPU texture"), |
| 652 | ("productie-FBO onvolledig", "production FBO incomplete"), |
| 653 | ("highres moet 1–2048 pixels zijn (8× target)", "highres must be 1–2048 pixels (8× target)"), |
| 654 | ("shader ontbreekt", "shader missing"), |
| 655 | ("ongeldige GPU-geometrie", "invalid GPU geometry"), |
| 656 | ("productie-GL fout 0x{error:x}", "production GL error 0x{error:x}"), |
| 657 | ("te veel pixels", "too many pixels"), |
| 658 | ("ongeldige GPU-mapafmetingen/data", "invalid GPU map size/data"), |
| 659 | ("ongeldige target-afmetingen", "invalid target size"), |
| 660 | ("ongeldige 8× resolve-afmetingen", "invalid 8× resolve size"), |
| 661 | ("ongeldige depth/coverage in GPU-resultaat", "invalid depth/coverage in GPU result"), |
| 662 | ("ongeldig uitvoerpad", "invalid output path"), |
| 663 | ("uitvoermap ontbreekt", "output folder missing"), |
| 664 | ("uitvoer verlaat projectmap", "output leaves the project folder"), |
| 665 | ("onveilig uitvoerpad", "unsafe output path"), |
| 666 | ("ongeldige PNG-afmetingen", "invalid PNG size"), |
| 667 | ("ongeldige 16-bit depthafmetingen", "invalid 16-bit depth size"), |
| 668 | ("ongeldige depthafmetingen", "invalid depth size"), |
| 669 | ("8× highres vereist targetafmetingen 1–256", "8× highres requires target size 1–256"), |
| 670 | ("statisch lichaam zonder skeleton: equipment kan niet aan een bot hangen", "static body without skeleton: equipment cannot be attached to a bone"), |
| 671 | ("equipment niet geldig voor dit geslacht", "equipment not valid for this sex"), |
| 672 | ("equipment heeft geen onderdelen", "equipment has no parts"), |
| 673 | ("batch groter dan 16 GiB ongecomprimeerde targetmaps", "batch larger than 16 GiB of uncompressed target maps"), |
| 674 | ("project.id ongeldig voor export-identiteit", "project.id invalid for the export identity"), |
| 675 | ("project.name te lang voor export-identiteit", "project.name too long for the export identity"), |
| 676 | ("body_model.sha256 ongeldig", "invalid body_model.sha256"), |
| 677 | ("equipment fingerprint past niet bij de job", "equipment fingerprint does not match the job"), |
| 678 | ("clip -> frame (t=frame/fps) -> pitch -> yaw -> pass; ceil(duration*fps) snapped within 4*f32_epsilon*max(1,samples) of an integer to omit floating terminal duplicates; root motion retained", "clip -> frame (t=frame/fps) -> pitch -> yaw -> pass; ceil(duration*fps) snapped within 4*f32_epsilon*max(1,samples) of an integer to omit floating terminal duplicates; root motion retained"), |
| 679 | ("straight, opaque/cutout, coverage resolve", "straight, opaque/cutout, coverage resolve"), |
| 680 | ("unlit sRGB albedo × vertex color, linear-light detail resolve", "unlit sRGB albedo × vertex color, linear-light detail resolve"), |
| 681 | ("linear scalar; body defaults zero", "linear scalar; body defaults zero"), |
| 682 | ("Herstel: {note}", "Recovery: {note}"), |
| 683 | ("Oude onvoltooide render verwijderd: {name}", "Old unfinished render removed: {name}"), |
| 684 | ("Controle bestaande uitvoer: {done}/{all} PNG's", "Checking existing output: {done}/{all} PNGs"), |
| 685 | ("Let op: clip '{}': kanaal niet toegepast: {reason}", "Note: clip '{}': channel not applied: {reason}"), |
| 686 | ("{} {set} · {} f{frame}/{} · p{pitch} y{yaw}", "{} {set} · {} f{frame}/{} · p{pitch} y{yaw}"), |
| 687 | ("{pose} · al aanwezig, checksums kloppen", "{pose} · already present, checksums match"), |
| 688 | ("{pose} · highres", "{pose} · highres"), |
| 689 | ("GPU-service gesloten", "GPU service closed"), |
| 690 | ("GPU-service gestopt", "GPU service stopped"), |
| 691 | ("Waarschuwing: {pose} · {clamped} highres-pixels buiten dieptebereik {:.2}–{:.2} m (geklemd)", "Warning: {pose} · {clamped} highres pixels outside depth range {:.2}–{:.2} m (clamped)"), |
| 692 | ("{pose} · detail", "{pose} · detail"), |
| 693 | ("{pose} · target-res / diffuse", "{pose} · target-res / diffuse"), |
| 694 | ("{pose} · {map}", "{pose} · {map}"), |
| 695 | ("{pose} · {pass} (bestaand bestand behouden)", "{pose} · {pass} (existing file kept)"), |
| 696 | ("{pose} · {pass}", "{pose} · {pass}"), |
| 697 | ("checksumtelling {} wijkt af van geplande {} PNGs", "checksum count {} differs from planned {} PNGs"), |
| 698 | ("rendered this attempt; kept files from a resumed run are not re-counted", "rendered this attempt; kept files from a resumed run are not re-counted"), |
| 699 | ("Waarschuwing: diepte geklemd in {clamped_views} beelden ({clamped_pixels} highres-pixels buiten het vaste bereik)", "Warning: depth clamped in {clamped_views} images ({clamped_pixels} highres pixels outside the fixed range)"), |
| 700 | ("voltooide render faalt controle: {e}", "completed render fails verification: {e}"), |
| 701 | ("GPU map winner mismatch: color {:?} depth {} normal {:?} spec {}", "GPU map winner mismatch: color {:?} depth {} normal {:?} spec {}"), |
| 702 | ("GPU map winner depends on submission order", "GPU map winner depends on submission order"), |
| 703 | ("missing probe program", "missing probe program"), |
| 704 | ("diffuse is lit or alpha/vertex/texture lost under {light:?}: {pixel:?} vs {expected:?}", "diffuse is lit or alpha/vertex/texture lost under {light:?}: {pixel:?} vs {expected:?}"), |
| 705 | ("target map dimensions/normals invalid", "target map dimensions/normals invalid"), |
| 706 | ("flat normals are not geometry-derived: {:?}", "flat normals are not geometry-derived: {:?}"), |
| 707 | ("Production GPU maps PASS: nearest depth=0.25, normal=[128,128,255], specular=191, albedo sRGB texture×vertex={expected:?} (guards SRGB8_ALPHA8 upload, Tim t1066u), alpha preserved, diffuse identical under 3 opposed lights; target maps valid; missing source normals use actual GPU triangle derivatives", "Production GPU maps PASS: nearest depth=0.25, normal=[128,128,255], specular=191, albedo sRGB texture×vertex={expected:?} (guards SRGB8_ALPHA8 upload, Tim t1066u), alpha preserved, diffuse identical under 3 opposed lights; target maps valid; missing source normals use actual GPU triangle derivatives"), |
| 708 | ("Production PBO/sync parity PASS: diffuse/normal/specular/depth byte-equal; textured diffuse={expected:?}", "Production PBO/sync parity PASS: diffuse/normal/specular/depth byte-equal; textured diffuse={expected:?}"), |
| 709 | ("PNG '{relative}' ontbreekt", "PNG '{relative}' is missing"), |
| 710 | ("atlas: {rel} ontbreekt op schijf (checkpoint/legacy)", "atlas: {rel} missing on disk (checkpoint/legacy)"), |
| 711 | ("atlascel {} f{} p{} y{} {} wijkt af van export_set-cel", "atlas cell {} f{} p{} y{} {} differs from export_set cell"), |
| 712 | ("{cells} atlascellen ≠ {} png_sha256-items", "{cells} atlas cells ≠ {} png_sha256 items"), |
| 713 | ("checkpoint opschonen ({name}): {e}", "cleaning checkpoint ({name}): {e}"), |
| 714 | ("quarantaine bewaren {name}: {e}", "keeping quarantine {name}: {e}"), |
| 715 | ("PBO≠sync op {name}: sync {:?} vs pbo {:?}", "PBO≠sync on {name}: sync {:?} vs pbo {:?}"), |
| 716 | ("PBO≠sync op depth: sync {} vs pbo {}", "PBO≠sync on depth: sync {} vs pbo {}"), |
| 717 | ("diffuse sRGB albedo pad fout (sync): {pixel:?} vs {expected:?}", "diffuse sRGB albedo path wrong (sync): {pixel:?} vs {expected:?}"), |
| 718 | ("diffuse sRGB albedo pad fout (PBO): {:?} vs {expected:?}", "diffuse sRGB albedo path wrong (PBO): {:?} vs {expected:?}"), |
| 719 | ("Exporteer frame", "Export frame"), |
| 720 | ("Map voor frame-export", "Folder for frame export"), |
| 721 | ("Frame geëxporteerd ({} bestanden) naar {}", "Frame exported ({} files) to {}"), |
| 722 | ("renderkader: hoogte 0.1–10 m, centrum/pivot -10–10 m, dieptebereik 0,1–19 m", "render frame: height 0.1–10 m, center/pivot -10–10 m, depth range 0.1–19 m"), |
| 723 | ("dit project gebruikt format_version {found}; deze build leest alleen versie {supported}", "this project uses format_version {found}; this build reads only version {supported}"), |
| 724 | ("het projectbestand heeft een veld dat versie {FORMAT_VERSION} niet kent ({detail}). Het bestand is niet herschreven.", "the project file has a field that version {FORMAT_VERSION} does not know ({detail}). The file was not rewritten."), |
| 725 | ("het projectbestand is geen geldige versie {FORMAT_VERSION}: {detail}", "the project file is not a valid version {FORMAT_VERSION}: {detail}"), |
| 726 | ("{message} ({path})", "{message} ({path})"), |
| 727 | ("dit project gebruikt format_version {}; deze build leest alleen versie {FORMAT_VERSION}", "this project uses format_version {}; this build reads only version {FORMAT_VERSION}"), |
| 728 | ("het project-id moet 1 tot 64 tekens zijn: letters, cijfers, '-' of '_'", "the project id must be 1 to 64 characters: letters, digits, '-' or '_'"), |
| 729 | ("de projectnaam moet 1 tot 80 tekens zijn, zonder stuurtekens", "the project name must be 1 to 80 characters, without control characters"), |
| 730 | ("het mannelijke model", "the male model"), |
| 731 | ("het vrouwelijke model", "the female model"), |
| 732 | ("maximaal {MAX_PROJECT_PRESETS} equipmentpresets per project", "at most {MAX_PROJECT_PRESETS} equipment presets per project"), |
| 733 | ("de preset '{preset}' is niet genormaliseerd", "the preset '{preset}' is not normalized"), |
| 734 | ("de preset '{clean}' staat dubbel in het project", "the preset '{clean}' appears twice in the project"), |
| 735 | ("een equipment-preset mag niet 'body' heten; dat is gereserveerd voor het lichaam", "an equipment preset may not be called 'body'; that is reserved for the body"), |
| 736 | ("character.ppd is het projectbestand, geen preset", "character.ppd is the project file, not a preset"), |
| 737 | ("preset '{preset}': {message}", "preset '{preset}': {message}"), |
| 738 | ("de uitvoermap is niet genormaliseerd", "the output folder is not normalized"), |
| 739 | ("de uitvoermap moet een submap zijn, niet de projectmap zelf", "the output folder must be a subfolder, not the project folder itself"), |
| 740 | ("de uitvoermap mag niet het .ppd-bestand zijn", "the output folder may not be the .ppd file"), |
| 741 | ("de uitvoermap '{clean}' mag de bron '{source}' niet bevatten", "the output folder '{clean}' may not contain the source '{source}'"), |
| 742 | ("uitvoermap: {message}", "output folder: {message}"), |
| 743 | ("de geschatte renderbuffer is {bytes} bytes; het maximum in deze versie is {MAX_ESTIMATE_BYTES}", "the estimated render buffer is {bytes} bytes; the maximum in this version is {MAX_ESTIMATE_BYTES}"), |
| 744 | ("breedte en hoogte lopen buiten de geheugenschatting van deze versie", "width and height exceed the memory estimate of this version"), |
| 745 | ("breedte en hoogte moeten groter zijn dan 0", "width and height must be greater than 0"), |
| 746 | ("breedte en hoogte mogen hoogstens {MAX_DIMENSION} zijn", "width and height may be at most {MAX_DIMENSION}"), |
| 747 | ("fps moet groter zijn dan 0", "fps must be greater than 0"), |
| 748 | ("fps mag hoogstens {MAX_FPS} zijn", "fps may be at most {MAX_FPS}"), |
| 749 | ("de wortel moet een object zijn", "the root must be an object"), |
| 750 | ("format_version ontbreekt", "format_version missing"), |
| 751 | ("format_version moet een geheel getal zijn", "format_version must be an integer"), |
| 752 | ("unknown field", "unknown field"), |
| 753 | ("geef het project een naam", "give the project a name"), |
| 754 | ("de projectnaam is te lang (maximaal 100 tekens)", "the project name is too long (at most 100 characters)"), |
| 755 | ("de projectnaam mag geen / \\ < > : \" | ? * of stuurtekens bevatten", "the project name may not contain / \\ < > : \" | ? * or control characters"), |
| 756 | ("de projectnaam mag niet op een punt eindigen", "the project name may not end in a dot"), |
| 757 | ("kies eerst een bestaande map waarin het project komt", "choose an existing folder for the project first"), |
| 758 | ("de map '{name}' bestaat al en is niet leeg; kies een andere naam", "the folder '{name}' already exists and is not empty; choose another name"), |
| 759 | ("er bestaat al een bestand '{name}'; kies een andere naam", "a file '{name}' already exists; choose another name"), |
| 760 | ("de projectmap is een bestand", "the project folder is a file"), |
| 761 | ("er staat al een character.ppd; open dat project in plaats van het te overschrijven", "there is already a character.ppd; open that project instead of overwriting it"), |
| 762 | ("kies een .ppd-bestand", "choose a .ppd file"), |
| 763 | ("openen is mislukt: {err}. Er is niets gewijzigd", "opening failed: {err}. Nothing was changed"), |
| 764 | ("kies een regulier .ppd-bestand", "choose a regular .ppd file"), |
| 765 | ("projectmanifest groter dan 4 MiB", "project manifest larger than 4 MiB"), |
| 766 | ("het .ppd-bestand heeft geen projectmap", "the .ppd file has no project folder"), |
| 767 | ("{label} mag niet character.ppd zijn", "{label} may not be character.ppd"), |
| 768 | ("{label} is niet genormaliseerd: '{value}'", "{label} is not normalized: '{value}'"), |
| 769 | ("{label}: {message}", "{label}: {message}"), |
| 770 | ("het pad is leeg", "the path is empty"), |
| 771 | ("gebruik '/' in projectpaden", "use '/' in project paths"), |
| 772 | ("een absoluut pad hoort niet in het .ppd-bestand; kies een pad binnen de projectmap", "an absolute path does not belong in the .ppd file; choose a path inside the project folder"), |
| 773 | ("het pad mag niet buiten de projectmap wijzen en geen lege segmenten hebben", "the path may not point outside the project folder and may not have empty segments"), |
| 774 | ("het pad bevat een leeg teken", "the path contains a NUL character"), |
| 775 | ("de presetnaam '{stem}' moet kleine letters, cijfers, '-' of '_' zijn, zonder spaties", "the preset name '{stem}' must be lowercase letters, digits, '-' or '_', without spaces"), |
| 776 | ("de uitvoermap '{}' is een bestand", "the output folder '{}' is a file"), |
| 777 | ("de uitvoermap '{}' bestaat nog niet", "the output folder '{}' does not exist yet"), |
| 778 | ("het bestand ontbreekt in de projectmap: {relative}", "the file is missing from the project folder: {relative}"), |
| 779 | ("het pad '{relative}' wijst buiten de projectmap", "the path '{relative}' points outside the project folder"), |
| 780 | ("de uitvoermap '{relative}' is een bestand", "the output folder '{relative}' is a file"), |
| 781 | ("het pad wijst buiten de projectmap", "the path points outside the project folder"), |
| 782 | ("het .ppd-bestand heeft geen map", "the .ppd file has no folder"), |
| 783 | ("het .ppd-bestand heeft geen naam", "the .ppd file has no name"), |
| 784 | ("opslaan is mislukt: {err}. Het vorige bestand is blijven staan", "saving failed: {err}. The previous file was kept"), |
| 785 | ("Geannuleerd; gedeeltelijke uitvoer behouden", "Cancelled; partial output kept"), |
| 786 | ("raw files", "raw files"), |
| 787 | ("opschonen geweigerd: render is niet voltooid", "cleanup refused: render is not complete"), |
| 788 | ("opschonen geweigerd: run.lock is bezet", "cleanup refused: run.lock is in use"), |
| 789 | ("opschonen {name}: {e}", "cleanup {name}: {e}"), |
| 790 | ("opschonen complete.json: {e}", "cleanup complete.json: {e}"), |
| 791 | ("run.lock is geen regulier bestand", "run.lock is not a regular file"), |
| 792 | ("deze run wordt op dit moment al gerenderd (run.lock bezet)", "this run is already being rendered (run.lock in use)"), |
| 793 | ("run.lock: {e}", "run.lock: {e}"), |
| 794 | ("progress.jsonl is geen regulier bestand", "progress.jsonl is not a regular file"), |
| 795 | ("{} is geen regulier bestand", "{} is not a regular file"), |
| 796 | ("quarantaine van {rel} mislukt: {e}", "quarantining {rel} failed: {e}"), |
| 797 | ("geen vrije quarantainenaam voor {rel}", "no free quarantine name for {rel}"), |
| 798 | ("archiveren van {name} mislukt: {e}", "archiving {name} failed: {e}"), |
| 799 | ("geen vrije archiefnaam voor {name}", "no free archive name for {name}"), |
| 800 | ("render.json ontbreekt", "render.json missing"), |
| 801 | ("huidige instellingen/bronnen passen niet bij deze run (verschil in: {})", "current settings/sources do not match this run (differences in: {})"), |
| 802 | ("runmap is geen gewone map", "run folder is not a plain folder"), |
| 803 | ("runmap ligt niet direct in de uitvoermap", "run folder is not directly inside the output folder"), |
| 804 | ("deze run is al voltooid (complete.json bestaat)", "this run is already complete (complete.json exists)"), |
| 805 | ("journal noemt een onbekend pad: {unknown}", "journal names an unknown path: {unknown}"), |
| 806 | ("map staat op de plaats van PNG {rel}", "folder in the place of PNG {rel}"), |
| 807 | ("wordt op dit moment gerenderd", "is being rendered right now"), |
| 808 | ("past niet meer bij de huidige instellingen/bronnen (verschil in: {})", "no longer matches the current settings/sources (differences in: {})"), |
| 809 | ("oude onvoltooide render {name}: {e}", "old unfinished render {name}: {e}"), |
| 810 | ("oude resultaatmap opzijzetten: {e}", "moving the old result folder aside: {e}"), |
| 811 | ("nieuwe resultaatmap plaatsen: {e}", "placing the new result folder: {e}"), |
| 812 | ("vorige resultaatmap {final_name} hersteld", "previous result folder {final_name} restored"), |
| 813 | ("voltooide render {name} alsnog geplaatst als {final_name}", "completed render {name} placed as {final_name} after all"), |
| 814 | ("Laad een project of maak een nieuwe projectmap.", "Load a project or create a new project folder."), |
| 815 | ("maximaal 64 equipmentpresets per project", "at most 64 equipment presets per project"), |
| 816 | ("equipmentpresets samen groter dan 64 MiB", "equipment presets together larger than 64 MiB"), |
| 817 | ("ongeldige equipmentnaam", "invalid equipment name"), |
| 818 | ("de naam gebruikt kleine letters, cijfers, '-' of '_', en is niet 'body'", "the name uses lowercase letters, digits, '-' or '_', and is not 'body'"), |
| 819 | ("die equipmentnaam bestaat al", "that equipment name already exists"), |
| 820 | ("Projectmap aangemaakt, met de testlichamen in assets/body.", "Project folder created, with the test bodies in assets/body."), |
| 821 | ("Project aangemaakt, met de testlichamen in assets/body.", "Project created, with the test bodies in assets/body."), |
| 822 | ("Project geopend.", "Project opened."), |
| 823 | ("er is geen project om op te slaan", "there is no project to save"), |
| 824 | ("ongeldig projectpad", "invalid project path"), |
| 825 | ("het bestand ligt buiten de projectmap", "the file is outside the project folder"), |
| 826 | ("kies een regulier bestand", "choose a regular file"), |
| 827 | ("presetbestand overschrijdt het bestands-/projectbudget", "preset file exceeds the file/project budget"), |
| 828 | ("legacy preset; kies een OBJ- of FBX-model om te configureren", "legacy preset; choose an OBJ or FBX model to configure"), |
| 829 | ("dubbele equipmentnaam", "duplicate equipment name"), |
| 830 | ("equipment '{}' heeft geen geldige naam", "equipment '{}' has no valid name"), |
| 831 | ("legacy preset groter dan 64 KiB", "legacy preset larger than 64 KiB"), |
| 832 | ("de afbeelding heeft geen pixels", "the image has no pixels"), |
| 833 | ("het lichaam heeft geen mesh", "the body has no mesh"), |
| 834 | ("Aanmaken", "Create"), |
| 835 | ("Animatie", "Animation"), |
| 836 | ("Annuleren", "Cancel"), |
| 837 | ("Breedte", "Width"), |
| 838 | ("Depth-map", "Depth map"), |
| 839 | ("Equipment-configuratie", "Equipment configuration"), |
| 840 | ("Geslacht", "Sex"), |
| 841 | ("Glanssterkte", "Gloss strength"), |
| 842 | ("Grijs", "Gray"), |
| 843 | ("Hervat", "Resume"), |
| 844 | ("Hoogte", "Height"), |
| 845 | ("Lichaamsmodel", "Body model"), |
| 846 | ("Man", "Male"), |
| 847 | ("Map", "Folder"), |
| 848 | ("Naam", "Name"), |
| 849 | ("Nieuw", "New"), |
| 850 | ("Opgeslagen.", "Saved."), |
| 851 | ("Opslaan", "Save"), |
| 852 | ("Paperdoll-project", "Paperdoll project"), |
| 853 | ("Pauze", "Pause"), |
| 854 | ("RGB-banden", "RGB bands"), |
| 855 | ("Resultaat", "Result"), |
| 856 | ("Shinymap", "Shiny map"), |
| 857 | ("Snelheid", "Speed"), |
| 858 | ("Speel", "Play"), |
| 859 | ("Terug", "Back"), |
| 860 | ("Vrouw", "Female"), |
| 861 | ("Weergave", "View"), |
| 862 | ("Wijzigingen", "Changes"), |
| 863 | ("achterkant", "back"), |
| 864 | ("linkerzijde", "left side"), |
| 865 | ("rechterzijde", "right side"), |
| 866 | ("voorkant", "front"), |
| 867 | ("automatisch", "automatic"), |
| 868 | ("doelresolutie", "target resolution"), |
| 869 | ("man", "male"), |
| 870 | ("vrouw", "female"), |
| 871 | ("nieuw", "new"), |
| 872 | ("Instellingen", "Settings"), |
| 873 | ("Taal", "Language"), |
| 874 | ("Sluiten", "Close"), |
| 875 | ("Project aangemaakt, met de standaardlichamen in assets/body/male en female.", "Project created, with the default bodies in assets/body/male and female."), |
| 876 | ("body-UV niet volgens glTF (v=0 boven): {body_uv:?}", "body UV not per glTF (v=0 at top): {body_uv:?}"), |
| 877 | ("equipment-UV verkeerd georiënteerd: {equipment_uv:?}", "equipment UV wrongly oriented: {equipment_uv:?}"), |
| 878 | ("GPU depth PASS: native {native_bits}-bit, front={near:?}, next-frame={next:?}, reversed={reverse:?}, behind-layer={hidden:?}, textured-front={textured:?}, alpha-cutout={cutout:?}, shiny={shiny:?}, matte={matte:?}, body-surface texture×factor={surface_front:?}, body-surface factor-only={surface_swap:?}, body-uv-top={body_uv:?}, equipment-uv-bottom={equipment_uv:?}", "GPU depth PASS: native {native_bits}-bit, front={near:?}, next-frame={next:?}, reversed={reverse:?}, behind-layer={hidden:?}, textured-front={textured:?}, alpha-cutout={cutout:?}, shiny={shiny:?}, matte={matte:?}, body-surface texture×factor={surface_front:?}, body-surface factor-only={surface_swap:?}, body-uv-top={body_uv:?}, equipment-uv-bottom={equipment_uv:?}"), |
| 879 | ("Auto midden", "Auto centre"), |
| 880 | ("Wis handmatige pivot; gebruik het midden van het model (rustpose)", "Clear manual pivot; use the model's centre (rest pose)"), |
| 881 | ("Laad een glTF/GLB-, FBX- of OBJ-lichaam om de pivot te bepalen.", "Load a glTF/GLB, FBX or OBJ body to determine the pivot."), |
| 882 | ("Pivot in het midden van het model: Y {y:.3} m (rustpose)", "Pivot at the model's centre: Y {y:.3} m (rest pose)"), |
| 883 | ("Model zonder geldige geometrie", "Model without valid geometry"), |
| 884 | ("voorste materiaal niet als texture × factor getekend: {surface_front:?}", "front material not drawn as texture × factor: {surface_front:?}"), |
| 885 | ("materiaal per primitive verwisseld: {surface_swap:?}", "material per primitive swapped: {surface_swap:?}"), |
| 886 | ("GPU depth PASS: native {native_bits}-bit, front={near:?}, next-frame={next:?}, reversed={reverse:?}, behind-layer={hidden:?}, textured-front={textured:?}, alpha-cutout={cutout:?}, shiny={shiny:?}, matte={matte:?}, body-surface texture×factor={surface_front:?}, body-surface factor-only={surface_swap:?}", "GPU depth PASS: native {native_bits}-bit, front={near:?}, next-frame={next:?}, reversed={reverse:?}, behind-layer={hidden:?}, textured-front={textured:?}, alpha-cutout={cutout:?}, shiny={shiny:?}, matte={matte:?}, body-surface texture×factor={surface_front:?}, body-surface factor-only={surface_swap:?}"), |
| 887 | ("BLEND-laag niet over het ondoorzichtige oppervlak gemengd: {blend_over:?}", "BLEND layer not blended over the opaque surface: {blend_over:?}"), |
| 888 | ("GPU depth PASS: native {native_bits}-bit, front={near:?}, next-frame={next:?}, reversed={reverse:?}, behind-layer={hidden:?}, textured-front={textured:?}, alpha-cutout={cutout:?}, shiny={shiny:?}, matte={matte:?}, body-surface texture×factor={surface_front:?}, body-surface factor-only={surface_swap:?}, body-uv-top={body_uv:?}, equipment-uv-bottom={equipment_uv:?}, blend-over={blend_over:?}", "GPU depth PASS: native {native_bits}-bit, front={near:?}, next-frame={next:?}, reversed={reverse:?}, behind-layer={hidden:?}, textured-front={textured:?}, alpha-cutout={cutout:?}, shiny={shiny:?}, matte={matte:?}, body-surface texture×factor={surface_front:?}, body-surface factor-only={surface_swap:?}, body-uv-top={body_uv:?}, equipment-uv-bottom={equipment_uv:?}, blend-over={blend_over:?}"), |
| 889 | ("atlas: checksum van {rel} (geheugen) klopt niet", "atlas: checksum of {rel} (memory) does not match"), |
| 890 | ("IO-queue gestopt", "IO queue stopped"), |
| 891 | ("IO-queue ontbreekt", "IO queue missing"), |
| 892 | ("IO-queue al gestopt", "IO queue already stopped"), |
| 893 | ("IO-queue gestopt zonder antwoord", "IO queue stopped without a reply"), |
| 894 | ("GPU-renderer gestopt", "GPU renderer stopped"), |
| 895 | ("{e}; {err}", "{e}; {err}"), |
| 896 | ("PBO-readback wachtstatus 0x{status:x}", "PBO readback wait status 0x{status:x}"), |
| 897 | ("PBO map mislukt", "PBO map failed"), |
| 898 | ("PBO depth-map mislukt", "PBO depth map failed"), |
| 899 | ("ongeldige highres-afmetingen", "invalid highres dimensions"), |
| 900 | ("GPU-antwoord ontbreekt", "GPU reply missing"), |
| 901 | ]; |