From 81fa8643a609149f76bd7c883aa7824a86d27a4d Mon Sep 17 00:00:00 2001 From: SansGuidon Date: Thu, 16 Jan 2025 11:24:08 +0000 Subject: [PATCH] feat(AutoTag) translations and more rules --- auto_tag_plugin/auto_tag_plugin.php | 229 ++++++++++++++-------------- 1 file changed, 114 insertions(+), 115 deletions(-) diff --git a/auto_tag_plugin/auto_tag_plugin.php b/auto_tag_plugin/auto_tag_plugin.php index c37df95..12d11dd 100644 --- a/auto_tag_plugin/auto_tag_plugin.php +++ b/auto_tag_plugin/auto_tag_plugin.php @@ -6,138 +6,137 @@ function auto_tag_plugin_init(ConfigManager $conf) { // Configure keywords and tags based on provided rules $conf->setEmpty('plugins.AUTO_TAG_KEYWORDS', [ - 'accessibility,web development,web design,html,css' => 'web-development', - 'accounting' => 'accounting', - 'addict,drugs,cigarettes,bonbons,dopamine,sucre,nicotine,hooked,drogues' => 'addiction', + 'accessibility,accessibilité,web development,web design,html,css' => 'web-development', + 'accounting,comptabilité' => 'accounting', + 'addict,addiction,drugs,drogues,cigarettes,bonbons,dopamine,sucre,nicotine,hooked' => 'addiction', 'adhd,tdah' => 'adhd', - 'alternative,compatible,migrated,migration' => 'alternatives', - 'ads,spam' => 'ads', - 'anxi,burnout,meditat,cardio' => 'health-and-wellness', - 'architecture' => "architecture", - 'archive,archiving' => 'archiving,archives', - 'art' => 'culture', + 'alternative,alternatives,compatible,compatibles,migrated,migration' => 'alternatives', + 'ads,advertisements,publicités,spam' => 'ads', + 'anxi,anxiété,burnout,méditation,cardio' => 'health-and-wellness', + 'architecture,architectures' => 'architecture', + 'archive,archiving,archives,archivage' => 'archiving,archives', + 'art,arts' => 'culture', 'ask hn,news.ycombinator.com/item,reddit.com/r/' => 'debate', - 'audio' => 'audio', - 'autism,autist' => 'autism', - 'automation,automate,automatic,scripting,terminal,shell script' => 'scripting,automation', - 'beauty,imperfection' => 'beauty,imperfection', - 'belgian,belgium,belgique' => 'belgium', - 'astuce,best practices,checklist,guide,how-to,how to,deep dive,dive into,tips,optimize,optimization,comment,étapes,tutorial,tutoriel,how do I' => 'guides-and-tips', - 'board game,board games,boardgame' => 'board-games,geek,may-play', - 'bookmarks' => 'bookmarks-management', - 'browsers' => 'web-browsers', - 'books,livre,livre,quatrième de couverture,roman,novel,reading-list' => 'reading-and-literature,may-read,inspiration,culture', + 'audio,audiofiles,fichiers audio' => 'audio', + 'autism,autisme,autist,autiste' => 'autism', + 'automation,automate,automatisation,automatic,scripting,terminal,shell script' => 'scripting,automation', + 'beauty,beau,beauté,imperfection,imperfections' => 'beauty,imperfection', + 'belgian,belgium,belge,belgique' => 'belgium', + 'astuce,best practices,checklist,guide,how-to,comment faire,deep dive,dive into,tips,optimize,optimization,comment,etapes,tutorial,tutoriel,how do I' => 'guides-and-tips', + 'board game,board games,boardgame,jeu de société,jeux de société' => 'board-games,geek,may-play', + 'bookmarks,favoris,signets' => 'bookmarks-management', + 'browsers,navigateurs,web browsers' => 'web-browsers', + 'books,livre,livres,quatrième de couverture,roman,novel,reading-list' => 'reading-and-literature,may-read,inspiration,culture', 'robots.txt,bots,spam,crawling,ddos' => 'spam', 'bruxelles,brussels' => 'brussels', - 'calm tech,calmness,calm' => 'calm-tech', - 'cheatsheet,cheat sheet,cheat-sheet' => 'cheatsheet,guides-and-tips', + 'calm tech,calmness,calm,technologie calme' => 'calm-tech', + 'cheatsheet,cheat sheet,cheat-sheet,antisèche' => 'cheatsheet,guides-and-tips', 'cleaning,nettoyage' => 'cleaning', 'cloud,aws,amazon,cloudron' => 'cloud', 'cloudron' => 'cloudron,hosting', - '(comic),-comic-,comics' => 'comics,reading-and-literature,may-read,culture,humor', - 'comparison,comparer, vs ,versus' => 'comparison', - 'communicate,communication,messaging,messenger,gmail' => 'communication', - 'complex,impossible to solve,complicated,very difficult' => 'complexity, its-complicated', - 'configure,configuration' => 'configuration', - 'database,RDS' => 'databases', - 'data collection' => 'data-collection', - 'data transfer' => 'data-portability', - 'debug,troubleshoot,diagnose,problem,solv,troubleshoot' => 'problem-solving,guides-and-tips,debugging', - 'degoogl' => 'freedom', - 'design' => 'design', - 'development workflow,devex' => 'devex', - 'disk' => 'storage', - 'distraction,procrastin' => 'procrastination', - 'diy,self-host,héberger soi-même,my personal' => 'diy', - 'dns,network,tcp,wireshark' => 'network', + '(comic),-comic-,comics,bandes dessinées' => 'comics,reading-and-literature,may-read,culture,humor', + 'comparison,comparer, vs ,versus,comparatif,comparaison' => 'comparison', + 'communicate,communication,messaging,messenger,gmail,communiquer' => 'communication', + 'complex,impossible to solve,complicated,very difficult,complexe,compliqué' => 'complexity,its-complicated', + 'configure,configuration,paramétrer,paramétrage' => 'configuration', + 'database,databases,RDS,base de données' => 'databases', + 'data collection,collecte de données' => 'data-collection', + 'data transfer,transfert de données' => 'data-portability', + 'debug,troubleshoot,diagnose,résoudre,diagnostiquer,troubleshooting' => 'problem-solving,guides-and-tips,debugging', + 'degoogling,degoogle,degoogler,dégooglisation' => 'freedom', + 'design,designs' => 'design', + 'development workflow,devex,flux de développement' => 'devex', + 'disk,disque,disques' => 'storage', + 'distraction,procrastination,procrastine,procrastiner,glander' => 'procrastination', + 'diy,self-host,héberger soi-même,my personal,fait maison' => 'diy', + 'dns,network,tcp,wireshark,réseau' => 'network', 'docker,docker-compose,docker compose,container,containers,k8s,eks,kubernetes,minikube,k3s,helm,openshift' => 'container-technology,devops', - 'documentation,docs,document' => 'documentation', - 'ses droits,legally' => 'legal', - 'elixir,python,pip,rust,golang,programming,developer,software development,developers' => 'software-development', - 'emulator,emulation' => 'emulation', - 'entrepreneurship,entrepreneurs' => 'business', - 'espresso,coffee' => 'coffee', - 'ethic,ethique' => 'ethics', - 'explor,going deep' => 'discovery', - 'fediverse,unsafe' => 'privacy-and-security,freedom,social-media', - 'libre' => 'freedom', + 'documentation,docs,document,documentation technique' => 'documentation', + 'ses droits,legally,legalement,légal' => 'legal', + 'elixir,python,pip,rust,golang,programming,developer,software development,developers,développeurs' => 'software-development', + 'emulator,emulation,émulateur,émulation' => 'emulation', + 'entrepreneurship,entrepreneurs,entrepreneuriat' => 'business', + 'espresso,coffee,café' => 'coffee', + 'ethic,ethique,ethics' => 'ethics', + 'explor,going deep,exploration' => 'discovery', + 'fediverse,unsafe,liberté,fédivers' => 'privacy-and-security,freedom,social-media', + 'libre,free,liberté' => 'freedom', 'logiciel libre,free software,logiciel gratuit,free to use' => 'free-software', - 'from home,remote work,work remote' => 'remote-work', - 'big-tech,gafam,degoogling,degoogle' => 'big-tech', - 'game,jeu vidéo,game dev,jeux' => 'games,geek,culture,may-play', - 'gamedev,building game' => 'gamedev,games,geek,culture', + 'from home,remote work,work remote,travail à distance,télétravail' => 'remote-work', + 'big-tech,gafam,degoogling,degoogle,grandes entreprises technologiques' => 'big-tech', + 'game,jeu vidéo,game dev,jeux,jeux vidéo' => 'games,geek,culture,may-play', + 'gamedev,building game,développement de jeux' => 'gamedev,games,geek,culture', 'gender,homosexualité,hétérosexualité,les sexes,caractères sexuels' => 'gender', 'gratuit,free' => 'free', 'gitops,gitlab,github actions,devops,SRE,ci/cd,platform-engineering,ci pipeline,application deployment,dagger,renovatebot,dependabot,continuous integration,site reliability eng' => 'devops,automation', - 'git,gitlab,jujutsu,pijul,mercurial,svn,version control' => 'version-control', - 'gpt,chatgpt,llm,llms,artificial intelligence,intelligence artificielle,l\'ia' => 'ai', - 'hacking' => 'hacking', - 'health,healthy,nutrition,food,alimentation,nourriture' => 'health-and-wellness,food', + 'git,gitlab,jujutsu,pijul,mercurial,svn,version control,contrôle de version' => 'version-control', + 'gpt,chatgpt,llm,llms,artificial intelligence,intelligence artificielle,IA' => 'ai', + 'hacking,piratage' => 'hacking', + 'health,healthy,nutrition,food,alimentation,nourriture,santé' => 'health-and-wellness,food', 'humans,humains' => 'humans', 'humor,humour' => 'humor', - 'inspiration,creativity,creative' => 'inspiration', - 'leadership,staff engineering' => 'leadership', - 'lambic,gueuze,beer,bière' => 'beer-and-brewing', + 'inspiration,creativity,creative,inspiration,créativité' => 'inspiration', + 'leadership,staff engineering,gestion' => 'leadership', + 'lambic,gueuze,beer,bière,bières' => 'beer-and-brewing', 'linux,ubuntu,debian,linux windows macos' => 'os', - 'list,index of,awesome,installation,GitHub - ' => 'list,discovery,tools-and-resources', - 'low-tech,low tech' => 'low-tech', - 'markdown' => 'markdown,text-files,plaintext,formats', - 'merdification,enshittif,AI-generated,crapification,decline in quality' => 'enshittification', - 'monitoring,metrics,to monitor' => 'monitoring,metrics', - 'movie,cinéma,cinema,film' => 'movies,culture,geek', + 'list,index of,awesome,installation,GitHub - ,liste' => 'list,discovery,tools-and-resources', + 'low-tech,low tech,technologie simple' => 'low-tech', + 'markdown,text files,fichiers texte,plaintext,formats' => 'markdown,text-files,plaintext,formats', + 'merdification,enshittif,AI-generated,crapification,decline in quality,déclin de qualité' => 'enshittification', + 'monitoring,metrics,to monitor,surveillance,métriques' => 'monitoring,metrics', + 'movie,cinéma,cinema,film,films' => 'movies,culture,geek', 'music,spotify,radios,webradios,soundtrack,bande originale,musique' => 'music', - 'newsletter' => 'newsletter,news,may-subscribe', - 'nostalg' => 'nostalgia', - 'obsidian,note taking,note-taking,knowledge manag' => 'knowledge-management,note-taking', - 'open-source,open source' => 'open-source,free', - 'optimize,optimization,speed up,an efficient' => 'optimization', - 'organize,organise,planning,prioritize,priorities,priority,tasks,project,focus,productivity,productive,gestion de tâches,ticktick' => 'organizing,productivity-and-management', - 'philosoph' => 'philosophy', - 'photography' => 'photography,photos', - 'podcast' => 'podcast', - 'ego,narciss' => 'psychology,ego', - 'psycholog' => 'psychology', - 'voting,politic,politique' => 'politics', - 'python' => 'python,software-development,code', - 'privatebin,secret' => 'secrets', - 'problem,solv,trouble' => 'problem-solving', - 'programming languages' => 'code,computer-languages', - 'publishing' => 'publishing', - 'quality' => 'quality', - 'recommandations,recommendation' => 'recommandations,recommendations', - 'recycling,sustainab,green web,climate' => 'ecology', - 'religion,chrétiens,bible,coran,islam,musulmans,croyants,athée,la foi,église' => 'religion', - 'reviews,critique' => 'reviews', - 'rss,rss feed,miniflux,web reader' => 'content-aggregation,content-curation', - 'ruby,rails app' => 'ruby,software-development,code', - 'science' => 'science', - 'scripting,jq,curl,wget' => 'scripting', - 'search engine' => 'search-engines', - 'security,permission,sécurité,secure,privacy,private,degoogl,gdpr,data protection,online tracking,user profiling,anonymo,anonymi,surveillance,malware,spyware,decentrali,secrets,privacy matters,vpn,passkey' => 'privacy-and-security', - 'simplicity,minimal,less,declutter,stopped using,simple,simplif,reduction in,fewer,no longer needed' => 'minimalism', - 'small web,indie web,indieweb' => 'small-web', - 'smartphone,android,mobile,phone,téléphone' => 'mobile', - 'snippet' => 'code', - 'static site,static-site' => 'static-site,static-web', - 'teamwork,collaborat,équipe,cooperat,coordinat' => 'collaboration', - 'technology' => 'technology', - 'template' => 'template', - 'terminal' => 'terminal,tools-and-resources', - 'test' => 'testing', - 'text-based,plaintext,markup language,markdown,plain text' => 'plaintext,minimalism,formats,text-files', - 'time to update,maintainers,tech-debt,legacy code,long term software' => 'maintenance,tech-debt', - 'to do,to-do' => 'todo', - 'tool,resources,a script,outil,a collection,a catalog,awesome list,links' => 'tools-and-resources', - 'training,course,conference talk,learning,homeschool,expert,specializ,tacit knowledge,tribal knowledge' => 'education', - '.txt,text-based' => 'text-files', - 'ui' => 'ui', - 'ux,the experience of,usable,uxer,user experience' => 'ux', - 'vps' => 'cloud,vps,hosting', - 'web archive,web archiving,save any website,bookmarks,wayback machine,archive.org,archivebox' => 'web-archiving', - 'wordpress,personal website,blog roll,blogroll,blogosphere,webring,digital garden,to blog' => 'blogging,writing,publishing,culture', - 'work' => 'work', + 'newsletter,news,may-subscribe' => 'newsletter,news,may-subscribe', + 'nostalg,nostalgie' => 'nostalgia', + 'obsidian,note taking,note-taking,knowledge manag,prise de notes,gestion de connaissances' => 'knowledge-management,note-taking', + 'open-source,open source,code source libre' => 'open-source,free', + 'optimize,optimization,speed up,an efficient,optimiser,optimisation' => 'optimization', + 'organize,organise,planning,prioritize,priorities,priority,tasks,project,focus,productivity,productive,gestion de tâches,ticktick,organisation' => 'organizing,productivity-and-management', + 'philosoph,philosophie' => 'philosophy', + 'photography,photos,photographie' => 'photography,photos', + 'podcast,podcasts' => 'podcast', + 'ego,narciss,narcissisme' => 'psychology,ego', + 'psycholog,psychologie' => 'psychology', + 'voting,politic,politique,vote' => 'politics', + 'python,logiciels en python' => 'python,software-development,code', + 'privatebin,secret,secret,' => 'secrets', + 'programming languages,langages de programmation' => 'code,computer-languages', + 'publishing,publier,publication' => 'publishing', + 'quality,qualité' => 'quality', + 'recommandations,recommendation,conseils' => 'recommandations,recommendations', + 'recycling,sustainab,green web,climate,recyclage,web écologique,climat' => 'ecology', + 'religion,chretiens,bible,coran,islam,musulmans,croyants,athée,la foi,église' => 'religion', + 'reviews,critique,avis' => 'reviews', + 'rss,rss feed,miniflux,web reader,lecteur web' => 'content-aggregation,content-curation', + 'ruby,rails app,applications ruby' => 'ruby,software-development,code', + 'science,sciences' => 'science', + 'scripting,jq,curl,wget,script' => 'scripting', + 'search engine,moteur de recherche' => 'search-engines', + 'security,permission,sécurité,secure,privacy,private,degoogl,gdpr,data protection,online tracking,user profiling,anonymo,anonymi,surveillance,malware,spyware,decentrali,secrets,privacy matters,vpn,passkey,protéger' => 'privacy-and-security', + 'simplicity,minimal,less,declutter,stopped using,simple,simplif,reduction in,fewer,no longer needed,minimalisme,simplicité,réduction' => 'minimalism', + 'small web,indie web,indieweb,petit web' => 'small-web', + 'smartphone,android,mobile,phone,téléphone,portables' => 'mobile', + 'snippet,extrait de code' => 'code', + 'static site,static-site,site statique' => 'static-site,static-web', + 'teamwork,collaborat,équipe,cooperat,coordinat,travail équipe' => 'collaboration', + 'technology,technologie' => 'technology', + 'template,modèle' => 'template', + 'terminal,tools-and-resources,terminales' => 'terminal,tools-and-resources', + 'test,tester' => 'testing', + 'text-based,plaintext,markup language,markdown,plain text,basé sur du texte,langage balisé' => 'plaintext,minimalism,formats,text-files', + 'time to update,maintainers,tech-debt,legacy code,long term software,temps pour mettre à jour' => 'maintenance,tech-debt', + 'to do,to-do,à faire' => 'todo', + 'tool,resources,a script,outil,a collection,a catalog,awesome list,links,outils,ressources' => 'tools-and-resources', + 'training,course,conference talk,learning,homeschool,expert,specializ,tacit knowledge,tribal knowledge,formation,cours,conférence,apprentissage' => 'education', + '.txt,text-based,fichiers txt' => 'text-files', + 'ui,interfaces utilisateur' => 'ui', + 'ux,the experience of,usable,uxer,user experience,expérience utilisateur' => 'ux', + 'vps,serveur privé virtuel' => 'cloud,vps,hosting', + 'web archive,web archiving,save any website,bookmarks,wayback machine,archive.org,archivebox,archive web' => 'web-archiving', + 'wordpress,personal website,blog roll,blogroll,blogosphere,webring,digital garden,to blog,blogs' => 'blogging,writing,publishing,culture', + 'work,travail' => 'work', 'youtube.com,invidious,peertube,watch?v' => 'to-watch,video', - 'zoemp' => 'zoemp' + 'zoemp,zoemp.be' => 'zoemp' ]); }