diff --git a/.dockerignore b/.dockerignore index 996b331..ea1ffdd 100644 --- a/.dockerignore +++ b/.dockerignore @@ -11,3 +11,8 @@ scripts/ # Docker docker-compose.yml Dockerfile + +# Internal stuff +*.pdn +*.ai +*.private.* diff --git a/.gitignore b/.gitignore index b1100fa..4e2bb2a 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ scripts/package-lock.json # Internal stuff *.pdn *.ai +*.private.* # Temp static/resources/DecimalJs* diff --git a/data/projects/lscom-cli-dotnet.yml b/data/projects/lscom-cli-dotnet.yml index f618cd4..405fe8b 100644 --- a/data/projects/lscom-cli-dotnet.yml +++ b/data/projects/lscom-cli-dotnet.yml @@ -28,7 +28,7 @@ projects: subtitle_key: "article.subtitle" tags: - "application" - - "tool" + - "cli" - "windows" languages: - "dotnet" diff --git a/data/projects/pearch.yml b/data/projects/pearch.yml new file mode 100644 index 0000000..1380e59 --- /dev/null +++ b/data/projects/pearch.yml @@ -0,0 +1,36 @@ + +projects: + - id: "pearch" + metadata: + head: + title_key: "meta.title" + description_key: "meta.description" + opengraph: + title_key: "meta.title" + description_key: "meta.description" + type: null + url: null + image_url: "/resources/NibblePoker/images/content/pearch/main.png" + image_type: null + twitter: + title_key: "meta.title" + description_key: "meta.description" + index: + priority: 2000 + enable: true + title_key: "meta.title" + preamble_key: "meta.description" + image_url: "/resources/NibblePoker/images/content/pearch/main.png" + image_alt_key: "" + general: + icon: "fad fa-terminal" + title_key: "meta.title" + subtitle_key: "article.subtitle" + tags: + - "application" + - "cli" + - "windows" + - "windows-pe" + - "cpu-arch" + languages: + - "purebasic" diff --git a/data/sitemap.yml b/data/sitemap.yml index 1eb0741..06c84ce 100644 --- a/data/sitemap.yml +++ b/data/sitemap.yml @@ -27,6 +27,10 @@ sitemap: lastmod: "2025-09-13T16:19:00+02:00" priority: "0.6" + "/content/pearch/": + lastmod: "2025-09-14T00:15:00+02:00" + priority: "0.6" + "/links/": lastmod: "2025-03-01T07:40:00+01:00" priority: "0.6" diff --git a/data/strings/en/commons.yml b/data/strings/en/commons.yml index 95155a3..3c9df9e 100644 --- a/data/strings/en/commons.yml +++ b/data/strings/en/commons.yml @@ -22,6 +22,18 @@ user-agent: User-Agent server: Server +windows: + 95: "Windows 95" + 98: "Windows 98" + 2000: "Windows 2000" + xp: "Windows XP" + vista: "Windows Vista" + 7: "Windows 7" + 8: "Windows 8" + 81: "Windows 8.1" + 10: "Windows 10" + 11: "Windows 11" + cpu.architecture: CPU Architecture cpu.responsive: "CPU Architecture" cpu.any: "Any architecture" @@ -34,6 +46,87 @@ cpu.arm64: "ARM64" #cpu.arm64: "

ARM64
ARMv8
AArch64

" cpu.risc-v: "RISC-V" +cpu: + human: + unknown: The content of this field is assumed to be applicable to any machine type + alpha: Alpha AXP, 32-bit address space + alpha64: Alpha 64, 64-bit address space + am33: Matsushita AM33 + amd64: x64 + any: Any architecture + arm: ARM little endian + arm64: ARM64 little endian + arm64ec: ABI that enables interoperability between native ARM64 and emulated x64 code. + arm64x: Binary format that allows both native ARM64 and ARM64EC code to coexist in the same file. + armnt: ARM Thumb-2 little endian + axp64: AXP 64 (Same as Alpha 64) + ebc: EFI byte code + i386: Intel 386 or later processors and compatible processors + ia64: Intel Itanium processor family + loongarch32: LoongArch 32-bit processor family + loongarch64: LoongArch 64-bit processor family + m32r: Mitsubishi M32R little endian + mips16: MIPS16 + mipsfpu: MIPS with FPU + mipsfpu16: MIPS16 with FPU + powerpc: Power PC little endian + powerpcfp: Power PC with floating point support + r3000be: MIPS I compatible 32-bit big endian + r3000: MIPS I compatible 32-bit little endian + r4000: MIPS III compatible 64-bit little endian + r10000: MIPS IV compatible 64-bit little endian + riscv32: RISC-V 32-bit address space + riscv64: RISC-V 64-bit address space + riscv128: RISC-V 128-bit address space + sh3: Hitachi SH3 + sh3dsp: Hitachi SH3 DSP + sh4: Hitachi SH4 + sh5: Hitachi SH5 + thumb: Thumb + wcemipsv2: MIPS little-endian WCE v2v2 + code: + unknown: UNKNOWN + alpha: ALPHA + alpha64: ALPHA64 + am33: AM33 + amd64: AMD64 + any: ANY + arm: ARM + arm32: "ARM32" + arm64: ARM64 + arm64ec: ARM64EC + arm64x: ARM64X + armnt: ARMNT + axp64: AXP64 + ebc: EBC + i386: I386 + ia64: IA64 + loongarch32: LOONGARCH32 + loongarch64: LOONGARCH64 + m32r: M32R + mips16: MIPS16 + mipsfpu: MIPSFPU + mipsfpu16: MIPSFPU16 + powerpc: POWERPC + powerpcfp: POWERPCFP + r3000be: R3000BE + r3000: R3000 + r4000: R4000 + r10000: R10000 + riscv: RISC-V + riscv32: RISCV32 + riscv64: RISCV64 + riscv128: RISCV128 + sh3: SH3 + sh3dsp: SH3DSP + sh4: SH4 + sh5: SH5 + thumb: THUMB + wcemipsv2: WCEMIPSV2 + x64: "x64" + x86: "x86" + + requirements: Requirements python: Python @@ -92,47 +185,48 @@ format.yaml: "YAML" action.generate: "Generate" -country.afghanistan: "Afghanistan" -country.albania: "Albania" -country.algeria: "Algeria" -country.andorra: "Andorra" -country.angola: "Angola" -country.anguilla: "Anguilla" -country.argentina: "Argentina" -country.australia: "Australia" -country.austria: "Austria" -country.azerbaijan: "Azerbaijan" -country.azores: "Azores" -country.bahamas: "Bahamas" -country.belgium: "Belgium" -country.bulgaria: "Bulgaria" -country.corsica: "Corsica" -country.croatia: "Croatia" -country.cyprus: "Cyprus" -country.czechia: "Czechia" -country.denmark: "Denmark" -country.estonia: "Estonia" -country.finland: "Finland" -country.france: "France" -country.france.corsica: "France - Corsica" -country.germany: "Germany" -country.greece: "Greece" -country.hungary: "Hungary" -country.ireland: "Ireland" -country.italy: "Italy" -country.latvia: "Latvia" -country.lithuania: "lithuania" -country.luxembourg: "Luxembourg" -country.madeira: "Madeira" -country.malta: "Malta" -country.monaco: "Monaco" -country.netherlands: "Netherlands" -country.poland: "Poland" -country.portugal: "Portugal" -country.portugal.azores: "Portugal - Azores" -country.portugal.madeira: "Portugal - Madeira" -country.romania: "Romania" -country.slovenia: "Slovenia" -country.slovakia: "Slovakia" -country.spain: "Spain" -country.sweden: "Sweden" +country: + afghanistan: "Afghanistan" + albania: "Albania" + algeria: "Algeria" + andorra: "Andorra" + angola: "Angola" + anguilla: "Anguilla" + argentina: "Argentina" + australia: "Australia" + austria: "Austria" + azerbaijan: "Azerbaijan" + azores: "Azores" + bahamas: "Bahamas" + belgium: "Belgium" + bulgaria: "Bulgaria" + corsica: "Corsica" + croatia: "Croatia" + cyprus: "Cyprus" + czechia: "Czechia" + denmark: "Denmark" + estonia: "Estonia" + finland: "Finland" + france: "France" + france.corsica: "France - Corsica" + germany: "Germany" + greece: "Greece" + hungary: "Hungary" + ireland: "Ireland" + italy: "Italy" + latvia: "Latvia" + lithuania: "lithuania" + luxembourg: "Luxembourg" + madeira: "Madeira" + malta: "Malta" + monaco: "Monaco" + netherlands: "Netherlands" + poland: "Poland" + portugal: "Portugal" + portugal.azores: "Portugal - Azores" + portugal.madeira: "Portugal - Madeira" + romania: "Romania" + slovenia: "Slovenia" + slovakia: "Slovakia" + spain: "Spain" + sweden: "Sweden" diff --git a/data/strings/en/pearch.yml b/data/strings/en/pearch.yml new file mode 100644 index 0000000..cf92163 --- /dev/null +++ b/data/strings/en/pearch.yml @@ -0,0 +1,48 @@ +# PEArch - EN + +meta: + title: "PEArch" + description: "CLI tool that tells you which CPU architecture a given Windows PE is made for." + +intro: + title: "Introduction" + text: + p1: + l1: A small tool that tells you which + CPU architecture + a given Windows PE is made for. + p2: + l1: A total of 35 architectures are supported by this tool. + +usage: + title: "Usage" + text: + p1: + l1: "This tool can either be used in a command prompt with the options below." + l2: "Or, you can simply drop a file onto the .exe or a shortcut to get the same result." + details: + #disclaimer: The architecture codes, as well as their descriptions, are taken from Microsoft's + # MSDN. + title: "Click here to show/hide the architecture and return codes" + thead: + code: "STDOUT" + hex: "STDOUT with /AsHex" + dec: "STDERR with /AsError" + description: "Description (Source: MSDN)" + +output: + title: "Output examples" + default: + title: "Without options:" + options: + title: "With /AsHex and /AsError:" + +downloads: + title: "Downloads" + +license: + title: "License" + text: "This software and its source code is released in the Public Domain (CC0 1.0 Universal)." + +links: + title: "Links" diff --git a/data/strings/fr/commons.yml b/data/strings/fr/commons.yml index 2e2e2c2..af095dd 100644 --- a/data/strings/fr/commons.yml +++ b/data/strings/fr/commons.yml @@ -22,6 +22,18 @@ user-agent: User-Agent server: Serveur +windows: + 95: "Windows 95" + 98: "Windows 98" + 2000: "Windows 2000" + xp: "Windows XP" + vista: "Windows Vista" + 7: "Windows 7" + 8: "Windows 8" + 81: "Windows 8.1" + 10: "Windows 10" + 11: "Windows 11" + cpu.architecture: Architecture de CPU cpu.responsive: "Architecture de CPU" cpu.any: "Indépendante" @@ -34,6 +46,87 @@ cpu.arm64: "ARM64" #cpu.arm64: "

ARM64
ARMv8
AArch64

" cpu.risc-v: "RISC-V" +cpu: + human: + unknown: Le contenu de ce champ est supposé pouvoir s’appliquer à n’importe quel type d’ordinateur + alpha: Alpha AXP, espace d’adressage 32 bits + alpha64: Alpha 64, espace d’adressage 64 bits + am33: Matsushita AM33 + amd64: X64 + any: Indépendante + arm: ARM little endian + arm64: ARM64 little endian + arm64ec: ABI permettant l'interopérabilité entre le code natif ARM64 et le code x64 émulé. + arm64x: Format binaire qui permet à la fois au code natif ARM64 et au code ARM64EC de coexister dans le même fichier. + armnt: ARM Pouce-2 petit endian + axp64: AXP 64 (identique à Alpha 64) + ebc: Code d’octet EFI + i386: Processeurs Intel 386 ou ultérieurs et processeurs compatibles + ia64: Famille de processeurs Intel Itanium + loongarch32: Famille de processeurs LoongArch 32 bits + loongarch64: Famille de processeurs LoongArch 64 bits + m32r: Mitsubishi M32R petit endian + mips16: MIPS16 + mipsfpu: MIPS avec FPU + mipsfpu16: MIPS16 avec FPU + powerpc: Power PC little endian + powerpcfp: Power PC avec prise en charge de la virgule flottante + r3000be: MIPS I compatible 32 bits big endian + r3000: MIPS I compatible 32 bits little endian + r4000: MIPS III compatible 64 bits petit endian + r10000: MIPS IV compatible 64 bits petit endian + riscv32: Espace d’adressage RISC-V 32 bits + riscv64: Espace d’adressage RISC-V 64 bits + riscv128: Espace d’adressage RISC-V 128 bits + sh3: Hitachi SH3 + sh3dsp: Hitachi SH3 DSP + sh4: Hitachi SH4 + sh5: Hitachi SH5 + thumb: Pouce + wcemipsv2: MIPS little-endian WCE v2 + code: + unknown: UNKNOWN + alpha: ALPHA + alpha64: ALPHA64 + am33: AM33 + amd64: AMD64 + any: ANY + arm: ARM + arm32: "ARM32" + arm64: ARM64 + arm64ec: ARM64EC + arm64x: ARM64X + armnt: ARMNT + axp64: AXP64 + ebc: EBC + i386: I386 + ia64: IA64 + loongarch32: LOONGARCH32 + loongarch64: LOONGARCH64 + m32r: M32R + mips16: MIPS16 + mipsfpu: MIPSFPU + mipsfpu16: MIPSFPU16 + powerpc: POWERPC + powerpcfp: POWERPCFP + r3000be: R3000BE + r3000: R3000 + r4000: R4000 + r10000: R10000 + riscv: RISC-V + riscv32: RISCV32 + riscv64: RISCV64 + riscv128: RISCV128 + sh3: SH3 + sh3dsp: SH3DSP + sh4: SH4 + sh5: SH5 + thumb: THUMB + wcemipsv2: WCEMIPSV2 + x64: "x64" + x86: "x86" + + requirements: "Dépendances" python: Python @@ -92,47 +185,48 @@ format.yaml: "YAML" action.generate: "Générer" -country.afghanistan: "Afghanistan" -country.albania: "Albanie" -country.algeria: "Algérie" -country.andorra: "Andorre" -country.angola: "Angola" -country.anguilla: "Anguilla" -country.argentina: "Argentine" -country.australia: "Australie" -country.austria: "Autriche" -country.azerbaijan: "Azerbaïdjan" -country.azores: "Açores" -country.bahamas: "Bahamas" -country.belgium: "Belgique" -country.bulgaria: "Bulgarie" -country.corsica: "Corse" -country.croatia: "Croatie" -country.cyprus: "Chypre" -country.czechia: "Tchéquie" -country.denmark: "Danemark" -country.estonia: "Estonie" -country.finland: "Finlande" -country.france: "France" -country.france.corsica: "France - Corse" -country.germany: "Allemagne" -country.greece: "Grèce" -country.hungary: "Hongrie" -country.ireland: "Irlande" -country.italy: "Italie" -country.latvia: "Lettonie" -country.lithuania: "Lituanie" -country.luxembourg: "Luxembourg" -country.madeira: "Madère" -country.malta: "Malte" -country.monaco: "Monaco" -country.netherlands: "Pays-Bas" -country.poland: "Pologne" -country.portugal: "Portugal" -country.portugal.azores: "Portugal - Açores" -country.portugal.madeira: "Portugal - Madère" -country.romania: "Roumanie" -country.slovenia: "Slovénie" -country.slovakia: "Slovaquie" -country.spain: "Espagne" -country.sweden: "Suède" +country: + afghanistan: "Afghanistan" + albania: "Albanie" + algeria: "Algérie" + andorra: "Andorre" + angola: "Angola" + anguilla: "Anguilla" + argentina: "Argentine" + australia: "Australie" + austria: "Autriche" + azerbaijan: "Azerbaïdjan" + azores: "Açores" + bahamas: "Bahamas" + belgium: "Belgique" + bulgaria: "Bulgarie" + corsica: "Corse" + croatia: "Croatie" + cyprus: "Chypre" + czechia: "Tchéquie" + denmark: "Danemark" + estonia: "Estonie" + finland: "Finlande" + france: "France" + france.corsica: "France - Corse" + germany: "Allemagne" + greece: "Grèce" + hungary: "Hongrie" + ireland: "Irlande" + italy: "Italie" + latvia: "Lettonie" + lithuania: "Lituanie" + luxembourg: "Luxembourg" + madeira: "Madère" + malta: "Malte" + monaco: "Monaco" + netherlands: "Pays-Bas" + poland: "Pologne" + portugal: "Portugal" + portugal.azores: "Portugal - Açores" + portugal.madeira: "Portugal - Madère" + romania: "Roumanie" + slovenia: "Slovénie" + slovakia: "Slovaquie" + spain: "Espagne" + sweden: "Suède" diff --git a/data/strings/fr/pearch.yml b/data/strings/fr/pearch.yml new file mode 100644 index 0000000..a98c266 --- /dev/null +++ b/data/strings/fr/pearch.yml @@ -0,0 +1,49 @@ +# PEArch - FR + +meta: + title: "PEArch" + description: "Outil pour invité de commande qui vous indique l'architecture de CPU pour laquelle un executable a été compilé." + +intro: + title: "Introduction" + text: + p1: + l1: A small tool that tells you which + CPU architecture + a given Windows PE is made for. + p2: + l1: Un total de 35 architectures sont supportées par cet outil. + +usage: + title: "Utilisation" + text: + p1: + l1: "Cet outil peut soit être utilisé dans un invité de commande avec les options ci-dessous." + l2: "Ou alors, vous pouvez simplement déposer un fichier sur le .exe ou un raccourci, et avoir le même résultat." + details: + #disclaimer: Les codes d'architecture, ainsi que leur descriptions, sont tirés de ceux de Microsoft sur + # MSDN. + title: "Cliquez ici pour afficher/cacher les codes d'architecture et de retour" + thead: + code: "STDOUT" + hex: "STDOUT avec /AsHex" + dec: "STDERR avec /AsError" + description: "Description (Source: MSDN)" + +output: + title: "Examples d'exécution" + default: + title: "Sans options:" + options: + title: "Avec /AsHex et /AsError:" + +downloads: + title: "Téléchargements" + +license: + title: "Licence" + text: "Ce programme, ainsi que son code-source sont dans le domaine public (CC0 1.0 Universal)." + +links: + title: "Liens" + diff --git a/readme.md b/readme.md index c7b9b7e..706ed3e 100644 --- a/readme.md +++ b/readme.md @@ -1,9 +1,18 @@ # Website - NibblePoker.lu -Public repository containing the source code for the *nibblepoker.lu* & *nibblepoker.com* websites. +Public repository containing the source code for [nibblepoker.lu](https://nibblepoker.lu/) & +[nibblepoker.com](https://nibblepoker.com/). ## Features -TODO +* Projects + * [CircuitPython - Ebyte E32 Driver](https://nibblepoker.lu/content/circuitpython-ebyte-e32/) + * [DotNet-ListComPort](https://nibblepoker.lu/content/lscom-cli-dotnet/) + * [Mini Dockerized CCTV NVR](https://nibblepoker.lu/content/docker-mini-cctv-nvr/) +* Web-based Tools + * [Excel Password Remover](https://nibblepoker.lu/tools/excel-password-remover/) + * [IBAN Generator](https://nibblepoker.lu/tools/iban-generator/) + * [UUID Generator](https://nibblepoker.lu/tools/uuid-generator/) + * [VAT Calculator](https://nibblepoker.lu/tools/vat-calculator/) ## Related Projects diff --git a/static/resources/NibblePoker/images/content/pearch/main.png b/static/resources/NibblePoker/images/content/pearch/main.png new file mode 100644 index 0000000..5d2d480 Binary files /dev/null and b/static/resources/NibblePoker/images/content/pearch/main.png differ diff --git a/templates/projects/lscom-cli-dotnet.jinja b/templates/projects/lscom-cli-dotnet.jinja index d144349..19159aa 100644 --- a/templates/projects/lscom-cli-dotnet.jinja +++ b/templates/projects/lscom-cli-dotnet.jinja @@ -10,7 +10,7 @@ -
+
{{ render_h2(l10n("requirements.title", project_id, user_lang)) }}
{{ render_list_ul([ @@ -54,27 +54,27 @@ {{ render_h2(l10n("usage.title", project_id, user_lang)) }}
{{ - render_code_block([ - "lscom.exe [-a|--show-all] [-d|--show-device] [-D |--divider ] [-f|--show-friendly]", - " [-h|--help] [-H|--short-help] [-n|--show-name-raw] [-P|--no-pretty] [-s|--sort]", - " [-S|--sort-reverse] [-t|--tab-padding] [-v|--version] [-V|--version-only]", - "", - "Launch arguments:", - " -a, --show-all Display the complete port's name (Equal to '-dfn')", - " -d, --show-device Displays the port's device name", - " -D , --divider Uses the given string or char as a separator (Can be empty string !)", - " -f, --show-friendly Displays the port's friendly name", - " -h, --help Display this help text", - " -H, --short-help Display the short help text", - " -n, --show-name-raw Displays the port's raw name (See remarks section)", - " -P, --no-pretty Disables the pretty printing format (Equal to -D \" \")", - " -s, --sort Sorts the port based on their raw names in an ascending order", - " -S, --sort-reverse Sorts the port based on their raw names in a descending order", - " -t, --tab-padding Use tabs for padding between the types of names (Overrides '-D')", - " -v, --version Shows the utility's version number and other info", - " -V, --version-only Shows the utility's version number only (Overrides '-v')" - ], None) - }} + render_code_block([ + "lscom.exe [-a|--show-all] [-d|--show-device] [-D |--divider ] [-f|--show-friendly]", + " [-h|--help] [-H|--short-help] [-n|--show-name-raw] [-P|--no-pretty] [-s|--sort]", + " [-S|--sort-reverse] [-t|--tab-padding] [-v|--version] [-V|--version-only]", + "", + "Launch arguments:", + " -a, --show-all Display the complete port's name (Equal to '-dfn')", + " -d, --show-device Displays the port's device name", + " -D , --divider Uses the given string or char as a separator (Can be empty string !)", + " -f, --show-friendly Displays the port's friendly name", + " -h, --help Display this help text", + " -H, --short-help Display the short help text", + " -n, --show-name-raw Displays the port's raw name (See remarks section)", + " -P, --no-pretty Disables the pretty printing format (Equal to -D \" \")", + " -s, --sort Sorts the port based on their raw names in an ascending order", + " -S, --sort-reverse Sorts the port based on their raw names in a descending order", + " -t, --tab-padding Use tabs for padding between the types of names (Overrides '-D')", + " -v, --version Shows the utility's version number and other info", + " -V, --version-only Shows the utility's version number only (Overrides '-v')" + ], None) + }}
@@ -82,26 +82,26 @@ {{ render_h2(l10n("formatting.title", project_id, user_lang)) }}
{{ - render_code_block([ - " *┬> No launch arguments:", - " └──> ${Raw name} => COM1", - " *┬> '-d' or '-f'", - " ├──> ${Device name} => \\Device\\Serial1", - " └──> ${Friendly name} => Communications Port", - " *┬> '-d' and '-f'", - " └──> ${Friendly name} [${Device name}] => Communications Port [\\Device\\Serial1]", - " *┬> '-n' and '-d'", - " └──> ${Raw name} [$DeviceName] => COM1 [\\Device\\Serial1]", - " *┬> '-n' and '-f'", - " └──> ${Raw name} - ${Friendly name} => COM1 - Communications Port", - " *┬> '-ndf' or '-a'", - " └──> ${Raw name} - ${Friendly name} [${Device name}] => COM1 - Communications Port [\\Device\\Serial1]", - " *┬> '-ndfp' or '-ap'", - " └──> ${Raw name} ${Friendly name} ${Device name} => COM1 Communications Port \\Device\\Serial1", - " *┬> '-ndfD \";\"' or '-aD \";\"'", - " └──> ${Raw name};${Friendly name};${Device name} => COM1;Communications Port;\\Device\\Serial1" - ], None) - }} + render_code_block([ + " *┬> No launch arguments:", + " └──> ${Raw name} => COM1", + " *┬> '-d' or '-f'", + " ├──> ${Device name} => \\Device\\Serial1", + " └──> ${Friendly name} => Communications Port", + " *┬> '-d' and '-f'", + " └──> ${Friendly name} [${Device name}] => Communications Port [\\Device\\Serial1]", + " *┬> '-n' and '-d'", + " └──> ${Raw name} [$DeviceName] => COM1 [\\Device\\Serial1]", + " *┬> '-n' and '-f'", + " └──> ${Raw name} - ${Friendly name} => COM1 - Communications Port", + " *┬> '-ndf' or '-a'", + " └──> ${Raw name} - ${Friendly name} [${Device name}] => COM1 - Communications Port [\\Device\\Serial1]", + " *┬> '-ndfp' or '-ap'", + " └──> ${Raw name} ${Friendly name} ${Device name} => COM1 Communications Port \\Device\\Serial1", + " *┬> '-ndfD \";\"' or '-aD \";\"'", + " └──> ${Raw name};${Friendly name};${Device name} => COM1;Communications Port;\\Device\\Serial1" + ], None) + }}
@@ -122,113 +122,113 @@
- - - - - + + + + + - - - - + + + - + }} + + + - - - - + + + - - - - + + + + - + }} + + + - - - - + + + - - - - + + + + - + }} + + + - - - - + + + - - - - + + + + - + }} + + + -
{{ l10n("cpu.architecture", "commons", user_lang) }}{{ l10n("requirements", "commons", user_lang) }}{{ l10n("download.multiple", "commons", user_lang) }}
{{ l10n("cpu.architecture", "commons", user_lang) }}{{ l10n("requirements", "commons", user_lang) }}{{ l10n("download.multiple", "commons", user_lang) }}
{{ l10n("cpu.any", "commons", user_lang) }}{{ l10n("requirements.text.dotnet", project_id, user_lang) }} - - {{ render_button( +
{{ l10n("cpu.any", "commons", user_lang) }}{{ l10n("requirements.text.dotnet", project_id, user_lang) }} + + {{ render_button( "ZIP - 120.36 KiB", False, None) - }} - -
{{ l10n("cpu.x64", "commons", user_lang) }}{{ l10n("requirements.text.dotnet", project_id, user_lang) }} - - {{ render_button( +
{{ l10n("cpu.x64", "commons", user_lang) }}{{ l10n("requirements.text.dotnet", project_id, user_lang) }} + + {{ render_button( "ZIP - 138.9 KiB", False, None) - }} - -
{{ l10n("none.fs", "commons", user_lang) }} - - {{ render_button( + }} + +
{{ l10n("none.fs", "commons", user_lang) }} + + {{ render_button( "ZIP - 7.35 MiB", False, None) - }} - + }} + - - {{ render_button( + + {{ render_button( "MSI - 10.51 MiB", False, None, "btn-primary") - }} - -
{{ l10n("cpu.x86", "commons", user_lang) }}{{ l10n("requirements.text.dotnet", project_id, user_lang) }} - - {{ render_button( +
{{ l10n("cpu.x86", "commons", user_lang) }}{{ l10n("requirements.text.dotnet", project_id, user_lang) }} + + {{ render_button( "ZIP - 123.56 KiB", False, None) - }} - -
{{ l10n("none.fs", "commons", user_lang) }} - - {{ render_button( + }} + +
{{ l10n("none.fs", "commons", user_lang) }} + + {{ render_button( "ZIP - 6.64 MiB", False, None) - }} - + }} + - - {{ render_button( + + {{ render_button( "MSI - 9.79 MiB", False, None, "btn-primary") - }} - -
{{ l10n("cpu.arm64", "commons", user_lang) }}{{ l10n("requirements.text.dotnet", project_id, user_lang) }} - - {{ render_button( +
{{ l10n("cpu.arm64", "commons", user_lang) }}{{ l10n("requirements.text.dotnet", project_id, user_lang) }} + + {{ render_button( "ZIP - 130.34 KiB", False, None) - }} - -
{{ l10n("none.fs", "commons", user_lang) }} - - {{ render_button( + }} + +
{{ l10n("none.fs", "commons", user_lang) }} + + {{ render_button( "ZIP - 7.04 MiB", False, None) - }} - -