Added licenses to Excel Password Remover, Filed file input on standalone, Added auto-clear to file input

Update excel-password-remover.yml, excel-password-remover.yml, and 3 more files...
This commit is contained in:
2025-09-14 02:12:04 +02:00
parent 1f249206e7
commit 8c51b2b8b3
5 changed files with 136 additions and 120 deletions

View File

@@ -1,58 +1,43 @@
# EN - Excel Password Remover
meta.title: Excel Password Remover
meta.description: >-
meta:
title: Excel Password Remover
description: >-
Small web application from which you can easily remove a password from an Excel
worksheet. It works by leaving the task of editing the XML files on an Excel
document to your browser instead to keep everything local.
meta.description.light: >-
description.light: >-
Small web application from which you can easily remove a password from an Excel
worksheet directly in your browser.
#article.subtitle: >-
# <a
# href="https://github.com/aziascreations/Excel-Worksheet-Password-Remover"><i
# class="fab fa-github"></i> View on GitHub</a>
#intro.title: Introduction
#intro.p1: >-
# This project aims to simplify the removal of passwords on Excel's Worksheet by
# leaving the task of editing the XML files on an Excel document to your
# browser.
#working.title: Security & Internal workings
#working.p1: >-
# In terms of security, your browser handles all the data without sending any of
# it to a central server like many web apps do.<br>This makes it, and your data,
# as safe as your browser can be since it is the only potential point of failure
# here.
#working.p2: >-
# As for the internal workings, the only thing this tool does is extract the
# content of the <code>.xlsx</code> file you gave it and removes the passwords
# on any worksheets and makes a new file with all the changes.<br>Once all of
# that is done, the file is downloaded via a <a
# href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs">data
# URL</a>.
#usage.title: Usage
#usage.p1: >-
# To use this tool you can either visit "<a
# href="https://aziascreations.github.io/Excel-Worksheet-Password-Remover">aziascreations.github.io/Excel-Worksheet-Password-Remover</a>"
# or download the repository and host the web page yourself.
#demo.title: Demonstration video
#links.title: Links
#content.link.demo: Demo hosted on GitHub
eula.1: "This tool should only be used with files you have the express permission to unlock."
eula.2: "All password removal is done locally in your browser, and <span class='t-bold'>no data is sent online</span>.<br>
eula:
1: "This tool should only be used with files you have the express permission to unlock."
2: "All password removal is done locally in your browser, and <span class='t-bold'>no data is sent online</span>.<br>
The original password cannot be revealed as its secure by design and not stored in plain text; it simply gets removed."
eula.3: "By using this tool, you accept full responsibility, and that it is provided “as is” without any warranty."
3: "By using this tool, you accept full responsibility, and that it is provided “as is” without any warranty."
file.selection.title: "File Selection"
file.selection.1: "Drop your excel file(s) here or click on the buttons."
file:
selection:
title: "File Selection"
1: "Drop your excel file(s) here or click on the buttons."
details.title : "Result(s)"
details.empty.1 : "Your Excel files with their password removed will end up here."
details:
title : "Result(s)"
empty:
1 : "Your Excel files with their password removed will end up here."
result.success.count: "Removed <span id=\"tmpl-success-password-count\">???</span> password(s)"
result.warning.extension: "The file doesn't appear to be an Excel Worksheet !"
result.warning.password: "The Excel Worksheet didn't contain any password !"
result.error.jszip: "JSZip was unable to open the file !"
result:
success:
count: "Removed <span id=\"tmpl-success-password-count\">???</span> password(s)"
warning:
extension: "The file doesn't appear to be an Excel Worksheet !"
password: "The Excel Worksheet didn't contain any password !"
error:
jszip: "JSZip was unable to open the file !"
license:
title: "Licenses"
text:
1: "This tool uses the <a href=\"https://stuk.github.io/jszip/\">JSZip</a>
library, which is licensed under the <a href=\"https://github.com/Stuk/jszip/blob/main/LICENSE.markdown\">MIT license</a>."
2: "The rest of this tool's code is released in the <a href=\"https://github.com/aziascreations/Web-NibblePoker\">public domain</a>."

View File

@@ -1,53 +1,44 @@
# FR - Excel Password Remover
meta.title: Excel Password Remover
meta.description: >-
meta:
title: Excel Password Remover
description: >-
Petite application web qui permet de facilement retirer le mot de passe d'une
feuille de calcul Excel depuis votre navigateur web sans avoir à uploader le
fichier sur internet. Cette application laisse votre navigateur modifier les
fichiers XML du fichier Excel afin de tout garder en local.
meta.description.light: >-
description.light: >-
Application web qui permet de facilement retirer le mot de passe d'un ficher Excel depuis
votre navigateur web sans avoir à uploader le fichier sur internet.
#article.subtitle: >-
# <a
# href="https://github.com/aziascreations/Excel-Worksheet-Password-Remover"><i
# class="fab fa-github"></i> Voir sur GitHub</a>
#intro.title: Introduction
#intro.p1: >-
# Ce projet vise à simplifier le processus de suppression des mots de passes sur
# les "worksheet" d'Excel en laissant votre navigateur web s'en charger.
#working.title: Sécurité & Fonctionnement
#working.p1: >-
# Cet outil charge le ficher que vous lui donnez en mémoire et travaille
# directement dessus dans le navigateur web sans utiliser un serveur central,
# vos données restent donc entièrement sur votre machine.
#working.p2: >-
# Par sécurité, nous vous demandons quand même de n'utiliser cet outil qu'avec
# des fichiers pour lesquels vous avez été explicitement autorisés à enlever le
# mot de passe.
#usage.title: Utilisation
#usage.p1: >-
# Vous pouvez utiliser cet outil en allant sur "<a
# href="https://aziascreations.github.io/Excel-Worksheet-Password-Remover">aziascreations.github.io/Excel-Worksheet-Password-Remover</a>"
# ou en téléchargeant le dépôt et en hébergeant la page web vous-même.
#demo.title: Vidéo de démonstration
#links.title: Liens
#content.link.demo: Démo hébergée sur GitHub
eula.1 : "Cet outil ne doit être utilisé qu'avec des fichiers pour lesquels vous avez l'autorisation de les déverrouiller."
eula.2 : "Toute suppression de mot de passe se fait localement dans votre navigateur, et <span class='t-bold'>aucune donnée n'est envoyée via Internet</span>.<br>
eula:
1: "Cet outil ne doit être utilisé qu'avec des fichiers pour lesquels vous avez l'autorisation de les déverrouiller."
2: "Toute suppression de mot de passe se fait localement dans votre navigateur, et <span class='t-bold'>aucune donnée n'est envoyée via Internet</span>.<br>
Le mot de passe original ne peut pas être révélé car il est sécurisé par Excel et n'est pas stocké en texte clair ; il est simplement supprimé."
eula.3 : "En utilisant cet outil, vous acceptez l'entière responsabilité de vos action, et le fait qu'il est fourni “tel quel” sans aucune garantie."
3: "En utilisant cet outil, vous acceptez l'entière responsabilité de vos action, et le fait qu'il est fourni “tel quel” sans aucune garantie."
file.selection.title : "Sélection de fichier(s)"
file.selection.1 : "Déposez vos fichiers Excel ici ou cliquez sur les boutons."
file:
selection:
title: "Sélection de fichier(s)"
1: "Déposez vos fichiers Excel ici ou cliquez sur les boutons."
details.title: "Résultat(s)"
details.empty.1 : "Vos fichiers Excel sans leurs mots de passe finiront ici."
details:
title: "Résultat(s)"
empty:
1: "Vos fichiers Excel sans leurs mots de passe finiront ici."
result.success.count: "Mot de passe(s) supprimé(s) : <span id=\"tmpl-success-password-count\">???</span>"
result.warning.extension: "Le fichier ne semble pas être une feuille de calcul Excel !"
result.warning.password: "La feuille de calcul Excel ne contenait aucun mot de passe !"
result.error.jszip: "JSZip n'a pas pu ouvrir le fichier !"
result:
success:
count: "Mot de passe(s) supprimé(s) : <span id=\"tmpl-success-password-count\">???</span>"
warning:
extension: "Le fichier ne semble pas être une feuille de calcul Excel !"
password: "La feuille de calcul Excel ne contenait aucun mot de passe !"
error:
jszip: "JSZip n'a pas pu ouvrir le fichier !"
license:
title: "Licences"
text:
1: "Cet outil utilise la bibliothèque <a href=\"https://stuk.github.io/jszip/\">JSZip</a>,
qui est distribuée sous licence <a href=\"https://github.com/Stuk/jszip/blob/main/LICENSE.markdown\">MIT</a>."
2: "Le reste du code de cet outil est placé dans le <a href=\"https://github.com/aziascreations/Web-NibblePoker\">domaine public</a>."

View File

@@ -48,7 +48,6 @@ export function initCore() {
// Setting up the file drop inputs
document.querySelectorAll(".np-file-input-drop-container").forEach(eRootContainer => {
//console.log(eRootContainer);
/** @type {HTMLInputElement} */
const eFileDropInput = eRootContainer.querySelector("input[type=file]");
@@ -58,7 +57,6 @@ export function initCore() {
/** @type {string} */
const inputId = eFileDropInput.getAttribute("id");
//console.log(inputId);
/** @type {HTMLElement} */
const eFileDropTextEmpty = eRootContainer.querySelector(`#${inputId}-text-drop`);
@@ -78,14 +76,7 @@ export function initCore() {
/** @type {NodeListOf<HTMLElement>} */
const eFileDropSelectionCounts = eRootContainer.querySelectorAll(`.np-file-drop-count`);
if(eFileDropAddButton !== null) {
eFileDropAddButton.addEventListener("click", function() {
eFileDropInput.click();
});
}
if(eFileDropClearButton !== null) {
eFileDropClearButton.addEventListener("click", function() {
function handleFileDropClear() {
eFileDropInput.value = '';
if(eFileDropTextSingle !== null) {
eFileDropTextSingle.hidden = true;
@@ -96,6 +87,18 @@ export function initCore() {
if(eFileDropTextEmpty !== null) {
eFileDropTextEmpty.hidden = false;
}
}
if(eFileDropAddButton !== null) {
eFileDropAddButton.addEventListener("click", function() {
handleFileDropClear();
eFileDropInput.click();
});
}
if(eFileDropClearButton !== null) {
eFileDropClearButton.addEventListener("click", function() {
handleFileDropClear();
});
}

View File

@@ -27,6 +27,14 @@
</div>
<div id="{{ applet_data.id }}-details-populated" hidden>
{% if is_standalone %}
{{ render_button(
l10n("download.action.all", "commons", user_lang),
false, applet_data.id + "-files-download-all", "bkgd-green") }}
{{ render_button(
l10n("clear.all.files", "commons", user_lang),
false, applet_data.id + "-files-clear", "bkgd-orange") }}
{% else %}
{{ render_button(
"<i class=\"fa-duotone fa-solid fa-floppy-disks mr-xs\"></i>" +
l10n("download.action.all", "commons", user_lang),
@@ -35,6 +43,7 @@
"<i class=\"fa-duotone fa-solid fa-trash mr-xs\"></i>" +
l10n("clear.all.files", "commons", user_lang),
false, applet_data.id + "-files-clear", "bkgd-orange") }}
{% endif %}
</div>
<div id="{{ applet_data.id }}-result-container" class="mt-s"></div>
@@ -46,13 +55,21 @@
<table class="table-p-xxs table-v-center">
<tr>
<td rowspan="2" class="br bkgd-green bkgd-grid30 rl-l">
{% if is_standalone %}
<span class="mx-xxs">✅</span>
{% else %}
<i class="fa-duotone fa-solid fa-circle-check mx-s"></i>
{% endif %}
</td>
<td class="w-full t-bold">
<span id="tmpl-success-filename">PlaceholderSuccessName.xlsx</span>
</td>
<td rowspan="2" class="bl bkgd-blue bkgd-grid30 rr-l">
{% if is_standalone %}
<span class="mx-xxs">💾</span>
{% else %}
<i class="fa-duotone fa-download mx-s"></i>
{% endif %}
</td>
</tr>
<tr class="t-italic">
@@ -67,7 +84,11 @@
<table class="table-p-xxs table-v-center">
<tr>
<td rowspan="2" class="br bkgd-orange bkgd-grid30 rl-l">
{% if is_standalone %}
<span class="mx-xxs">⚠️</span>
{% else %}
<i class="fa-duotone fa-solid fa-triangle-exclamation mx-s"></i>
{% endif %}
</td>
<td class="w-full t-bold">
<span id="tmpl-warning-filename">PlaceholderWarningName.xlsx</span>
@@ -92,7 +113,11 @@
<table class="table-p-xxs table-v-center">
<tr>
<td rowspan="2" class="br bkgd-red bkgd-grid30 rl-l">
{% if is_standalone %}
<span class="mx-xxs">❌</span>
{% else %}
<i class="fa-duotone fa-solid fa-hexagon-exclamation mx-s"></i>
{% endif %}
</td>
<td class="w-full t-bold">
<span id="tmpl-error-filename">PlaceholderErrorName.xlsx</span>
@@ -110,8 +135,13 @@
</template>
{% if is_standalone %}
<section id="{{ applet_data.id }}-licenses">
{{ render_h2(l10n("licenses.title", applet_data.id, user_lang)) }}
<p>123</p>
<section id="{{ applet_data.id }}-licenses" class="mt-l mt-0-if-first">
{{ render_h2(l10n("license.title", applet_data.id, user_lang)) }}
<div class="content-spacer">
{{ render_paragraph(
l10n("license.text.1", applet_data.id, user_lang) + "<br>" + l10n("license.text.2", applet_data.id, user_lang)
) }}
</div>
</section>
{% endif %}

View File

@@ -23,7 +23,10 @@
<div class="np-file-drop-buttons pb-s">
{% if file_upload_button %}
<button id="{{ file_input_id }}-add" class="p-xs r-s border btn-primary np-file-drop-button">
{% if not is_standalone %}
<i class="fa-duotone fa-solid fa-cloud-arrow-up mr-xxs"></i>
{% endif %}
{% if file_multiple %}
{{ l10n("file.drop.upload.multiple", "commons", user_lang) }}
{% else %}
@@ -34,7 +37,11 @@
{% if file_clear_button %}
<button id="{{ file_input_id }}-reset" class="p-xs r-s border btn-warning np-file-drop-button">
{{ "<i class=\"fa-duotone fa-solid fa-trash mr-xs\"></i>" + l10n("file.drop.clear", "commons", user_lang) }}
{% if not is_standalone %}
<i class="fa-duotone fa-solid fa-trash mr-xs"></i>
{% endif %}
{{ l10n("file.drop.clear", "commons", user_lang) }}
</button>
{% endif %}
</div>