feat(AutoTag) translations and more rules

This commit is contained in:
SansGuidon 2025-01-16 11:24:08 +00:00
parent 6255fbfc06
commit 81fa8643a6

View File

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