mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-31 23:58:21 +00:00
Merge PR #2343
# Conflicts: # crates/ui-egui/src/i18n/effects.rs # crates/ui-egui/src/i18n/ui.rs
This commit is contained in:
commit
83b4e36e9b
3 files changed
+1654
-3
No files matched your search
@@ -29,6 +29,13 @@
|
||||
//! `EXtractoR`, `IDentifier`, `Key Light` and `Unmult` stay in English as brand names, and
|
||||
//! `Face Measurements` / `Face Track Points` are EffectCraft's own effects, so their wording is
|
||||
//! ours.
|
||||
//!
|
||||
//! The French names are written from the meaning of the English ones, with the vocabulary of the
|
||||
//! French menus; they come from no other application's interface. Brand and coined names
|
||||
//! (`Cryptomatte`, `EXtractoR`, `IDentifier`, `Key Light`, `Unmult`, `Lumetri Color`, `Colorama`,
|
||||
//! `Minimax`, `Tritone`, `Vibrance`, `Vegas`) and the whole `CC` series stay in English; a series
|
||||
//! tag that prefixes a descriptive name (`VR`, `OCIO`, `PS`, `HDR`) stays and follows the
|
||||
//! French word order (`Flou VR`, `Transformation CDL OCIO`).
|
||||
|
||||
use std::collections::HashMap;
|
||||
use std::sync::OnceLock;
|
||||
@@ -72,6 +79,7 @@ fn catalog(language: &str) -> Option<&'static Catalog> {
|
||||
static JAPANESE: Catalog = Catalog { rows: JAPANESE_EFFECTS, categories: JAPANESE_CATEGORIES, index: OnceLock::new() };
|
||||
static GEORGIAN_CATALOG: Catalog = Catalog { rows: GEORGIAN, categories: GEORGIAN_CATEGORIES, index: OnceLock::new() };
|
||||
static SWEDISH_CATALOG: Catalog = Catalog { rows: SWEDISH, categories: SWEDISH_CATEGORIES, index: OnceLock::new() };
|
||||
static FRENCH_CATALOG: Catalog = Catalog { rows: FRENCH, categories: FRENCH_CATEGORIES, index: OnceLock::new() };
|
||||
match language {
|
||||
"zh-hans" => Some(&SIMPLIFIED),
|
||||
"zh-hant" => Some(&TRADITIONAL),
|
||||
@@ -80,6 +88,7 @@ fn catalog(language: &str) -> Option<&'static Catalog> {
|
||||
"ja" => Some(&JAPANESE),
|
||||
"ka" => Some(&GEORGIAN_CATALOG),
|
||||
"sv" => Some(&SWEDISH_CATALOG),
|
||||
"fr" => Some(&FRENCH_CATALOG),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
@@ -1153,6 +1162,346 @@ const GEORGIAN_CATEGORIES: &[(&str, &str)] = &[
|
||||
("Utility", "დამხმარე"),
|
||||
];
|
||||
|
||||
/// French (`fr`): one row per effect, ids from [`SIMPLIFIED_CHINESE`]. Written from the meaning of the
|
||||
/// English names, with the terms the French menus use (calque, estampe for a matte, incrustation for
|
||||
/// keying). The `CC` series and the brand names stay in English, `VR`, `OCIO`, `PS` and `HDR` keep
|
||||
/// their tag after the translated name.
|
||||
const FRENCH: &[Row] = &[
|
||||
("ec.3d.channelextract", "3D Channel Extract", "Extraction de canal 3D"),
|
||||
("ec.3d.cryptomatte", "Cryptomatte", "Cryptomatte"),
|
||||
("ec.3d.depthmatte", "Depth Matte", "Estampe de profondeur"),
|
||||
("ec.3d.depthoffield", "Depth of Field", "Profondeur de champ"),
|
||||
("ec.3d.extractor", "EXtractoR", "EXtractoR"),
|
||||
("ec.3d.fog3d", "Fog 3D", "Brouillard 3D"),
|
||||
("ec.3d.identifier", "IDentifier", "IDentifier"),
|
||||
("ec.3d.idmatte", "ID Matte", "Estampe par ID"),
|
||||
("ec.audio.backwards", "Backwards", "À l’envers"),
|
||||
("ec.audio.basstreble", "Bass & Treble", "Graves et aigus"),
|
||||
("ec.audio.compressor", "Compressor", "Compresseur"),
|
||||
("ec.audio.delay", "Delay", "Retard"),
|
||||
("ec.audio.distortion", "Distortion", "Distorsion"),
|
||||
("ec.audio.flangechorus", "Flange & Chorus", "Flanger et chorus"),
|
||||
("ec.audio.gate", "Gate", "Porte de bruit"),
|
||||
("ec.audio.highlowpass", "High-Low Pass", "Passe-haut/passe-bas"),
|
||||
("ec.audio.modulator", "Modulator", "Modulateur"),
|
||||
("ec.audio.parametriceq", "Parametric EQ", "Égaliseur paramétrique"),
|
||||
("ec.audio.reverb", "Reverb", "Réverbération"),
|
||||
("ec.audio.stereomixer", "Stereo Mixer", "Mixeur stéréo"),
|
||||
("ec.audio.tone", "Tone", "Tonalité"),
|
||||
("ec.blur.bilateral", "Bilateral Blur", "Flou bilatéral"),
|
||||
("ec.blur.cameralens", "Camera Lens Blur", "Flou de l’objectif de la caméra"),
|
||||
("ec.blur.camerashakedeblur", "Camera-Shake Deblur", "Correction du flou de bougé de caméra"),
|
||||
("ec.blur.cccross", "CC Cross Blur", "CC Cross Blur"),
|
||||
("ec.blur.ccradial", "CC Radial Blur", "CC Radial Blur"),
|
||||
("ec.blur.ccradialfast", "CC Radial Fast Blur", "CC Radial Fast Blur"),
|
||||
("ec.blur.ccvector", "CC Vector Blur", "CC Vector Blur"),
|
||||
("ec.blur.channel", "Channel Blur", "Flou de canal"),
|
||||
("ec.blur.compound", "Compound Blur", "Flou composé"),
|
||||
("ec.blur.directional", "Directional Blur", "Flou directionnel"),
|
||||
("ec.blur.fastbox", "Fast Box Blur", "Flou rectangulaire rapide"),
|
||||
("ec.blur.gaussian", "Gaussian Blur", "Flou gaussien"),
|
||||
("ec.blur.radial", "Radial Blur", "Flou radial"),
|
||||
("ec.blur.reduceflicker", "Reduce Interlace Flicker", "Réduction du scintillement d’entrelacement"),
|
||||
("ec.blur.sharpen", "Sharpen", "Accentuation"),
|
||||
("ec.blur.smart", "Smart Blur", "Flou intelligent"),
|
||||
("ec.blur.unsharp", "Unsharp Mask", "Masque flou"),
|
||||
("ec.channel.arithmetic", "Arithmetic", "Arithmétique"),
|
||||
("ec.channel.blend", "Blend", "Fusion"),
|
||||
("ec.channel.calculations", "Calculations", "Calculs"),
|
||||
("ec.channel.cccomposite", "CC Composite", "CC Composite"),
|
||||
("ec.channel.combiner", "Channel Combiner", "Combinateur de canaux"),
|
||||
("ec.channel.compoundarithmetic", "Compound Arithmetic", "Arithmétique composée"),
|
||||
("ec.channel.invert", "Invert", "Inversion"),
|
||||
("ec.channel.minimax", "Minimax", "Minimax"),
|
||||
("ec.channel.removecolormatting", "Remove Color Matting", "Suppression du fond de couleur"),
|
||||
("ec.channel.setchannels", "Set Channels", "Définir les canaux"),
|
||||
("ec.channel.setmatte", "Set Matte", "Définir l’estampe"),
|
||||
("ec.channel.shiftchannels", "Shift Channels", "Décaler les canaux"),
|
||||
("ec.channel.solidcomposite", "Solid Composite", "Composite avec solide"),
|
||||
("ec.color.autocolor", "Auto Color", "Couleur automatique"),
|
||||
("ec.color.autocontrast", "Auto Contrast", "Contraste automatique"),
|
||||
("ec.color.autolevels", "Auto Levels", "Niveaux automatiques"),
|
||||
("ec.color.blackwhite", "Black & White", "Noir et blanc"),
|
||||
("ec.color.brightnesscontrast", "Brightness & Contrast", "Luminosité et contraste"),
|
||||
("ec.color.broadcast", "Broadcast Colors", "Couleurs de diffusion"),
|
||||
("ec.color.cccolorneutralizer", "CC Color Neutralizer", "CC Color Neutralizer"),
|
||||
("ec.color.cccoloroffset", "CC Color Offset", "CC Color Offset"),
|
||||
("ec.color.cckernel", "CC Kernel", "CC Kernel"),
|
||||
("ec.color.cctoner", "CC Toner", "CC Toner"),
|
||||
("ec.color.changecolor", "Change Color", "Changer la couleur"),
|
||||
("ec.color.changetocolor", "Change to Color", "Changer en couleur"),
|
||||
("ec.color.channelmixer", "Channel Mixer", "Mélangeur de canaux"),
|
||||
("ec.color.colorama", "Colorama", "Colorama"),
|
||||
("ec.color.colorbalance", "Color Balance", "Balance des couleurs"),
|
||||
("ec.color.colorbalancehls", "Color Balance (HLS)", "Balance des couleurs (TLS)"),
|
||||
("ec.color.colorlink", "Color Link", "Lien de couleur"),
|
||||
("ec.color.colorstabilizer", "Color Stabilizer", "Stabilisateur de couleur"),
|
||||
("ec.color.curves", "Curves", "Courbes"),
|
||||
("ec.color.equalize", "Equalize", "Égalisation"),
|
||||
("ec.color.exposure", "Exposure", "Exposition"),
|
||||
("ec.color.gammapedestalgain", "Gamma/Pedestal/Gain", "Gamma/Piédestal/Gain"),
|
||||
("ec.color.huesaturation", "Hue/Saturation", "Teinte/Saturation"),
|
||||
("ec.color.leavecolor", "Leave Color", "Conserver la couleur"),
|
||||
("ec.color.levels", "Levels", "Niveaux"),
|
||||
("ec.color.levelsic", "Levels (Individual Controls)", "Niveaux (contrôles individuels)"),
|
||||
("ec.color.lumetri", "Lumetri Color", "Lumetri Color"),
|
||||
("ec.color.ociocdl", "OCIO CDL Transform", "Transformation CDL OCIO"),
|
||||
("ec.color.ociocolorspace", "OCIO Color Space Transform", "Transformation d’espace colorimétrique OCIO"),
|
||||
("ec.color.ociodisplay", "OCIO Display Transform", "Transformation d’affichage OCIO"),
|
||||
("ec.color.ociofile", "OCIO File Transform", "Transformation de fichier OCIO"),
|
||||
("ec.color.ociolook", "OCIO Look Transform", "Transformation de look OCIO"),
|
||||
("ec.color.photofilter", "Photo Filter", "Filtre photo"),
|
||||
("ec.color.psarbitrarymap", "PS Arbitrary Map", "Carte arbitraire PS"),
|
||||
("ec.color.selectivecolor", "Selective Color", "Couleur sélective"),
|
||||
("ec.color.shadowhighlight", "Shadow/Highlight", "Ombres/Hautes lumières"),
|
||||
("ec.color.tint", "Tint", "Coloration"),
|
||||
("ec.color.tritone", "Tritone", "Tritone"),
|
||||
("ec.color.vibrance", "Vibrance", "Vibrance"),
|
||||
("ec.color.videolimiter", "Video Limiter", "Limiteur vidéo"),
|
||||
("ec.control.angle", "Angle Control", "Contrôle d’angle"),
|
||||
("ec.control.checkbox", "Checkbox Control", "Contrôle de case à cocher"),
|
||||
("ec.control.color", "Color Control", "Contrôle de couleur"),
|
||||
("ec.control.dropdown", "Dropdown Menu Control", "Contrôle de menu déroulant"),
|
||||
("ec.control.layer", "Layer Control", "Contrôle de calque"),
|
||||
("ec.control.point", "Point Control", "Contrôle de point"),
|
||||
("ec.control.point3d", "3D Point Control", "Contrôle de point 3D"),
|
||||
("ec.control.slider", "Slider Control", "Contrôle de curseur"),
|
||||
("ec.control.stereo3d", "Stereo 3D Controls", "Contrôles stéréo 3D"),
|
||||
("ec.distort.bezierwarp", "Bezier Warp", "Déformation Bézier"),
|
||||
("ec.distort.bulge", "Bulge", "Renflement"),
|
||||
("ec.distort.ccbender", "CC Bender", "CC Bender"),
|
||||
("ec.distort.ccbendit", "CC Bend It", "CC Bend It"),
|
||||
("ec.distort.ccblobbylize", "CC Blobbylize", "CC Blobbylize"),
|
||||
("ec.distort.ccflomotion", "CC Flo Motion", "CC Flo Motion"),
|
||||
("ec.distort.ccgriddler", "CC Griddler", "CC Griddler"),
|
||||
("ec.distort.cclens", "CC Lens", "CC Lens"),
|
||||
("ec.distort.ccpageturn", "CC Page Turn", "CC Page Turn"),
|
||||
("ec.distort.ccpowerpin", "CC Power Pin", "CC Power Pin"),
|
||||
("ec.distort.ccripplepulse", "CC Ripple Pulse", "CC Ripple Pulse"),
|
||||
("ec.distort.ccslant", "CC Slant", "CC Slant"),
|
||||
("ec.distort.ccsmear", "CC Smear", "CC Smear"),
|
||||
("ec.distort.ccsplit", "CC Split", "CC Split"),
|
||||
("ec.distort.ccsplit2", "CC Split 2", "CC Split 2"),
|
||||
("ec.distort.cctiler", "CC Tiler", "CC Tiler"),
|
||||
("ec.distort.cornerpin", "Corner Pin", "Épinglage d’angles"),
|
||||
("ec.distort.displacementmap", "Displacement Map", "Carte de déplacement"),
|
||||
("ec.distort.liquify", "Liquify", "Liquéfier"),
|
||||
("ec.distort.magnify", "Magnify", "Loupe"),
|
||||
("ec.distort.meshwarp", "Mesh Warp", "Déformation par maillage"),
|
||||
("ec.distort.mirror", "Mirror", "Miroir"),
|
||||
("ec.distort.offset", "Offset", "Décalage"),
|
||||
("ec.distort.opticscompensation", "Optics Compensation", "Compensation optique"),
|
||||
("ec.distort.polar", "Polar Coordinates", "Coordonnées polaires"),
|
||||
("ec.distort.puppet", "Puppet", "Marionnette"),
|
||||
("ec.distort.reshape", "Reshape", "Remodeler"),
|
||||
("ec.distort.ripple", "Ripple", "Ondulation"),
|
||||
("ec.distort.rollingshutterrepair", "Rolling Shutter Repair", "Correction de l’obturateur roulant"),
|
||||
("ec.distort.smear", "Smear", "Étalement"),
|
||||
("ec.distort.spherize", "Spherize", "Sphérisation"),
|
||||
("ec.distort.transform", "Transform", "Transformation"),
|
||||
("ec.distort.turbulentdisplace", "Turbulent Displace", "Déplacement turbulent"),
|
||||
("ec.distort.twirl", "Twirl", "Tourbillon"),
|
||||
("ec.distort.twirllegacy", "Twirl (Legacy)", "Tourbillon (hérité)"),
|
||||
("ec.distort.upscale", "Detail-preserving Upscale", "Agrandissement avec préservation des détails"),
|
||||
("ec.distort.warp", "Warp", "Déformation"),
|
||||
("ec.distort.warpstabilizer", "Warp Stabilizer", "Stabilisateur de déformation"),
|
||||
("ec.distort.wavewarp", "Wave Warp", "Déformation en vague"),
|
||||
("ec.generate.advancedlightning", "Advanced Lightning", "Foudre avancée"),
|
||||
("ec.generate.audiospectrum", "Audio Spectrum", "Spectre audio"),
|
||||
("ec.generate.audiowaveform", "Audio Waveform", "Forme d’onde audio"),
|
||||
("ec.generate.beam", "Beam", "Faisceau"),
|
||||
("ec.generate.ccgluegun", "CC Glue Gun", "CC Glue Gun"),
|
||||
("ec.generate.cclightburst", "CC Light Burst 2.5", "CC Light Burst 2.5"),
|
||||
("ec.generate.cclightrays", "CC Light Rays", "CC Light Rays"),
|
||||
("ec.generate.cclightsweep", "CC Light Sweep", "CC Light Sweep"),
|
||||
("ec.generate.ccthreads", "CC Threads", "CC Threads"),
|
||||
("ec.generate.cellpattern", "Cell Pattern", "Motif cellulaire"),
|
||||
("ec.generate.checkerboard", "Checkerboard", "Damier"),
|
||||
("ec.generate.circle", "Circle", "Cercle"),
|
||||
("ec.generate.ellipse", "Ellipse", "Ellipse"),
|
||||
("ec.generate.eyedropperfill", "Eyedropper Fill", "Remplissage par pipette"),
|
||||
("ec.generate.fill", "Fill", "Remplissage"),
|
||||
("ec.generate.fourcolor", "4-Color Gradient", "Dégradé à 4 couleurs"),
|
||||
("ec.generate.fractal", "Fractal", "Fractale"),
|
||||
("ec.generate.gradientramp", "Gradient Ramp", "Rampe de dégradé"),
|
||||
("ec.generate.grid", "Grid", "Grille"),
|
||||
("ec.generate.lensflare", "Lens Flare", "Reflet d’objectif"),
|
||||
("ec.generate.paintbucket", "Paint Bucket", "Pot de peinture"),
|
||||
("ec.generate.radiowaves", "Radio Waves", "Ondes radio"),
|
||||
("ec.generate.scribble", "Scribble", "Gribouillis"),
|
||||
("ec.generate.stroke", "Stroke", "Contour"),
|
||||
("ec.generate.vegas", "Vegas", "Vegas"),
|
||||
("ec.generate.writeon", "Write-on", "Écriture progressive"),
|
||||
("ec.key.advancedspill", "Advanced Spill Suppressor", "Suppresseur de débordement avancé"),
|
||||
("ec.key.ccsimplewireremoval", "CC Simple Wire Removal", "CC Simple Wire Removal"),
|
||||
("ec.key.colordifference", "Color Difference Key", "Incrustation par différence de couleur"),
|
||||
("ec.key.colorkey", "Color Key", "Incrustation couleur"),
|
||||
("ec.key.colorrange", "Color Range", "Plage de couleurs"),
|
||||
("ec.key.differencematte", "Difference Matte", "Estampe de différence"),
|
||||
("ec.key.extract", "Extract", "Extraction"),
|
||||
("ec.key.innerouter", "Inner/Outer Key", "Incrustation intérieure/extérieure"),
|
||||
("ec.key.keycleaner", "Key Cleaner", "Nettoyeur d’incrustation"),
|
||||
("ec.key.linearcolor", "Linear Color Key", "Incrustation couleur linéaire"),
|
||||
("ec.key.luma", "Luma Key", "Incrustation de luminance"),
|
||||
("ec.key.screen", "Screen Key", "Incrustation d’écran"),
|
||||
("ec.key.spill", "Spill Suppressor", "Suppresseur de débordement"),
|
||||
("ec.key.unmult", "Unmult", "Unmult"),
|
||||
("ec.keying.keylight", "Key Light", "Key Light"),
|
||||
("ec.matte.mattechoker", "Matte Choker", "Réducteur d’estampe"),
|
||||
("ec.matte.objectmatte", "Object Matte", "Estampe d’objet"),
|
||||
("ec.matte.refinehard", "Refine Hard Matte", "Affiner l’estampe nette"),
|
||||
("ec.matte.refinesoft", "Refine Soft Matte", "Affiner l’estampe douce"),
|
||||
("ec.matte.rotobrush", "Roto Brush & Refine Edge", "Roto Brush et affinage des bords"),
|
||||
("ec.matte.simplechoker", "Simple Choker", "Réducteur simple"),
|
||||
("ec.noise.addgrain", "Add Grain", "Ajouter du grain"),
|
||||
("ec.noise.curlnoise", "Curl Noise", "Bruit curl"),
|
||||
("ec.noise.dustscratches", "Dust & Scratches", "Poussières et rayures"),
|
||||
("ec.noise.fractal", "Fractal Noise", "Bruit fractal"),
|
||||
("ec.noise.matchgrain", "Match Grain", "Assortir le grain"),
|
||||
("ec.noise.median", "Median", "Médian"),
|
||||
("ec.noise.medianlegacy", "Median (Legacy)", "Médian (hérité)"),
|
||||
("ec.noise.noise", "Noise", "Bruit"),
|
||||
("ec.noise.noisealpha", "Noise Alpha", "Bruit alpha"),
|
||||
("ec.noise.noisehls", "Noise HLS", "Bruit TLS"),
|
||||
("ec.noise.noisehlsauto", "Noise HLS Auto", "Bruit TLS automatique"),
|
||||
("ec.noise.removegrain", "Remove Grain", "Supprimer le grain"),
|
||||
("ec.noise.turbulent", "Turbulent Noise", "Bruit turbulent"),
|
||||
("ec.obsolete.basic3d", "Basic 3D", "3D de base"),
|
||||
("ec.obsolete.basictext", "Basic Text", "Texte de base"),
|
||||
("ec.obsolete.gaussianlegacy", "Gaussian Blur (Legacy)", "Flou gaussien (hérité)"),
|
||||
("ec.obsolete.lightning", "Lightning", "Foudre"),
|
||||
("ec.obsolete.mochashape", "Mocha shape", "Forme Mocha"),
|
||||
("ec.obsolete.pathtext", "Path Text", "Texte sur tracé"),
|
||||
("ec.paint.paint", "Paint", "Peinture"),
|
||||
("ec.perspective.3dglasses", "3D Glasses", "Lunettes 3D"),
|
||||
("ec.perspective.bevelalpha", "Bevel Alpha", "Biseau alpha"),
|
||||
("ec.perspective.beveledges", "Bevel Edges", "Biseau des bords"),
|
||||
("ec.perspective.cameratracker", "3D Camera Tracker", "Suivi de caméra 3D"),
|
||||
("ec.perspective.cccylinder", "CC Cylinder", "CC Cylinder"),
|
||||
("ec.perspective.ccenvironment", "CC Environment", "CC Environment"),
|
||||
("ec.perspective.ccsphere", "CC Sphere", "CC Sphere"),
|
||||
("ec.perspective.ccspotlight", "CC Spotlight", "CC Spotlight"),
|
||||
("ec.perspective.dropshadow", "Drop Shadow", "Ombre portée"),
|
||||
("ec.perspective.radialshadow", "Radial Shadow", "Ombre radiale"),
|
||||
("ec.sim.carddance", "Card Dance", "Danse de cartes"),
|
||||
("ec.sim.caustics", "Caustics", "Caustiques"),
|
||||
("ec.sim.ccballaction", "CC Ball Action", "CC Ball Action"),
|
||||
("ec.sim.ccbubbles", "CC Bubbles", "CC Bubbles"),
|
||||
("ec.sim.ccdrizzle", "CC Drizzle", "CC Drizzle"),
|
||||
("ec.sim.cchair", "CC Hair", "CC Hair"),
|
||||
("ec.sim.ccmrmercury", "CC Mr. Mercury", "CC Mr. Mercury"),
|
||||
("ec.sim.ccparticlesystems2", "CC Particle Systems II", "CC Particle Systems II"),
|
||||
("ec.sim.ccparticleworld", "CC Particle World", "CC Particle World"),
|
||||
("ec.sim.ccpixelpolly", "CC Pixel Polly", "CC Pixel Polly"),
|
||||
("ec.sim.ccrainfall", "CC Rainfall", "CC Rainfall"),
|
||||
("ec.sim.ccscatterize", "CC Scatterize", "CC Scatterize"),
|
||||
("ec.sim.ccsnowfall", "CC Snowfall", "CC Snowfall"),
|
||||
("ec.sim.ccstarburst", "CC Star Burst", "CC Star Burst"),
|
||||
("ec.sim.foam", "Foam", "Mousse"),
|
||||
("ec.sim.particleplayground", "Particle Playground", "Terrain de jeu de particules"),
|
||||
("ec.sim.shatter", "Shatter", "Éclatement"),
|
||||
("ec.sim.waveworld", "Wave World", "Monde des vagues"),
|
||||
("ec.stylize.brushstrokes", "Brush Strokes", "Coups de pinceau"),
|
||||
("ec.stylize.cartoon", "Cartoon", "Dessin animé"),
|
||||
("ec.stylize.ccblockload", "CC Block Load", "CC Block Load"),
|
||||
("ec.stylize.ccburnfilm", "CC Burn Film", "CC Burn Film"),
|
||||
("ec.stylize.ccglass", "CC Glass", "CC Glass"),
|
||||
("ec.stylize.cchextile", "CC HexTile", "CC HexTile"),
|
||||
("ec.stylize.cckaleida", "CC Kaleida", "CC Kaleida"),
|
||||
("ec.stylize.ccmrsmoothie", "CC Mr. Smoothie", "CC Mr. Smoothie"),
|
||||
("ec.stylize.ccplastic", "CC Plastic", "CC Plastic"),
|
||||
("ec.stylize.ccrepetile", "CC RepeTile", "CC RepeTile"),
|
||||
("ec.stylize.ccthreshold", "CC Threshold", "CC Threshold"),
|
||||
("ec.stylize.ccthresholdrgb", "CC Threshold RGB", "CC Threshold RGB"),
|
||||
("ec.stylize.ccvignette", "CC Vignette", "CC Vignette"),
|
||||
("ec.stylize.coloremboss", "Color Emboss", "Estampage couleur"),
|
||||
("ec.stylize.emboss", "Emboss", "Estampage"),
|
||||
("ec.stylize.findedges", "Find Edges", "Détection des contours"),
|
||||
("ec.stylize.glow", "Glow", "Lueur"),
|
||||
("ec.stylize.mosaic", "Mosaic", "Mosaïque"),
|
||||
("ec.stylize.motiontile", "Motion Tile", "Mosaïque de mouvement"),
|
||||
("ec.stylize.posterize", "Posterize", "Postérisation"),
|
||||
("ec.stylize.roughenedges", "Roughen Edges", "Bords irréguliers"),
|
||||
("ec.stylize.scatter", "Scatter", "Dispersion"),
|
||||
("ec.stylize.strobe", "Strobe Light", "Lumière stroboscopique"),
|
||||
("ec.stylize.texturize", "Texturize", "Texturisation"),
|
||||
("ec.stylize.threshold", "Threshold", "Seuil"),
|
||||
("ec.text.numbers", "Numbers", "Nombres"),
|
||||
("ec.text.timecode", "Timecode", "Timecode"),
|
||||
("ec.time.ccforcemotionblur", "CC Force Motion Blur", "CC Force Motion Blur"),
|
||||
("ec.time.ccwidetime", "CC Wide Time", "CC Wide Time"),
|
||||
("ec.time.echo", "Echo", "Écho"),
|
||||
("ec.time.pixelmotionblur", "Pixel Motion Blur", "Flou de mouvement des pixels"),
|
||||
("ec.time.posterizetime", "Posterize Time", "Postérisation temporelle"),
|
||||
("ec.time.timedifference", "Time Difference", "Différence temporelle"),
|
||||
("ec.time.timedisplacement", "Time Displacement", "Déplacement temporel"),
|
||||
("ec.time.timewarp", "Timewarp", "Déformation temporelle"),
|
||||
("ec.transition.blockdissolve", "Block Dissolve", "Fondu par blocs"),
|
||||
("ec.transition.cardwipe", "Card Wipe", "Volet de cartes"),
|
||||
("ec.transition.ccglasswipe", "CC Glass Wipe", "CC Glass Wipe"),
|
||||
("ec.transition.ccgridwipe", "CC Grid Wipe", "CC Grid Wipe"),
|
||||
("ec.transition.ccimagewipe", "CC Image Wipe", "CC Image Wipe"),
|
||||
("ec.transition.ccjaws", "CC Jaws", "CC Jaws"),
|
||||
("ec.transition.cclightwipe", "CC Light Wipe", "CC Light Wipe"),
|
||||
("ec.transition.cclinesweep", "CC Line Sweep", "CC Line Sweep"),
|
||||
("ec.transition.ccradialscalewipe", "CC Radial ScaleWipe", "CC Radial ScaleWipe"),
|
||||
("ec.transition.ccscalewipe", "CC Scale Wipe", "CC Scale Wipe"),
|
||||
("ec.transition.cctwister", "CC Twister", "CC Twister"),
|
||||
("ec.transition.ccwarpomatic", "CC WarpoMatic", "CC WarpoMatic"),
|
||||
("ec.transition.gradientwipe", "Gradient Wipe", "Volet en dégradé"),
|
||||
("ec.transition.iriswipe", "Iris Wipe", "Volet en iris"),
|
||||
("ec.transition.linearwipe", "Linear Wipe", "Volet linéaire"),
|
||||
("ec.transition.radialwipe", "Radial Wipe", "Volet radial"),
|
||||
("ec.transition.venetian", "Venetian Blinds", "Stores vénitiens"),
|
||||
("ec.utility.applylut", "Apply Color LUT", "Appliquer une LUT de couleur"),
|
||||
("ec.utility.ccoverbrights", "CC Overbrights", "CC Overbrights"),
|
||||
("ec.utility.cineon", "Cineon Converter", "Convertisseur Cineon"),
|
||||
("ec.utility.colorprofileconverter", "Color Profile Converter", "Convertisseur de profil colorimétrique"),
|
||||
("ec.utility.facemeasurements", "Face Measurements", "Mesures du visage"),
|
||||
("ec.utility.facetrackpoints", "Face Track Points", "Points de suivi du visage"),
|
||||
("ec.utility.growbounds", "Grow Bounds", "Extension des limites"),
|
||||
("ec.utility.hdrcompander", "HDR Compander", "Compandeur HDR"),
|
||||
("ec.utility.hdrcompression", "HDR Highlight Compression", "Compression des hautes lumières HDR"),
|
||||
("ec.vr.blur", "VR Blur", "Flou VR"),
|
||||
("ec.vr.chromaticaberrations", "VR Chromatic Aberrations", "Aberrations chromatiques VR"),
|
||||
("ec.vr.colorgradients", "VR Color Gradients", "Dégradés de couleur VR"),
|
||||
("ec.vr.converter", "VR Converter", "Convertisseur VR"),
|
||||
("ec.vr.denoise", "VR De-Noise", "Réduction du bruit VR"),
|
||||
("ec.vr.digitalglitch", "VR Digital Glitch", "Glitch numérique VR"),
|
||||
("ec.vr.fractalnoise", "VR Fractal Noise", "Bruit fractal VR"),
|
||||
("ec.vr.glow", "VR Glow", "Lueur VR"),
|
||||
("ec.vr.planetosphere", "VR Plane to Sphere", "Plan vers sphère VR"),
|
||||
("ec.vr.rotatesphere", "VR Rotate Sphere", "Rotation de sphère VR"),
|
||||
("ec.vr.sharpen", "VR Sharpen", "Accentuation VR"),
|
||||
("ec.vr.spheretoplane", "VR Sphere to Plane", "Sphère vers plan VR"),
|
||||
("ec.3d.instance3d", "3D Layer Instance", "Instance de calque 3D"),
|
||||
];
|
||||
|
||||
/// French (`fr`) category labels, keyed by the registry's English category.
|
||||
const FRENCH_CATEGORIES: &[(&str, &str)] = &[
|
||||
("3D Channel", "Canal 3D"),
|
||||
("Audio", "Audio"),
|
||||
("Blur & Sharpen", "Flou et netteté"),
|
||||
("Channel", "Canal"),
|
||||
("Color Correction", "Correction colorimétrique"),
|
||||
("Distort", "Déformation"),
|
||||
("Expression Controls", "Contrôles d’expression"),
|
||||
("Generate", "Génération"),
|
||||
("Immersive Video", "Vidéo immersive"),
|
||||
("Keying", "Incrustation"),
|
||||
("Matte", "Estampe"),
|
||||
("Noise & Grain", "Bruit et grain"),
|
||||
("Obsolete", "Obsolète"),
|
||||
("Paint", "Peinture"),
|
||||
("Perspective", "Perspective"),
|
||||
("Simulation", "Simulation"),
|
||||
("Stylize", "Stylisation"),
|
||||
("Text", "Texte"),
|
||||
("Time", "Temps"),
|
||||
("Transition", "Transition"),
|
||||
("Utility", "Utilitaire"),
|
||||
];
|
||||
|
||||
/// The 21 category folder names the generated Effect menu and Effects & Presets draw, in
|
||||
/// Simplified Chinese. Read from the installed After Effects 2026 (26.5.0.89) Simplified Chinese
|
||||
/// interface (the checklist's `07-类别` sheet); two of them are the interface's own wording where
|
||||
@@ -1553,7 +1902,7 @@ mod tests {
|
||||
const PENDING: &[(&str, &[Row])] = &[("zh-hant", TRADITIONAL_CHINESE)];
|
||||
|
||||
/// The languages whose tables are being filled in: guarded like [`PENDING`] row by row.
|
||||
const PARTIAL: &[(&str, &[Row])] = &[("ja", JAPANESE_EFFECTS), ("ka", GEORGIAN), ("sv", SWEDISH)];
|
||||
const PARTIAL: &[(&str, &[Row])] = &[("ja", JAPANESE_EFFECTS), ("ka", GEORGIAN), ("sv", SWEDISH), ("fr", FRENCH)];
|
||||
|
||||
/// A pending language may lag Simplified Chinese but may not invent ids or disagree about
|
||||
/// which effect an id names: a translator fills these tables row by row. While they are
|
||||
@@ -1588,6 +1937,7 @@ mod tests {
|
||||
("ja", JAPANESE_CATEGORIES),
|
||||
("ka", GEORGIAN_CATEGORIES),
|
||||
("sv", SWEDISH_CATEGORIES),
|
||||
("fr", FRENCH_CATEGORIES),
|
||||
] {
|
||||
for (english, translated) in rows {
|
||||
assert!(categories.contains(english), "{language} lists {english}, which is not a category");
|
||||
|
||||
+1302
-1
File diff suppressed because it is too large.
Load diff
@@ -80,7 +80,7 @@ counted, so the true percentages are slightly lower.
|
||||
| Spanish | `es` | 1,142 (≈ 29%): menus 629 rows, panels 513 | Menus only; the panel catalog from #996 | Latin, fine | no | partial | 9–12 h + review |
|
||||
| Hindi | `hi` | 0 | — | UI: Devanagari fallback font but no shaping; text layers shape Devanagari | no | none (After Effects: none) | 9–13 h + shaping in the UI |
|
||||
| Arabic | `ar` | 0 | — | UI: Arabic fallback font but no shaping and no RTL layout; text layers: bidi + shaping | no | none (After Effects: none) | 9–13 h + 15–25 h RTL UI |
|
||||
| French | `fr` | 624 (≈ 16%) | Menus only | Latin, fine | no | menus only | 7–10 h + review |
|
||||
| French | `fr` | 2,124 (≈ 51%): menus 632 rows, panels 1,184, effect names 308 | Panels and dialogs at the source list of the other panel catalogs; effect names and their 21 categories; no help; machine-translated from the English, not yet native-speaker proofread | Latin, fine | no | partial | 2–4 h + review |
|
||||
| Portuguese (Brazil) | `pt-br` | 1,324 (≈ 34%): menus 629 rows, panels 695 | Panels and dialogs at the Chinese catalogs' source list; the six keys main added after that count are translated too; AI-assisted, not yet native-speaker proofread | Latin, fine | no | partial | independent native review |
|
||||
| Indonesian | `id` | 0 | — | Latin, fine | no | none (After Effects: none) | 8–12 h + review |
|
||||
| Japanese | `ja` | 1,923 (≈ 46%): menus 630 rows, panels 996, effect names 297 | Panels and dialogs partly; no help, effect names translated for 297 of the 307 ids and their parameter names not; Home screen literals unwrapped (#574, closed) | Japanese system fallback; vertical text and Tate-Chu-Yoko in text layers; IME | no | partial | 6–9 h + review |
|
||||
|
||||
Reference in new issue
Block a user