annotepage-client 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +311 -0
- package/dist/HASHES.txt +1 -0
- package/dist/annotepage.js +2573 -0
- package/labels/fr.json +103 -0
- package/package.json +46 -0
package/labels/fr.json
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
{
|
|
2
|
+
"button.open": "Annoter la page",
|
|
3
|
+
"button.close": "Terminer",
|
|
4
|
+
"button.help": "Écrire et lire les remarques sur cette page",
|
|
5
|
+
"button.notes_zero": "",
|
|
6
|
+
"button.notes_one": "1 note",
|
|
7
|
+
"button.notes_n": "{n} notes",
|
|
8
|
+
"panel.title": "Notes de relecture",
|
|
9
|
+
"panel.close": "Fermer",
|
|
10
|
+
"panel.instructions": "Cliquez sur un élément de la page pour écrire une remarque à son sujet.",
|
|
11
|
+
"panel.escape": "Touche Échap pour arrêter.",
|
|
12
|
+
"panel.empty": "Personne n’a encore écrit de note sur cette page.",
|
|
13
|
+
"panel.section_page": "Sur cette page",
|
|
14
|
+
"panel.refresh": "Actualiser",
|
|
15
|
+
"orphans.title": "Notes dont l’élément a changé",
|
|
16
|
+
"orphans.help": "Ces remarques portaient sur un élément qui n’existe plus sous la même forme. Elles sont conservées telles quelles.",
|
|
17
|
+
"note.about": "À propos de : {excerpt}",
|
|
18
|
+
"note.no_element": "À propos de la page entière",
|
|
19
|
+
"note.element_lost": "Élément non retrouvé sur la page actuelle",
|
|
20
|
+
"note.show": "Montrer sur la page",
|
|
21
|
+
"note.reply": "Répondre",
|
|
22
|
+
"note.reply_placeholder": "Votre réponse",
|
|
23
|
+
"note.reply_send": "Envoyer la réponse",
|
|
24
|
+
"note.cancel": "Annuler",
|
|
25
|
+
"note.mark_resolved": "Marquer corrigée",
|
|
26
|
+
"note.reopen": "Rouvrir cette remarque",
|
|
27
|
+
"resolution.help": "La remarque sera rangée dans l’historique une fois la correction en ligne. Elle n’est jamais supprimée : elle peut être rouverte.",
|
|
28
|
+
"resolution.confirm": "C’est corrigé",
|
|
29
|
+
"reopening.help": "La remarque revient dans la liste, avec ses réponses. À faire si la correction se révèle incomplète.",
|
|
30
|
+
"reopening.confirm": "Rouvrir",
|
|
31
|
+
"form.title": "Votre remarque",
|
|
32
|
+
"form.about": "À propos de : {excerpt}",
|
|
33
|
+
"form.about_no_text": "À propos de l’élément que vous venez de désigner",
|
|
34
|
+
"form.name": "Votre nom",
|
|
35
|
+
"form.name_help": "Il apparaîtra à côté de vos remarques, et sera retenu pour la prochaine fois.",
|
|
36
|
+
"form.name_placeholder": "Prénom, ou prénom et nom",
|
|
37
|
+
"form.text_placeholder": "Ce que vous avez remarqué",
|
|
38
|
+
"form.send": "Envoyer",
|
|
39
|
+
"form.sending": "Envoi en cours...",
|
|
40
|
+
"form.cancel": "Annuler",
|
|
41
|
+
"form.name_missing": "Indiquez votre nom avant d’envoyer.",
|
|
42
|
+
"form.text_missing": "Écrivez votre remarque avant d’envoyer.",
|
|
43
|
+
"form.too_long": "Votre remarque fait {n} caractères ; la limite est de {max}.",
|
|
44
|
+
"form.remaining": "{n} caractères restants",
|
|
45
|
+
"author.known": "Vous écrivez sous le nom de {name}.",
|
|
46
|
+
"author.change": "Changer",
|
|
47
|
+
"history.show": "Voir l’historique ({n} corrigée·s)",
|
|
48
|
+
"history.hide": "Masquer l’historique",
|
|
49
|
+
"history.help": "Remarques corrigées, dont le correctif est en ligne. Elles restent ici : une correction jugée faite peut se révéler incomplète.",
|
|
50
|
+
"note.resolved": "Corrigée le {date} par {by}",
|
|
51
|
+
"note.resolved_pending": "Corrigée, en attente de déploiement",
|
|
52
|
+
"note.resolved_version": "Correctif livre en version {version}",
|
|
53
|
+
"error.title": "Votre remarque n’a PAS été enregistrée",
|
|
54
|
+
"error.title_read": "Les notes n’ont pas pu être relues",
|
|
55
|
+
"error.title_resolution": "L’état de la remarque n’a PAS été changé",
|
|
56
|
+
"error.network": "Le serveur n’a pas répondu. Votre texte est conservé ci-dessus : réessayez dans un instant.",
|
|
57
|
+
"error.unexpected": "Le serveur a répondu quelque chose d’inattendu. Votre texte est conservé ci-dessus ; prévenez la personne qui suit le site.",
|
|
58
|
+
"error.refused": "Le serveur a REFUSÉ la requête (code {code}) sans expliquer pourquoi. C’est presque toujours un pare-feu placé devant le site, qui a pris le texte pour une attaque. Votre texte est conservé ci-dessus : reformulez-le — sans balises < >, sans guillemets, sans fragment de code ni adresse web — puis réessayez. Si le refus persiste, prévenez la personne qui suit le site : c’est une règle de pare-feu à ajuster, pas une panne de l’outil.",
|
|
59
|
+
"error.refused_size": "Le serveur a refusé la requête parce qu’elle est trop longue (code {code}). Votre texte est conservé ci-dessus : raccourcissez-le, ou découpez-le en deux remarques.",
|
|
60
|
+
"error.refused_rate": "Le serveur a refusé la requête parce qu’il en a reçu trop en peu de temps (code {code}). Votre texte est conservé ci-dessus : attendez une minute et réessayez.",
|
|
61
|
+
"error.server_failure": "Le serveur a échoué (code {code}). Ce n’est pas votre texte : il est conservé ci-dessus. Réessayez dans un instant, puis prévenez la personne qui suit le site.",
|
|
62
|
+
"error.encryption": "Le chiffrement a échoué dans ce navigateur : rien n’a été envoyé. Votre texte est conservé ci-dessus. Rechargez la page et réessayez ; si cela se reproduit, prévenez la personne qui suit le site.",
|
|
63
|
+
"error.partial_read": "Ce qui s’affiche peut être incomplet.",
|
|
64
|
+
"error.hide": "Masquer",
|
|
65
|
+
"read.newer_one": "1 note a été écrite par une version plus récente d’annotepage et n’a pas pu être lue.",
|
|
66
|
+
"read.newer_n": "{n} notes ont été écrites par une version plus récente d’annotepage et n’ont pas pu être lues.",
|
|
67
|
+
"read.unreadable_one": "1 note n’a pas pu être déchiffrée. Le sel de ce navigateur n’est peut-être pas celui avec lequel elle a été écrite.",
|
|
68
|
+
"read.unreadable_n": "{n} notes n’ont pas pu être déchiffrées. Le sel de ce navigateur n’est peut-être pas celui avec lequel elles ont été écrites.",
|
|
69
|
+
"read.unknown_one": "1 note est écrite dans un mode que cet outil ne connaît pas et n’a pas été lue.",
|
|
70
|
+
"read.unknown_n": "{n} notes sont écrites dans un mode que cet outil ne connaît pas et n’ont pas été lues.",
|
|
71
|
+
"read.title_partial": "Certaines notes n’ont pas pu être lues",
|
|
72
|
+
"marker.one": "1 note ici",
|
|
73
|
+
"marker.n": "{n} notes ici",
|
|
74
|
+
"salt.title": "Le sel de ce projet est nécessaire",
|
|
75
|
+
"salt.help": "Les notes de ce projet sont chiffrées dans votre navigateur. Sans le sel du projet, ce navigateur ne peut ni les lire, ni en écrire. Demandez-le à la personne qui a installé l’outil, et collez-le ci-dessous. Il sera retenu par ce navigateur, pour ce site.",
|
|
76
|
+
"salt.label": "Le sel du projet (43 caractères)",
|
|
77
|
+
"salt.confirm": "Utiliser ce sel",
|
|
78
|
+
"salt.empty": "Collez le sel avant de valider.",
|
|
79
|
+
"salt.shape": "Ce n’est pas un sel : on attend 43 caractères parmi A-Z a-z 0-9 - _, sans espace ni tiret décoratif. Recopiez-le d’un seul bloc.",
|
|
80
|
+
"salt.wrong": "Ce sel n’est pas celui de ce projet. Rien n’a été envoyé, rien n’a été déchiffré. Vérifiez que vous collez le sel du bon projet.",
|
|
81
|
+
"salt.origin_changed": "Ce sel est retenu par navigateur ET par domaine. Le jour où la préproduction devient la production, il faut le recoller une fois sur le nouveau domaine — les notes, elles, ne bougent pas.",
|
|
82
|
+
"salt.not_kept": "Ce navigateur refuse de retenir le sel (navigation privée, ou stockage bloqué). L’outil fonctionne pour cette page, mais le sel sera à recoller au prochain chargement.",
|
|
83
|
+
"salt.replace": "Coller un autre sel",
|
|
84
|
+
"salt.forget": "Oublier le sel sur ce navigateur",
|
|
85
|
+
"setup.title": "Installer annotepage sur ce site",
|
|
86
|
+
"setup.generate": "Engendrer un sel et créer le projet",
|
|
87
|
+
"setup.warning_title": "À lire avant de continuer",
|
|
88
|
+
"setup.warning": "Le sel ci-dessous est le SEUL secret du projet, et personne d’autre ne l’a : ni le serveur, ni l’auteur de l’outil, ni personne à qui le demander. SEL PERDU = NOTES PERDUES, définitivement, sans récupération possible. Rangez-le maintenant, là où votre équipe range ses mots de passe, avant de continuer.",
|
|
89
|
+
"setup.salt": "Le sel du projet — à conserver",
|
|
90
|
+
"setup.project": "L’identifiant du projet — public, il va dans la page",
|
|
91
|
+
"setup.tag": "La balise à coller en fin de <body>, sur les pages à annoter",
|
|
92
|
+
"setup.server": "À déclarer dans la configuration du serveur",
|
|
93
|
+
"setup.copy": "Copier",
|
|
94
|
+
"setup.copied": "Copié",
|
|
95
|
+
"setup.copy_failed": "Sélectionnez le texte et copiez-le à la main.",
|
|
96
|
+
"setup.continue": "J’ai rangé le sel, continuer",
|
|
97
|
+
"setup.done": "Le sel est retenu par ce navigateur. Collez la balise ci-dessus dans les pages, déclarez le projet côté serveur, puis rechargez cette page : l’outil prend la suite.",
|
|
98
|
+
"setup.no_server": "Aucune adresse de serveur n’est déclarée sur la balise (data-server), et le client ne vient pas du site : il ne peut pas deviner où écrire. Ajoutez data-server à la balise.",
|
|
99
|
+
"setup.plain_mode": "Ce projet est déclaré en mode CLAIR : le serveur lira les remarques, les noms et les chemins. Ce mode n’est acceptable que si le serveur est le site lui-même, derrière la même restriction d’accès. Un relais le refusera.",
|
|
100
|
+
"context.title": "annotepage ne peut pas fonctionner sur cette page",
|
|
101
|
+
"context.help": "Le chiffrement des notes et le regroupement par page reposent sur WebCrypto, que le navigateur ne fournit que dans un contexte sûr : https, ou localhost. Cette page n’en est pas un. Rien ne peut être écrit ni relu ici tant qu’elle est servie ainsi.",
|
|
102
|
+
"date.unknown": "date inconnue"
|
|
103
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "annotepage-client",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "The annotepage annotation layer: click an element of a page, leave a remark on it, it is encrypted in the browser.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/tuxo83/annotepage.git",
|
|
9
|
+
"directory": "client"
|
|
10
|
+
},
|
|
11
|
+
"keywords": [
|
|
12
|
+
"annotation",
|
|
13
|
+
"review",
|
|
14
|
+
"feedback",
|
|
15
|
+
"encryption",
|
|
16
|
+
"webcrypto",
|
|
17
|
+
"shadow-dom"
|
|
18
|
+
],
|
|
19
|
+
"main": "dist/annotepage.js",
|
|
20
|
+
"unpkg": "dist/annotepage.js",
|
|
21
|
+
"jsdelivr": "dist/annotepage.js",
|
|
22
|
+
"exports": {
|
|
23
|
+
".": "./dist/annotepage.js",
|
|
24
|
+
"./dist/annotepage.js": "./dist/annotepage.js",
|
|
25
|
+
"./labels/fr.json": "./labels/fr.json",
|
|
26
|
+
"./package.json": "./package.json"
|
|
27
|
+
},
|
|
28
|
+
"files": [
|
|
29
|
+
"dist/",
|
|
30
|
+
"labels/",
|
|
31
|
+
"README.md"
|
|
32
|
+
],
|
|
33
|
+
"scripts": {
|
|
34
|
+
"build": "node tools/build.mjs",
|
|
35
|
+
"test": "node tools/check.mjs",
|
|
36
|
+
"prepublishOnly": "node tools/build.mjs && node tools/check.mjs"
|
|
37
|
+
},
|
|
38
|
+
"publishConfig": {
|
|
39
|
+
"access": "public"
|
|
40
|
+
},
|
|
41
|
+
"engines": {
|
|
42
|
+
"node": ">=18"
|
|
43
|
+
},
|
|
44
|
+
"sideEffects": true,
|
|
45
|
+
"type": "commonjs"
|
|
46
|
+
}
|