Group help texts under a help key

meetingPrivacySettings nests one level deeper under help.
The umbrella makes room for further help topics and allows
contextualizing which help a visible view offers. All
data-i18n references follow; no logic changes.
This commit is contained in:
stefan.tollkuehn committed 2026-11-05 17:37:24 +01:00
1 parent 4df51ca508
commit cfb48aa3c9
3 files changed
+31 -20

No files matched your search

+7 -4
View File
@@ -36,10 +36,13 @@ other tags render literally and never execute.
The "Help" button in the navbar opens a dialog with The "Help" button in the navbar opens a dialog with
camera/microphone hints. It only shows on the detected OS. camera/microphone hints. It only shows on the detected OS.
The texts live under `meetingPrivacySettings` in All help texts live under `help` in `assets/i18n.json`,
`assets/i18n.json`, keyed by OS (`windows`; `macos`, `linux`, grouped by topic; the overlay uses
`ios` and `android` can follow). The dialog width is defined `help.meetingPrivacySettings`, keyed by OS (`windows`;
in `dialog.privacy` (`assets/css/launch.css`). `macos`, `linux`, `ios` and `android` can follow). Further
topics can extend `help` and be contextualized per visible
view. The dialog width is defined in `dialog.privacy`
(`assets/css/launch.css`).
## Third-party assets ## Third-party assets
+8
View File
@@ -87,6 +87,7 @@
"organizerInvalid": "Please enter a valid organizer email address", "organizerInvalid": "Please enter a valid organizer email address",
"nextcloudButton": "Create in Nextcloud Calendar" "nextcloudButton": "Create in Nextcloud Calendar"
}, },
"help": {
"meetingPrivacySettings": { "meetingPrivacySettings": {
"windows": { "windows": {
"title": "Camera and microphone in Windows: How to control your privacy", "title": "Camera and microphone in Windows: How to control your privacy",
@@ -107,6 +108,7 @@
"closeButton": "Close" "closeButton": "Close"
} }
} }
}
}, },
"de": { "de": {
"pageTitle": "Jitsi Meeting öffnen", "pageTitle": "Jitsi Meeting öffnen",
@@ -196,6 +198,7 @@
"organizerInvalid": "Bitte geben Sie eine gültige Organisator-E-Mail-Adresse ein", "organizerInvalid": "Bitte geben Sie eine gültige Organisator-E-Mail-Adresse ein",
"nextcloudButton": "Im Nextcloud-Kalender erstellen" "nextcloudButton": "Im Nextcloud-Kalender erstellen"
}, },
"help": {
"meetingPrivacySettings": { "meetingPrivacySettings": {
"windows": { "windows": {
"title": "Kamera und Mikrofon in Windows: So kontrollieren Sie Ihre Privatsphäre", "title": "Kamera und Mikrofon in Windows: So kontrollieren Sie Ihre Privatsphäre",
@@ -216,6 +219,7 @@
"closeButton": "Schließen" "closeButton": "Schließen"
} }
} }
}
}, },
"fr": { "fr": {
"pageTitle": "Réunion Jitsi", "pageTitle": "Réunion Jitsi",
@@ -305,6 +309,7 @@
"organizerInvalid": "Veuillez entrer une adresse email d'organisateur valide", "organizerInvalid": "Veuillez entrer une adresse email d'organisateur valide",
"nextcloudButton": "Créer dans le calendrier Nextcloud" "nextcloudButton": "Créer dans le calendrier Nextcloud"
}, },
"help": {
"meetingPrivacySettings": { "meetingPrivacySettings": {
"windows": { "windows": {
"title": "Caméra et microphone sous Windows : comment contrôler votre vie privée", "title": "Caméra et microphone sous Windows : comment contrôler votre vie privée",
@@ -325,6 +330,7 @@
"closeButton": "Fermer" "closeButton": "Fermer"
} }
} }
}
}, },
"zh": { "zh": {
"pageTitle": "Jitsi 会议", "pageTitle": "Jitsi 会议",
@@ -414,6 +420,7 @@
"organizerInvalid": "请输入有效的组织者邮箱地址", "organizerInvalid": "请输入有效的组织者邮箱地址",
"nextcloudButton": "在 Nextcloud 日历中创建" "nextcloudButton": "在 Nextcloud 日历中创建"
}, },
"help": {
"meetingPrivacySettings": { "meetingPrivacySettings": {
"windows": { "windows": {
"title": "Windows 中的摄像头和麦克风:如何掌控您的隐私", "title": "Windows 中的摄像头和麦克风:如何掌控您的隐私",
@@ -436,3 +443,4 @@
} }
} }
} }
}
+16 -16
View File
@@ -33,7 +33,7 @@
<a id="legalNoticeLink" class="button secondary hidden" href="#" target="_blank" rel="noopener noreferrer" data-i18n="legal_notice"> <a id="legalNoticeLink" class="button secondary hidden" href="#" target="_blank" rel="noopener noreferrer" data-i18n="legal_notice">
Legal Notice Legal Notice
</a> </a>
<button id="windowsHelpButton" class="button secondary hidden" type="button" data-i18n="meetingPrivacySettings.windows.navButton"> <button id="windowsHelpButton" class="button secondary hidden" type="button" data-i18n="help.meetingPrivacySettings.windows.navButton">
Help Help
</button> </button>
<a class="button secondary" href="https://git.bnvb.eu/stefan.tollkuehn/jitsi-launch" target="_blank" rel="noopener noreferrer" data-i18n="source"> <a class="button secondary" href="https://git.bnvb.eu/stefan.tollkuehn/jitsi-launch" target="_blank" rel="noopener noreferrer" data-i18n="source">
@@ -322,31 +322,31 @@
<!-- WINDOWS-HILFE OVERLAY --> <!-- WINDOWS-HILFE OVERLAY -->
<dialog id="windowsHelpOverlay" class="privacy"> <dialog id="windowsHelpOverlay" class="privacy">
<h2 data-i18n="meetingPrivacySettings.windows.title"></h2> <h2 data-i18n="help.meetingPrivacySettings.windows.title"></h2>
<p data-i18n="meetingPrivacySettings.windows.intro"></p> <p data-i18n="help.meetingPrivacySettings.windows.intro"></p>
<h3 data-i18n="meetingPrivacySettings.windows.step1Title"></h3> <h3 data-i18n="help.meetingPrivacySettings.windows.step1Title"></h3>
<p data-i18n="meetingPrivacySettings.windows.step1Description"></p> <p data-i18n="help.meetingPrivacySettings.windows.step1Description"></p>
<h3 data-i18n="meetingPrivacySettings.windows.step2Title"></h3> <h3 data-i18n="help.meetingPrivacySettings.windows.step2Title"></h3>
<p data-i18n="meetingPrivacySettings.windows.step2Description"></p> <p data-i18n="help.meetingPrivacySettings.windows.step2Description"></p>
<h3 data-i18n="meetingPrivacySettings.windows.step3Title"></h3> <h3 data-i18n="help.meetingPrivacySettings.windows.step3Title"></h3>
<p data-i18n="meetingPrivacySettings.windows.step3Description"></p> <p data-i18n="help.meetingPrivacySettings.windows.step3Description"></p>
<p data-i18n="meetingPrivacySettings.windows.browserPermissions"></p> <p data-i18n="help.meetingPrivacySettings.windows.browserPermissions"></p>
<h3 data-i18n="meetingPrivacySettings.windows.goodToKnowTitle"></h3> <h3 data-i18n="help.meetingPrivacySettings.windows.goodToKnowTitle"></h3>
<ul> <ul>
<li data-i18n="meetingPrivacySettings.windows.goodToKnow1"></li> <li data-i18n="help.meetingPrivacySettings.windows.goodToKnow1"></li>
<li data-i18n="meetingPrivacySettings.windows.goodToKnow2"></li> <li data-i18n="help.meetingPrivacySettings.windows.goodToKnow2"></li>
<li data-i18n="meetingPrivacySettings.windows.goodToKnow3"></li> <li data-i18n="help.meetingPrivacySettings.windows.goodToKnow3"></li>
</ul> </ul>
<p data-i18n="meetingPrivacySettings.windows.adminSupport"></p> <p data-i18n="help.meetingPrivacySettings.windows.adminSupport"></p>
<div class="help-actions"> <div class="help-actions">
<button id="windowsHelpClose" class="button secondary" type="button" data-i18n="meetingPrivacySettings.windows.closeButton"> <button id="windowsHelpClose" class="button secondary" type="button" data-i18n="help.meetingPrivacySettings.windows.closeButton">
Close Close
</button> </button>
</div> </div>