···1515msgid "“Syntactically Awesome Style Sheets”—A mature, stable, and powerful professional grade CSS extension language."
1616msgstr "“Syntactically Awesome Style Sheets”—Une extension puissante, stable et professionelle du langage CSS."
17171818-msgid "A <a href='https://svelte.dev'>Svelte</a>-powered framework for building web applications of all sizes, with a beautiful development experience and flexible filesystem-based routing"
1919-msgstr "Un framework alimenté par <a href='https://svelte.dev'>Svelte</a> pour construire des applications web de toutes tailles, avec une belle expérience de développement et un routage flexible basé sur le système de fichiers."
1818+msgid "12 March 2020"
1919+msgstr ""
2020+2121+msgid "A <a href=\"https://svelte.dev\">Svelte</a>-powered framework for building web applications of all sizes, with a beautiful development experience and flexible filesystem-based routing"
2222+msgstr ""
20232124msgid "A bundler for javascript and friends. Packs many modules into a few bundled assets."
2225msgstr "Un bundler pour javascript et autres. Regroupe de nombreux modules en quelques fichiers groupés."
···4043msgstr "Un langage de programmation open source dynamique, axé sur la simplicité et la productivité. Il possède une syntaxe élégante, naturelle et facile à écrire."
41444245msgid "A graphism technique that involves the composition of multiple images into a single, cohesive one"
4343-msgstr "Une technique de graphisme qui implique la composition de plusieurs images en un ensemble cohérent"
4646+msgstr ""
44474548msgid "A high-level programming language that enables interactive web pages"
4649msgstr "Un langage de programmation de haut niveau qui permet l'intéractivité de pages web"
···4851msgid "A high-level Python Web framework that encourages rapid development and clean, pragmatic design"
4952msgstr "Un framework Web Python de haut niveau qui encourage un développement rapide et une conception propre et pragmatique"
50535151-msgid "A high-performance template engine heavily influenced by <a href='https://haml.info/'>Haml</a> and implemented with JavaScript for Node.js and browsers."
5252-msgstr "Un moteur de template haute performance fortement influencé par <a href='https://haml.info/'>Haml</a> et implémenté avec JavaScript pour Node.js et les navigateurs."
5454+msgid "A high-performance template engine heavily influenced by <a href=\"https://haml.info/\">Haml</a> and implemented with JavaScript for Node.js and browsers."
5555+msgstr ""
53565457msgid "A high-quality typesetting & document preparation system"
5558msgstr "Un système de composition et de préparation des documents de haute qualité"
···112115msgstr "Une série de nano-ordinateurs"
113116114117msgid "A set of brand resources like logos and banners that make up a brand's visal identity"
115115-msgstr "Un ensemble de ressources de marque, comme des logos et des bannières, qui constituent l'identité visuelle d'une marque"
118118+msgstr ""
116119117120msgid "A simple cross-platform library to create graphical user interfaces in [Go](/using/go) that work on Android, iOS, Linux, MacOS and Windows."
118121msgstr "Une bibliothèque multiplateforme simple pour créer des interfaces graphiques en [Go](/using/go) qui fonctionnent sur Android, iOS, Linux, MacOS et Windows."
···172175msgstr "un format d'image vectorielle basé sur XML pour définir des graphiques bidimensionnels, ayant un support pour l'interactivité et l'animation. La spécification SVG est un standard ouvert développé par le World Wide Web Consortium depuis 1999"
173176174177msgid "Any piece of work related to languages (programming languages or natural languages)"
175175-msgstr "Projets liés au langage (langages de programmation ou langages naturels)"
178178+msgstr ""
176179177180msgid "Any piece of work that involves programming, such as libraries, programs, scripts, et cætera."
178178-msgstr "Toute œuvre qui implique de la programmation, telles que des bibliothèques, des programmes, des scripts, etc."
181181+msgstr ""
179182180183msgid "apis"
181184msgstr "APIs"
···184187msgstr "application"
185188186189msgid "Application Programming Interfaces, mostly _Web_ APIs, meaning machine-redable sites that allow data processing and interaction without going to the client-facing website"
187187-msgstr "Interfaces de programmation d'applications, principalement des API _Web_, c'est-à-dire des sites accessibles aux machines qui permettent le traitement des données et l'interaction sans passer par le site web orienté vers le client."
190190+msgstr ""
188191189192msgid "apps"
190193msgstr "applications"
···204207msgid "cli"
205208msgstr "cli"
206209207207-msgid "command line"
208208-msgstr "terminal"
209209-210210msgid "command-line"
211211msgstr "terminal"
212212···241241msgstr "Langage CSS expressif, robuste, riche en fonctionnalités pour nodejs"
242242243243msgid "Extensions or add-ons that add features to web browsers"
244244-msgstr "Extensions ou add-ons qui ajoutent des fonctionnalités à un navigateurs web"
244244+msgstr ""
245245246246msgid "flyer"
247247msgstr "flyer"
···289289msgstr "illustrations"
290290291291msgid "Images that represent a media, such as a video, in a single glance. Might be shown at a small size."
292292-msgstr "Images qui représentent un média, tel qu'une vidéo, d'un seul coup d'œil. Peut être affiché à petite taille."
292292+msgstr ""
293293294294msgid "intros"
295295msgstr "intros"
···306306msgid "linguistics"
307307msgstr "linguistique"
308308309309+msgid "made with"
310310+msgstr "réalisé avec"
311311+309312msgid "Made with the intent to discover, not necessarily to be useful or aesthetic."
310310-msgstr "Réalisé dans le but de découvrir sans contrainte d'utilité ou d'esthétique."
313313+msgstr ""
311314312315msgid "math"
313316msgstr "maths"
···322325msgstr "musique"
323326324327msgid "Music covers for albums, EPs and singles"
325325-msgstr "Pochettes pour albums, EPs et singles"
328328+msgstr ""
326329327330msgid "my carreer"
328331msgstr "ma carrière"
···330333msgid "my music"
331334msgstr "ma musique"
332335336336+msgid "Native"
337337+msgstr "Langue maternelle"
338338+333339msgid "Open Source design and prototyping platform meant for cross-domain teams. Non dependent on operating systems, Penpot is web based and works with open web standards (SVG)."
334340msgstr "Plateforme de conception et prototypage open source visant des équipes multi-domaines. Non dépendante des systèmes d'exploitation, Penpot est un logiciel web et fonctionne avec les standards web ouverts (SVG)."
335341···355361msgstr "programmes"
356362357363msgid "Programs that run in the terminal, a text-based interface for computers."
358358-msgstr "Programmes qui s'exécutent dans une console, une interface de texte pour les ordinateurs."
364364+msgstr ""
365365+366366+msgid "project"
367367+msgstr "projet"
368368+369369+msgid "projects"
370370+msgstr "projets"
359371360372msgid "Proudly powered by <a href=\"https://github.com/ortfo\">ortfo</a>, my portfolio database management system and <a href=\"https://github.com/a-h/templ\">templ</a>"
361373msgstr "Fièrement propulsé par <a href=\"https://github.com/ortfo\">ortfo</a>, mon système de gestion de base de données pour les portfolios et <a href=\"https://github.com/a-h/templ\">templ</a>"
···367379msgstr "scolaire"
368380369381msgid "School projects and school-related projects"
370370-msgstr "Projets scolaires et projets liés à l'école"
382382+msgstr ""
371383372384msgid "science"
373385msgstr "science"
···379391msgstr "Envoyer"
380392381393msgid "Set of glyphs (letters, punctuation marks and more) that define how text looks."
382382-msgstr "Ensemble de glyphes (lettres, signes de ponctuation et plus encore) qui définissent l'apparence du texte."
394394+msgstr ""
383395384396msgid "Short introductory video sequences typically played at the beginning of every video"
385385-msgstr "Séquences vidéo introducientrières courtes qui sont typiquement jouées au début de chaque vidéo"
397397+msgstr ""
398398+399399+msgid "Single-page PDF resume"
400400+msgstr "CV monopage en PDF"
386401387402msgid "sites"
388403msgstr "sites"
404404+405405+msgid "skills"
406406+msgstr ""
389407390408msgid "Source code"
391409msgstr "Code source"
···403421msgstr "Le langage de balisage standard conçu pour représenter des pages web"
404422405423msgid "The study of language"
406406-msgstr "L'étude du langage"
424424+msgstr ""
407425408426msgid "These are my creations."
409427msgstr "Voici mes créations."
428428+429429+msgid "This is a dynamic resume, pulling from <em><a href=\"https://wakatime.com\">wakatime</a></em> and other sources, including the portfolio's database itself."
430430+msgstr ""
410431411432msgid "thumbnails"
412433msgstr "miniatures"
413434414414-msgid "Time spent"
415415-msgstr "Temps passé"
416416-417435msgid "typeface"
418436msgstr "police de caractères"
419437···427445msgstr "Un système de génération de portfolios faits maison."
428446429447msgid "User interfaces that utilize graphical elements such as icons, and images."
430430-msgstr "Intefaces utilisateur qui utilisent des éléments graphiques tels que des icônes et des images."
448448+msgstr ""
431449432450msgid "visual identities"
433451msgstr "identités visuelles"
···448466msgstr "extensions web"
449467450468msgid "Web sites, web apps and web-related libraries"
451451-msgstr "Sites web, applications web et bibliothèques liées au web"
469469+msgstr ""
452470453471msgid "With a scientific side"
454454-msgstr "Avec un côté scientifique"
472472+msgstr ""
455473456474msgid "works"
457475msgstr "projets"
+28-2
main.go
···71717272 handlePage("", pages.Index(db, translations.language))
7373 for _, work := range db.Works() {
7474- handlePage(work.ID, pages.Work(work, shared.TagsOf(tags, work.Metadata), shared.TechsOf(technologies, work.Metadata), translations.language))
7474+ handlePage(work.ID, pages.Work(
7575+ work,
7676+ shared.TagsOf(tags, work.Metadata),
7777+ shared.TechsOf(technologies, work.Metadata),
7878+ collections.ThatIncludeWork(work, shared.Keys(db.Works()), tags, technologies),
7979+ translations.language,
8080+ ))
7581 }
76827783 for id, collection := range collections {
···100106 }
101107102108 handlePage("about", pages.AboutPage(translations.language))
109109+ handlePage("resume", pages.DynamicResume(db, technologies, translations.language))
103110104111 handlePage("contact", pages.ContactPage(false))
105112 handlePage("contact/sent", pages.ContactPage(true))
···187194 if err != nil {
188195 panic(err)
189196 }
197197+ // Ugly fix while ortfodb isn't fixed
198198+ for i, work := range db {
199199+ if work.ID == "#meta" {
200200+ continue
201201+ }
202202+ if work.Metadata.AdditionalMetadata["made_with"] == nil {
203203+ continue
204204+ }
205205+ newWork := work
206206+ for _, techName := range work.Metadata.AdditionalMetadata["made_with"].([]interface{}) {
207207+ newWork.Metadata.MadeWith = append(newWork.Metadata.MadeWith, techName.(string))
208208+ }
209209+ db[i] = newWork
210210+ }
190211 locales := db.Languages()
191212 sort.Strings(locales)
192213 fmt.Printf("[ ] Works database has %d works in %d locales (%s)\n", len(db.Works()), len(locales), strings.Join(locales, ", "))
···215236216237 var collections map[string]shared.Collection
217238 loadDataFileMap("collections.yaml", &collections)
239239+ for id, c := range collections {
240240+ newCollection := c
241241+ newCollection.ID = id
242242+ collections[id] = newCollection
243243+ }
218244219245 var sites []shared.Site
220246 loadDataFile("sites.yaml", &sites)
···226252 loadDataFile("tags.yaml", &tags)
227253228254 for i := range technologies {
229229- err := technologies[i].CalculateTimeSpent()
255255+ _, err := technologies[i].CalculateTimeSpent(technologies)
230256 if err != nil {
231257 color.Yellow("[!!] While calculating time spent on %s: %s", technologies[i].Name, err)
232258 } else if technologies[i].TimeSpent.Seconds() > 0 {