feat: translate the site in french

This commit is contained in:
Bruno Carlin 2025-06-20 02:33:45 +02:00
parent 3e98ac15b6
commit b47b193b20
Signed by: bcarlin
GPG key ID: 8E254EA0FFEB9B6D
81 changed files with 1327 additions and 251 deletions

BIN
static/apple-touch-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

BIN
static/favicon-96x96.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
static/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

22
static/favicon.svg Normal file
View file

@ -0,0 +1,22 @@
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="80" height="80"><svg viewBox="0 0 80 80" version="1.1" id="SvgjsSvg1017" sodipodi:docname="logo.svg" inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<defs id="SvgjsDefs1016"></defs>
<sodipodi:namedview id="SvgjsSodipodi:namedview1015" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:showpageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" inkscape:document-units="mm" inkscape:zoom="1.9270133" inkscape:cx="65.645629" inkscape:cy="72.39182" inkscape:window-width="1916" inkscape:window-height="1026" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="0" inkscape:current-layer="layer1"></sodipodi:namedview>
<style id="SvgjsStyle1014">
:root { filter: none; }
path {
fill:none;
stroke:#000000;
stroke-width:3.5;
stroke-linecap:round;
stroke-linejoin:miter;
stroke-dasharray:none;
stroke-opacity:1
}
@media (prefers-color-scheme: dark) {
path { stroke: #f0f0f0 }
}
</style>
<g id="SvgjsG1013">
<path d="m 33.93812,57.35608 c -2.09127,-8.3238 -6.421596,-19.16538 -4.113261,-26.0517 1.134461,-3.38437 3.845371,-5.56463 7.977231,-5.73386 3.19716,-0.13095 8.72664,0.36824 9.59761,6.23246 0.76712,5.16491 -4.15506,6.39829 -7.22937,8.1022 6.50598,-1.93981 12.01867,1.47517 13.33694,7.105 1.31827,5.62984 -0.76053,10.88377 -3.67194,14.55887 -2.9114,3.67511 -7.14804,6.27136 -12.7811,6.50685 C 21.415486,68.72968 11.927485,54.67483 11.751441,39.19832 11.575406,23.72181 23.343582,11.494025 40.08723,11.290233 56.83088,11.086441 69.20544,25.91722 68.19167,42.02395 c -0.81502,12.94911 -5.57382,19.26544 -9.73003,22.70007 -1.66423,1.37528 -3.28127,3.98783 -3.28127,3.98783" id="SvgjsPath1012"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2 KiB

21
static/site.webmanifest Normal file
View file

@ -0,0 +1,21 @@
{
"name": "bcarlin.net",
"short_name": "bcarlin.net",
"icons": [
{
"src": "/web-app-manifest-192x192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/web-app-manifest-512x512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
}
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}

View file

@ -0,0 +1,88 @@
/* Generated using: hugo gen chromastyles --style solarized-dark */
/* Background */ .bg { color:#93a1a1;background-color:#002b36; }
/* PreWrapper */ .chroma { color:#93a1a1;background-color:#002b36; }
/* Other */ .chroma .x { color:#cb4b16 }
/* Error */ .chroma .err { }
/* CodeLine */ .chroma .cl { }
/* LineLink */ .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
/* LineTableTD */ .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; }
/* LineTable */ .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0; }
/* LineHighlight */ .chroma .hl { background-color:#19404a }
/* LineNumbersTable */ .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050 }
/* LineNumbers */ .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050 }
/* Line */ .chroma .line { display:flex; }
/* Keyword */ .chroma .k { color:#719e07 }
/* KeywordConstant */ .chroma .kc { color:#cb4b16 }
/* KeywordDeclaration */ .chroma .kd { color:#268bd2 }
/* KeywordNamespace */ .chroma .kn { color:#719e07 }
/* KeywordPseudo */ .chroma .kp { color:#719e07 }
/* KeywordReserved */ .chroma .kr { color:#268bd2 }
/* KeywordType */ .chroma .kt { color:#dc322f }
/* Name */ .chroma .n { }
/* NameAttribute */ .chroma .na { }
/* NameClass */ .chroma .nc { color:#268bd2 }
/* NameConstant */ .chroma .no { color:#cb4b16 }
/* NameDecorator */ .chroma .nd { color:#268bd2 }
/* NameEntity */ .chroma .ni { color:#cb4b16 }
/* NameException */ .chroma .ne { color:#cb4b16 }
/* NameLabel */ .chroma .nl { }
/* NameNamespace */ .chroma .nn { }
/* NameOther */ .chroma .nx { }
/* NameProperty */ .chroma .py { }
/* NameTag */ .chroma .nt { color:#268bd2 }
/* NameBuiltin */ .chroma .nb { color:#b58900 }
/* NameBuiltinPseudo */ .chroma .bp { color:#268bd2 }
/* NameVariable */ .chroma .nv { color:#268bd2 }
/* NameVariableClass */ .chroma .vc { color:#268bd2 }
/* NameVariableGlobal */ .chroma .vg { color:#268bd2 }
/* NameVariableInstance */ .chroma .vi { color:#268bd2 }
/* NameVariableMagic */ .chroma .vm { color:#268bd2 }
/* NameFunction */ .chroma .nf { color:#268bd2 }
/* NameFunctionMagic */ .chroma .fm { color:#268bd2 }
/* Literal */ .chroma .l { }
/* LiteralDate */ .chroma .ld { }
/* LiteralString */ .chroma .s { color:#2aa198 }
/* LiteralStringAffix */ .chroma .sa { color:#2aa198 }
/* LiteralStringBacktick */ .chroma .sb { color:#586e75 }
/* LiteralStringChar */ .chroma .sc { color:#2aa198 }
/* LiteralStringDelimiter */ .chroma .dl { color:#2aa198 }
/* LiteralStringDoc */ .chroma .sd { }
/* LiteralStringDouble */ .chroma .s2 { color:#2aa198 }
/* LiteralStringEscape */ .chroma .se { color:#cb4b16 }
/* LiteralStringHeredoc */ .chroma .sh { }
/* LiteralStringInterpol */ .chroma .si { color:#2aa198 }
/* LiteralStringOther */ .chroma .sx { color:#2aa198 }
/* LiteralStringRegex */ .chroma .sr { color:#dc322f }
/* LiteralStringSingle */ .chroma .s1 { color:#2aa198 }
/* LiteralStringSymbol */ .chroma .ss { color:#2aa198 }
/* LiteralNumber */ .chroma .m { color:#2aa198 }
/* LiteralNumberBin */ .chroma .mb { color:#2aa198 }
/* LiteralNumberFloat */ .chroma .mf { color:#2aa198 }
/* LiteralNumberHex */ .chroma .mh { color:#2aa198 }
/* LiteralNumberInteger */ .chroma .mi { color:#2aa198 }
/* LiteralNumberIntegerLong */ .chroma .il { color:#2aa198 }
/* LiteralNumberOct */ .chroma .mo { color:#2aa198 }
/* Operator */ .chroma .o { color:#719e07 }
/* OperatorWord */ .chroma .ow { color:#719e07 }
/* Punctuation */ .chroma .p { }
/* Comment */ .chroma .c { color:#586e75 }
/* CommentHashbang */ .chroma .ch { color:#586e75 }
/* CommentMultiline */ .chroma .cm { color:#586e75 }
/* CommentSingle */ .chroma .c1 { color:#586e75 }
/* CommentSpecial */ .chroma .cs { color:#719e07 }
/* CommentPreproc */ .chroma .cp { color:#719e07 }
/* CommentPreprocFile */ .chroma .cpf { color:#719e07 }
/* Generic */ .chroma .g { }
/* GenericDeleted */ .chroma .gd { color:#dc322f }
/* GenericEmph */ .chroma .ge { font-style:italic }
/* GenericError */ .chroma .gr { color:#dc322f;font-weight:bold }
/* GenericHeading */ .chroma .gh { color:#cb4b16 }
/* GenericInserted */ .chroma .gi { color:#719e07 }
/* GenericOutput */ .chroma .go { }
/* GenericPrompt */ .chroma .gp { }
/* GenericStrong */ .chroma .gs { font-weight:bold }
/* GenericSubheading */ .chroma .gu { color:#268bd2 }
/* GenericTraceback */ .chroma .gt { }
/* GenericUnderline */ .chroma .gl { }
/* TextWhitespace */ .chroma .w { }

View file

@ -0,0 +1,88 @@
/* Generated using: hugo gen chromastyles --style solarized-light */
/* Background */ .bg { color:#586e75;background-color:#eee8d5; }
/* PreWrapper */ .chroma { color:#586e75;background-color:#eee8d5; }
/* Other */ .chroma .x { }
/* Error */ .chroma .err { }
/* CodeLine */ .chroma .cl { }
/* LineLink */ .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
/* LineTableTD */ .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; }
/* LineTable */ .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0; }
/* LineHighlight */ .chroma .hl { background-color:#d6d0bf }
/* LineNumbersTable */ .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }
/* LineNumbers */ .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }
/* Line */ .chroma .line { display:flex; }
/* Keyword */ .chroma .k { color:#859900 }
/* KeywordConstant */ .chroma .kc { color:#859900;font-weight:bold }
/* KeywordDeclaration */ .chroma .kd { color:#859900 }
/* KeywordNamespace */ .chroma .kn { color:#dc322f;font-weight:bold }
/* KeywordPseudo */ .chroma .kp { color:#859900 }
/* KeywordReserved */ .chroma .kr { color:#859900 }
/* KeywordType */ .chroma .kt { color:#859900;font-weight:bold }
/* Name */ .chroma .n { color:#268bd2 }
/* NameAttribute */ .chroma .na { color:#268bd2 }
/* NameClass */ .chroma .nc { color:#cb4b16 }
/* NameConstant */ .chroma .no { color:#268bd2 }
/* NameDecorator */ .chroma .nd { color:#268bd2 }
/* NameEntity */ .chroma .ni { color:#268bd2 }
/* NameException */ .chroma .ne { color:#268bd2 }
/* NameLabel */ .chroma .nl { color:#268bd2 }
/* NameNamespace */ .chroma .nn { color:#268bd2 }
/* NameOther */ .chroma .nx { color:#268bd2 }
/* NameProperty */ .chroma .py { color:#268bd2 }
/* NameTag */ .chroma .nt { color:#268bd2;font-weight:bold }
/* NameBuiltin */ .chroma .nb { color:#cb4b16 }
/* NameBuiltinPseudo */ .chroma .bp { color:#cb4b16 }
/* NameVariable */ .chroma .nv { color:#268bd2 }
/* NameVariableClass */ .chroma .vc { color:#268bd2 }
/* NameVariableGlobal */ .chroma .vg { color:#268bd2 }
/* NameVariableInstance */ .chroma .vi { color:#268bd2 }
/* NameVariableMagic */ .chroma .vm { color:#268bd2 }
/* NameFunction */ .chroma .nf { color:#268bd2 }
/* NameFunctionMagic */ .chroma .fm { color:#268bd2 }
/* Literal */ .chroma .l { color:#2aa198 }
/* LiteralDate */ .chroma .ld { color:#2aa198 }
/* LiteralString */ .chroma .s { color:#2aa198 }
/* LiteralStringAffix */ .chroma .sa { color:#2aa198 }
/* LiteralStringBacktick */ .chroma .sb { color:#2aa198 }
/* LiteralStringChar */ .chroma .sc { color:#2aa198 }
/* LiteralStringDelimiter */ .chroma .dl { color:#2aa198 }
/* LiteralStringDoc */ .chroma .sd { color:#2aa198 }
/* LiteralStringDouble */ .chroma .s2 { color:#2aa198 }
/* LiteralStringEscape */ .chroma .se { color:#2aa198 }
/* LiteralStringHeredoc */ .chroma .sh { color:#2aa198 }
/* LiteralStringInterpol */ .chroma .si { color:#2aa198 }
/* LiteralStringOther */ .chroma .sx { color:#2aa198 }
/* LiteralStringRegex */ .chroma .sr { color:#2aa198 }
/* LiteralStringSingle */ .chroma .s1 { color:#2aa198 }
/* LiteralStringSymbol */ .chroma .ss { color:#2aa198 }
/* LiteralNumber */ .chroma .m { color:#2aa198;font-weight:bold }
/* LiteralNumberBin */ .chroma .mb { color:#2aa198;font-weight:bold }
/* LiteralNumberFloat */ .chroma .mf { color:#2aa198;font-weight:bold }
/* LiteralNumberHex */ .chroma .mh { color:#2aa198;font-weight:bold }
/* LiteralNumberInteger */ .chroma .mi { color:#2aa198;font-weight:bold }
/* LiteralNumberIntegerLong */ .chroma .il { color:#2aa198;font-weight:bold }
/* LiteralNumberOct */ .chroma .mo { color:#2aa198;font-weight:bold }
/* Operator */ .chroma .o { }
/* OperatorWord */ .chroma .ow { color:#859900 }
/* Punctuation */ .chroma .p { }
/* Comment */ .chroma .c { color:#93a1a1;font-style:italic }
/* CommentHashbang */ .chroma .ch { color:#93a1a1;font-style:italic }
/* CommentMultiline */ .chroma .cm { color:#93a1a1;font-style:italic }
/* CommentSingle */ .chroma .c1 { color:#93a1a1;font-style:italic }
/* CommentSpecial */ .chroma .cs { color:#93a1a1;font-style:italic }
/* CommentPreproc */ .chroma .cp { color:#93a1a1;font-style:italic }
/* CommentPreprocFile */ .chroma .cpf { color:#93a1a1;font-style:italic }
/* Generic */ .chroma .g { color:#d33682 }
/* GenericDeleted */ .chroma .gd { color:#d33682 }
/* GenericEmph */ .chroma .ge { color:#d33682 }
/* GenericError */ .chroma .gr { color:#d33682 }
/* GenericHeading */ .chroma .gh { color:#d33682 }
/* GenericInserted */ .chroma .gi { color:#d33682 }
/* GenericOutput */ .chroma .go { color:#d33682 }
/* GenericPrompt */ .chroma .gp { color:#d33682 }
/* GenericStrong */ .chroma .gs { color:#d33682 }
/* GenericSubheading */ .chroma .gu { color:#d33682 }
/* GenericTraceback */ .chroma .gt { color:#d33682 }
/* GenericUnderline */ .chroma .gl { color:#d33682 }
/* TextWhitespace */ .chroma .w { }

BIN
static/static/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
static/static/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

57
static/static/logo.svg Normal file
View file

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
viewBox="0 0 80 80"
version="1.1"
id="svg1"
sodipodi:docname="logo.svg"
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1" />
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
inkscape:zoom="1.9270133"
inkscape:cx="65.645629"
inkscape:cy="72.39182"
inkscape:window-width="1916"
inkscape:window-height="1026"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="layer1" />
<style
id="style1">
path {
fill:none;
stroke:#000000;
stroke-width:3.5;
stroke-linecap:round;
stroke-linejoin:miter;
stroke-dasharray:none;
stroke-opacity:1
}
@media (prefers-color-scheme: dark) {
path { stroke: #f0f0f0 }
}
</style>
<g
id="layer1">
<path
d="m 33.93812,57.35608 c -2.09127,-8.3238 -6.421596,-19.16538 -4.113261,-26.0517 1.134461,-3.38437 3.845371,-5.56463 7.977231,-5.73386 3.19716,-0.13095 8.72664,0.36824 9.59761,6.23246 0.76712,5.16491 -4.15506,6.39829 -7.22937,8.1022 6.50598,-1.93981 12.01867,1.47517 13.33694,7.105 1.31827,5.62984 -0.76053,10.88377 -3.67194,14.55887 -2.9114,3.67511 -7.14804,6.27136 -12.7811,6.50685 C 21.415486,68.72968 11.927485,54.67483 11.751441,39.19832 11.575406,23.72181 23.343582,11.494025 40.08723,11.290233 56.83088,11.086441 69.20544,25.91722 68.19167,42.02395 c -0.81502,12.94911 -5.57382,19.26544 -9.73003,22.70007 -1.66423,1.37528 -3.28127,3.98783 -3.28127,3.98783"
id="path1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB