fix: escape JavaScript strings in observation form template translations
This commit is contained in:
parent
57367d825b
commit
70c3ff3dea
1 changed files with 17 additions and 17 deletions
|
|
@ -2771,7 +2771,7 @@
|
|||
|
||||
xhr.addEventListener('error', function() {
|
||||
loadingOverlay.style.display = 'none';
|
||||
alert("{% translate 'Une erreur est survenue lors de l\'envoi. Veuillez réessayer.' %}");
|
||||
alert("{% filter escapejs %}{% translate "Une erreur est survenue lors de l'envoi. Veuillez réessayer." %}{% endfilter %}");
|
||||
});
|
||||
|
||||
xhr.addEventListener('abort', function() {
|
||||
|
|
@ -3010,25 +3010,25 @@
|
|||
let msg;
|
||||
if (isDenied && pwa) {
|
||||
msg = [
|
||||
'{% translate "La permission caméra a été refusée pour cette application." %}',
|
||||
"{% filter escapejs %}{% translate "La permission caméra a été refusée pour cette application." %}{% endfilter %}",
|
||||
"",
|
||||
'{% translate "Pour la réactiver sur Android (Samsung One UI) :" %}',
|
||||
' 1. {% translate "Ouvrez les Paramètres Android" %}',
|
||||
' 2. {% translate "Applications → Chrome (ou Internet)" %}',
|
||||
' 3. {% translate "Autorisations → Appareil photo → Autoriser" %}',
|
||||
' 4. {% translate "Revenez dans l\'application et réessayez." %}',
|
||||
"{% filter escapejs %}{% translate "Pour la réactiver sur Android (Samsung One UI) :" %}{% endfilter %}",
|
||||
" 1. {% filter escapejs %}{% translate "Ouvrez les Paramètres Android" %}{% endfilter %}",
|
||||
" 2. {% filter escapejs %}{% translate "Applications → Chrome (ou Internet)" %}{% endfilter %}",
|
||||
" 3. {% filter escapejs %}{% translate "Autorisations → Appareil photo → Autoriser" %}{% endfilter %}",
|
||||
" 4. {% filter escapejs %}{% translate "Revenez dans l'application et réessayez." %}{% endfilter %}",
|
||||
].join('\n');
|
||||
} else if (isDenied) {
|
||||
msg = '{% translate "La permission caméra a été refusée. Veuillez l\'autoriser dans les paramètres de votre navigateur, puis rechargez la page." %}';
|
||||
msg = "{% filter escapejs %}{% translate "La permission caméra a été refusée. Veuillez l'autoriser dans les paramètres de votre navigateur, puis rechargez la page." %}{% endfilter %}";
|
||||
} else {
|
||||
msg = '{% translate "Impossible d\'accéder à la caméra. Veuillez vérifier les autorisations." %}';
|
||||
msg = "{% filter escapejs %}{% translate "Impossible d'accéder à la caméra. Veuillez vérifier les autorisations." %}{% endfilter %}";
|
||||
}
|
||||
alert(msg);
|
||||
}
|
||||
|
||||
async function startCameraStream() {
|
||||
if (!isCameraSupported) {
|
||||
alert('{% translate "La caméra avancée n\'est pas supportée sur ce navigateur." %}');
|
||||
alert("{% filter escapejs %}{% translate "La caméra avancée n'est pas supportée sur ce navigateur." %}{% endfilter %}");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -3038,7 +3038,7 @@
|
|||
const permStatus = await navigator.permissions.query({ name: 'camera' });
|
||||
if (permStatus.state === 'denied') {
|
||||
showCameraPermissionHelp(true);
|
||||
updateCameraStatus('{% translate "Permission caméra refusée." %}', 'error');
|
||||
updateCameraStatus("{% filter escapejs %}{% translate "Permission caméra refusée." %}{% endfilter %}", 'error');
|
||||
return false;
|
||||
}
|
||||
// Si 'prompt' : on continue, getUserMedia déclenchera la boîte de dialogue système
|
||||
|
|
@ -3049,7 +3049,7 @@
|
|||
}
|
||||
|
||||
try {
|
||||
updateCameraStatus('{% translate "Initialisation de la caméra…" %}', 'info');
|
||||
updateCameraStatus("{% filter escapejs %}{% translate "Initialisation de la caméra…" %}{% endfilter %}", 'info');
|
||||
cameraStream = await navigator.mediaDevices.getUserMedia({
|
||||
video: {
|
||||
facingMode: 'environment',
|
||||
|
|
@ -3065,14 +3065,14 @@
|
|||
cameraPreview.src = window.URL.createObjectURL(cameraStream);
|
||||
}
|
||||
cameraPreview.play();
|
||||
updateCameraStatus('{% translate "Caméra prête. Appuyez sur Capturer pour prendre une photo." %}', 'info');
|
||||
updateCameraStatus("{% filter escapejs %}{% translate "Caméra prête. Appuyez sur Capturer pour prendre une photo." %}{% endfilter %}", 'info');
|
||||
return true;
|
||||
} catch (err) {
|
||||
console.error('Erreur getUserMedia:', err);
|
||||
// NotAllowedError = refus utilisateur ou permission système bloquée
|
||||
const isDenied = (err.name === 'NotAllowedError' || err.name === 'PermissionDeniedError');
|
||||
showCameraPermissionHelp(isDenied);
|
||||
updateCameraStatus('{% translate "Impossible d\'accéder à la caméra." %}', 'error');
|
||||
updateCameraStatus("{% filter escapejs %}{% translate "Impossible d'accéder à la caméra." %}{% endfilter %}", 'error');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -3094,7 +3094,7 @@
|
|||
const videoWidth = cameraPreview.videoWidth;
|
||||
const videoHeight = cameraPreview.videoHeight;
|
||||
if (!videoWidth || !videoHeight) {
|
||||
updateCameraStatus('{% translate "La vidéo n\'est pas encore prête." %}', 'error');
|
||||
updateCameraStatus("{% filter escapejs %}{% translate "La vidéo n'est pas encore prête." %}{% endfilter %}", 'error');
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -3106,7 +3106,7 @@
|
|||
|
||||
cameraCanvas.toBlob(function(blob) {
|
||||
if (!blob) {
|
||||
updateCameraStatus("{% translate 'Erreur lors de la capture.' %}", 'error');
|
||||
updateCameraStatus("{% filter escapejs %}{% translate "Erreur lors de la capture." %}{% endfilter %}", 'error');
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -3114,7 +3114,7 @@
|
|||
const file = new File([blob], filename, { type: 'image/jpeg' });
|
||||
|
||||
addFileToPreview(file);
|
||||
updateCameraStatus('{% translate "Photo capturée avec succès." %}', 'success');
|
||||
updateCameraStatus("{% filter escapejs %}{% translate "Photo capturée avec succès." %}{% endfilter %}", 'success');
|
||||
}, 'image/jpeg', 0.9);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue