load translations from assets/i18n.json
This commit is contained in:
1 parent
eb794a6c61
commit
598ef1a32f
2 files changed
+347
-374
No files matched your search
@@ -0,0 +1,310 @@
|
||||
{
|
||||
"en": {
|
||||
"pageTitle": "Jitsi Meeting",
|
||||
"impressum": "Legal Notice",
|
||||
"source": "Source",
|
||||
"launcher": {
|
||||
"title": "Jitsi Meeting",
|
||||
"meetingPrefix": "The meeting",
|
||||
"meetingSuffix": "will be joined.",
|
||||
"openButton": "Join meeting"
|
||||
},
|
||||
"starting": {
|
||||
"title": "Starting Jitsi Meet …",
|
||||
"status": "The Jitsi Meet desktop client is being opened."
|
||||
},
|
||||
"fallback": {
|
||||
"title": "Jitsi Meet could not be opened",
|
||||
"description": "The Jitsi Meet desktop client may not have been started.",
|
||||
"retryButton": "Try again"
|
||||
},
|
||||
"downloads": {
|
||||
"windows": {
|
||||
"title": "Jitsi Meet for Windows",
|
||||
"description": "Install the Jitsi Meet desktop client and then try opening the meeting again.",
|
||||
"button": "Download Jitsi for Windows"
|
||||
},
|
||||
"macos": {
|
||||
"title": "Jitsi Meet for macOS",
|
||||
"description": "Install the Jitsi Meet desktop client and then try opening the meeting again.",
|
||||
"button": "Download Jitsi for macOS"
|
||||
},
|
||||
"linux": {
|
||||
"title": "Jitsi Meet for Linux",
|
||||
"description": "Install the Jitsi Meet desktop client and then try opening the meeting again.",
|
||||
"button": "Download Jitsi for Linux"
|
||||
},
|
||||
"other": {
|
||||
"title": "Jitsi Meet Desktop",
|
||||
"description": "No desktop download is configured for your operating system."
|
||||
}
|
||||
},
|
||||
"browser": {
|
||||
"title": "Join in browser",
|
||||
"description": "You can also join the meeting directly in your browser.",
|
||||
"button": "Join in browser"
|
||||
},
|
||||
"error": {
|
||||
"title": "No meeting specified",
|
||||
"description": "Please specify a meeting using the",
|
||||
"descriptionSuffix": "parameter.",
|
||||
"invalidTitle": "Invalid meeting name",
|
||||
"invalidDescription": "Only letters, numbers and hyphens are allowed:"
|
||||
},
|
||||
"creator": {
|
||||
"title": "Create New Meeting",
|
||||
"meetingNameLabel": "Meeting Name",
|
||||
"meetingDescriptionLabel": "Description",
|
||||
"meetingStartLabel": "Start Date & Time",
|
||||
"meetingEndLabel": "End Date & Time",
|
||||
"meetingOrganizerLabel": "Organizer Email",
|
||||
"createButton": "Create Meeting",
|
||||
"cancelButton": "Cancel",
|
||||
"successMessage": "Meeting created! Download your calendar file and open it to import the meeting into your personal calendar.",
|
||||
"downloadButton": "Download ICS File",
|
||||
"createNewButton": "Create New Meeting",
|
||||
"adhocButton": "Create Adhoc Link",
|
||||
"adhocLinkLabel": "Your adhoc meeting link:",
|
||||
"copyLinkButton": "Copy Link",
|
||||
"copiedLabel": "Copied!",
|
||||
"meetingNameRequired": "Please enter a meeting name",
|
||||
"meetingNameInvalid": "Meeting name may only contain letters, numbers and hyphens",
|
||||
"startTimeRequired": "Please select a start time",
|
||||
"endTimeRequired": "Please select an end time",
|
||||
"endAfterStart": "End time must be after start time",
|
||||
"organizerRequired": "Please enter an organizer email",
|
||||
"organizerInvalid": "Please enter a valid organizer email address"
|
||||
}
|
||||
},
|
||||
"de": {
|
||||
"pageTitle": "Jitsi Meeting öffnen",
|
||||
"impressum": "Impressum",
|
||||
"source": "Quellcode",
|
||||
"launcher": {
|
||||
"title": "Jitsi Meeting",
|
||||
"meetingPrefix": "Das Meeting",
|
||||
"meetingSuffix": "wird geöffnet.",
|
||||
"openButton": "An Meeting teilnehmen"
|
||||
},
|
||||
"starting": {
|
||||
"title": "Jitsi Meet wird gestartet …",
|
||||
"status": "Der Jitsi Meet Desktop-Client wird geöffnet."
|
||||
},
|
||||
"fallback": {
|
||||
"title": "Jitsi Meet konnte nicht geöffnet werden",
|
||||
"description": "Der Jitsi Meet Desktop-Client wurde möglicherweise nicht gestartet.",
|
||||
"retryButton": "Erneut versuchen"
|
||||
},
|
||||
"downloads": {
|
||||
"windows": {
|
||||
"title": "Jitsi Meet für Windows",
|
||||
"description": "Installieren Sie den Jitsi Meet Desktop-Client und versuchen Sie anschließend erneut, das Meeting zu öffnen.",
|
||||
"button": "Jitsi für Windows herunterladen"
|
||||
},
|
||||
"macos": {
|
||||
"title": "Jitsi Meet für macOS",
|
||||
"description": "Installieren Sie den Jitsi Meet Desktop-Client und versuchen Sie anschließend erneut, das Meeting zu öffnen.",
|
||||
"button": "Jitsi für macOS herunterladen"
|
||||
},
|
||||
"linux": {
|
||||
"title": "Jitsi Meet für Linux",
|
||||
"description": "Installieren Sie den Jitsi Meet Desktop-Client und versuchen Sie anschließend erneut, das Meeting zu öffnen.",
|
||||
"button": "Jitsi für Linux herunterladen"
|
||||
},
|
||||
"other": {
|
||||
"title": "Jitsi Meet Desktop",
|
||||
"description": "Für Ihr Betriebssystem ist kein Desktop-Download hinterlegt."
|
||||
}
|
||||
},
|
||||
"browser": {
|
||||
"title": "Im Browser teilnehmen",
|
||||
"description": "Sie können dem Meeting auch direkt über Ihren Browser beitreten.",
|
||||
"button": "Im Browser beitreten"
|
||||
},
|
||||
"error": {
|
||||
"title": "Kein Meeting angegeben",
|
||||
"description": "Bitte geben Sie ein Meeting über den Parameter",
|
||||
"descriptionSuffix": "an.",
|
||||
"invalidTitle": "Ungültiger Meeting-Name",
|
||||
"invalidDescription": "Erlaubt sind nur Buchstaben, Zahlen und Bindestriche:"
|
||||
},
|
||||
"creator": {
|
||||
"title": "Neues Meeting erstellen",
|
||||
"meetingNameLabel": "Meeting-Name",
|
||||
"meetingDescriptionLabel": "Beschreibung",
|
||||
"meetingStartLabel": "Start Datum & Uhrzeit",
|
||||
"meetingEndLabel": "Ende Datum & Uhrzeit",
|
||||
"meetingOrganizerLabel": "Organisator E-Mail",
|
||||
"createButton": "Meeting erstellen",
|
||||
"cancelButton": "Abbrechen",
|
||||
"successMessage": "Meeting erstellt! Laden Sie Ihre Kalenderdatei herunter und öffnen Sie diese, um das Meeting in Ihren persönlichen Kalender zu importieren.",
|
||||
"downloadButton": "ICS-Datei herunterladen",
|
||||
"createNewButton": "Neues Meeting erstellen",
|
||||
"adhocButton": "Adhoc-Link erstellen",
|
||||
"adhocLinkLabel": "Ihr Adhoc-Meeting-Link:",
|
||||
"copyLinkButton": "Link kopieren",
|
||||
"copiedLabel": "Kopiert!",
|
||||
"meetingNameRequired": "Bitte geben Sie einen Meeting-Namen ein",
|
||||
"meetingNameInvalid": "Der Meeting-Name darf nur Buchstaben, Zahlen und Bindestriche enthalten",
|
||||
"startTimeRequired": "Bitte wählen Sie eine Startzeit",
|
||||
"endTimeRequired": "Bitte wählen Sie eine Endzeit",
|
||||
"endAfterStart": "Die Endzeit muss nach der Startzeit liegen",
|
||||
"organizerRequired": "Bitte geben Sie eine Organisator-E-Mail ein",
|
||||
"organizerInvalid": "Bitte geben Sie eine gültige Organisator-E-Mail-Adresse ein"
|
||||
}
|
||||
},
|
||||
"fr": {
|
||||
"pageTitle": "Réunion Jitsi",
|
||||
"impressum": "Mentions légales",
|
||||
"source": "Code source",
|
||||
"launcher": {
|
||||
"title": "Réunion Jitsi",
|
||||
"meetingPrefix": "La réunion",
|
||||
"meetingSuffix": "va être ouverte.",
|
||||
"openButton": "Rejoindre la réunion"
|
||||
},
|
||||
"starting": {
|
||||
"title": "Démarrage de Jitsi Meet…",
|
||||
"status": "Le client bureau Jitsi Meet est en cours d'ouverture."
|
||||
},
|
||||
"fallback": {
|
||||
"title": "Jitsi Meet n'a pas pu être ouvert",
|
||||
"description": "Le client bureau Jitsi Meet n'a peut-être pas été démarré.",
|
||||
"retryButton": "Réessayer"
|
||||
},
|
||||
"downloads": {
|
||||
"windows": {
|
||||
"title": "Jitsi Meet pour Windows",
|
||||
"description": "Installez le client bureau Jitsi Meet, puis essayez de rouvrir la réunion.",
|
||||
"button": "Télécharger Jitsi pour Windows"
|
||||
},
|
||||
"macos": {
|
||||
"title": "Jitsi Meet pour macOS",
|
||||
"description": "Installez le client bureau Jitsi Meet, puis essayez de rouvrir la réunion.",
|
||||
"button": "Télécharger Jitsi pour macOS"
|
||||
},
|
||||
"linux": {
|
||||
"title": "Jitsi Meet pour Linux",
|
||||
"description": "Installez le client bureau Jitsi Meet, puis essayez de rouvrir la réunion.",
|
||||
"button": "Télécharger Jitsi pour Linux"
|
||||
},
|
||||
"other": {
|
||||
"title": "Jitsi Meet Desktop",
|
||||
"description": "Aucun téléchargement bureau n'est configuré pour votre système d'exploitation."
|
||||
}
|
||||
},
|
||||
"browser": {
|
||||
"title": "Rejoindre dans le navigateur",
|
||||
"description": "Vous pouvez également rejoindre la réunion directement dans votre navigateur.",
|
||||
"button": "Rejoindre dans le navigateur"
|
||||
},
|
||||
"error": {
|
||||
"title": "Aucune réunion spécifiée",
|
||||
"description": "Veuillez spécifier une réunion à l'aide du paramètre",
|
||||
"descriptionSuffix": ".",
|
||||
"invalidTitle": "Nom de réunion invalide",
|
||||
"invalidDescription": "Seuls les lettres, les chiffres et les tirets sont autorisés :"
|
||||
},
|
||||
"creator": {
|
||||
"title": "Créer une nouvelle réunion",
|
||||
"meetingNameLabel": "Nom de la réunion",
|
||||
"meetingDescriptionLabel": "Description",
|
||||
"meetingStartLabel": "Date et heure de début",
|
||||
"meetingEndLabel": "Date et heure de fin",
|
||||
"meetingOrganizerLabel": "Email de l'organisateur",
|
||||
"createButton": "Créer la réunion",
|
||||
"cancelButton": "Annuler",
|
||||
"successMessage": "Réunion créée ! Téléchargez votre fichier calendrier et ouvrez-le pour importer la réunion dans votre calendrier personnel.",
|
||||
"downloadButton": "Télécharger le fichier ICS",
|
||||
"createNewButton": "Créer une nouvelle réunion",
|
||||
"adhocButton": "Créer un lien adhoc",
|
||||
"adhocLinkLabel": "Votre lien de réunion adhoc :",
|
||||
"copyLinkButton": "Copier le lien",
|
||||
"copiedLabel": "Copié !",
|
||||
"meetingNameRequired": "Veuillez entrer un nom de réunion",
|
||||
"meetingNameInvalid": "Le nom de la réunion ne peut contenir que des lettres, des chiffres et des tirets",
|
||||
"startTimeRequired": "Veuillez sélectionner une heure de début",
|
||||
"endTimeRequired": "Veuillez sélectionner une heure de fin",
|
||||
"endAfterStart": "L'heure de fin doit être après l'heure de début",
|
||||
"organizerRequired": "Veuillez entrer un email d'organisateur",
|
||||
"organizerInvalid": "Veuillez entrer une adresse email d'organisateur valide"
|
||||
}
|
||||
},
|
||||
"zh": {
|
||||
"pageTitle": "Jitsi 会议",
|
||||
"impressum": "法律声明",
|
||||
"source": "源代码",
|
||||
"launcher": {
|
||||
"title": "Jitsi 会议",
|
||||
"meetingPrefix": "会议",
|
||||
"meetingSuffix": "即将打开。",
|
||||
"openButton": "加入会议"
|
||||
},
|
||||
"starting": {
|
||||
"title": "正在启动 Jitsi Meet …",
|
||||
"status": "正在打开 Jitsi Meet 桌面客户端。"
|
||||
},
|
||||
"fallback": {
|
||||
"title": "无法打开 Jitsi Meet",
|
||||
"description": "Jitsi Meet 桌面客户端可能尚未启动。",
|
||||
"retryButton": "重试"
|
||||
},
|
||||
"downloads": {
|
||||
"windows": {
|
||||
"title": "适用于 Windows 的 Jitsi Meet",
|
||||
"description": "请安装 Jitsi Meet 桌面客户端,然后再次尝试打开会议。",
|
||||
"button": "下载 Windows 版 Jitsi"
|
||||
},
|
||||
"macos": {
|
||||
"title": "适用于 macOS 的 Jitsi Meet",
|
||||
"description": "请安装 Jitsi Meet 桌面客户端,然后再次尝试打开会议。",
|
||||
"button": "下载 macOS 版 Jitsi"
|
||||
},
|
||||
"linux": {
|
||||
"title": "适用于 Linux 的 Jitsi Meet",
|
||||
"description": "请安装 Jitsi Meet 桌面客户端,然后再次尝试打开会议。",
|
||||
"button": "下载 Linux 版 Jitsi"
|
||||
},
|
||||
"other": {
|
||||
"title": "Jitsi Meet 桌面版",
|
||||
"description": "没有为您的操作系统配置桌面版下载。"
|
||||
}
|
||||
},
|
||||
"browser": {
|
||||
"title": "在浏览器中加入",
|
||||
"description": "您也可以直接通过浏览器加入会议。",
|
||||
"button": "在浏览器中加入"
|
||||
},
|
||||
"error": {
|
||||
"title": "未指定会议",
|
||||
"description": "请使用参数指定会议",
|
||||
"descriptionSuffix": "。",
|
||||
"invalidTitle": "会议名称无效",
|
||||
"invalidDescription": "仅允许使用字母、数字和连字符:"
|
||||
},
|
||||
"creator": {
|
||||
"title": "创建新会议",
|
||||
"meetingNameLabel": "会议名称",
|
||||
"meetingDescriptionLabel": "描述",
|
||||
"meetingStartLabel": "开始日期和时间",
|
||||
"meetingEndLabel": "结束日期和时间",
|
||||
"meetingOrganizerLabel": "组织者邮箱",
|
||||
"createButton": "创建会议",
|
||||
"cancelButton": "取消",
|
||||
"successMessage": "会议已创建!请下载您的日历文件并打开它,将会议导入您的个人日历。",
|
||||
"downloadButton": "下载 ICS 文件",
|
||||
"createNewButton": "创建新会议",
|
||||
"adhocButton": "创建临时链接",
|
||||
"adhocLinkLabel": "您的临时会议链接:",
|
||||
"copyLinkButton": "复制链接",
|
||||
"copiedLabel": "已复制!",
|
||||
"meetingNameRequired": "请输入会议名称",
|
||||
"meetingNameInvalid": "会议名称只能包含字母、数字和连字符",
|
||||
"startTimeRequired": "请选择开始时间",
|
||||
"endTimeRequired": "请选择结束时间",
|
||||
"endAfterStart": "结束时间必须晚于开始时间",
|
||||
"organizerRequired": "请输入组织者邮箱",
|
||||
"organizerInvalid": "请输入有效的组织者邮箱地址"
|
||||
}
|
||||
}
|
||||
}
|
||||
+37
-374
@@ -41,377 +41,12 @@ const CONFIG = {
|
||||
* ============================================================
|
||||
*/
|
||||
|
||||
const TRANSLATIONS = {
|
||||
en: {
|
||||
pageTitle: "Jitsi Meeting",
|
||||
impressum: "Legal Notice",
|
||||
source: "Source",
|
||||
|
||||
launcher: {
|
||||
title: "Jitsi Meeting",
|
||||
meetingPrefix: "The meeting",
|
||||
meetingSuffix: "will be joined.",
|
||||
openButton: "Join meeting"
|
||||
},
|
||||
|
||||
starting: {
|
||||
title: "Starting Jitsi Meet …",
|
||||
status: "The Jitsi Meet desktop client is being opened."
|
||||
},
|
||||
|
||||
fallback: {
|
||||
title: "Jitsi Meet could not be opened",
|
||||
description: "The Jitsi Meet desktop client may not have been started.",
|
||||
retryButton: "Try again"
|
||||
},
|
||||
|
||||
downloads: {
|
||||
windows: {
|
||||
title: "Jitsi Meet for Windows",
|
||||
description:
|
||||
"Install the Jitsi Meet desktop client and then try opening the meeting again.",
|
||||
button: "Download Jitsi for Windows"
|
||||
},
|
||||
|
||||
macos: {
|
||||
title: "Jitsi Meet for macOS",
|
||||
description:
|
||||
"Install the Jitsi Meet desktop client and then try opening the meeting again.",
|
||||
button: "Download Jitsi for macOS"
|
||||
},
|
||||
|
||||
linux: {
|
||||
title: "Jitsi Meet for Linux",
|
||||
description:
|
||||
"Install the Jitsi Meet desktop client and then try opening the meeting again.",
|
||||
button: "Download Jitsi for Linux"
|
||||
},
|
||||
|
||||
other: {
|
||||
title: "Jitsi Meet Desktop",
|
||||
description:
|
||||
"No desktop download is configured for your operating system."
|
||||
}
|
||||
},
|
||||
|
||||
browser: {
|
||||
title: "Join in browser",
|
||||
description:
|
||||
"You can also join the meeting directly in your browser.",
|
||||
button: "Join in browser"
|
||||
},
|
||||
|
||||
error: {
|
||||
title: "No meeting specified",
|
||||
description: "Please specify a meeting using the",
|
||||
descriptionSuffix: "parameter.",
|
||||
invalidTitle: "Invalid meeting name",
|
||||
invalidDescription: "Only letters, numbers and hyphens are allowed:"
|
||||
},
|
||||
|
||||
creator: {
|
||||
title: "Create New Meeting",
|
||||
meetingNameLabel: "Meeting Name",
|
||||
meetingDescriptionLabel: "Description",
|
||||
meetingStartLabel: "Start Date & Time",
|
||||
meetingEndLabel: "End Date & Time",
|
||||
meetingOrganizerLabel: "Organizer Email",
|
||||
createButton: "Create Meeting",
|
||||
cancelButton: "Cancel",
|
||||
successMessage: "Meeting created! Download your calendar file and open it to import the meeting into your personal calendar.",
|
||||
downloadButton: "Download ICS File",
|
||||
createNewButton: "Create New Meeting",
|
||||
adhocButton: "Create Adhoc Link",
|
||||
adhocLinkLabel: "Your adhoc meeting link:",
|
||||
copyLinkButton: "Copy Link",
|
||||
copiedLabel: "Copied!",
|
||||
meetingNameRequired: "Please enter a meeting name",
|
||||
meetingNameInvalid: "Meeting name may only contain letters, numbers and hyphens",
|
||||
startTimeRequired: "Please select a start time",
|
||||
endTimeRequired: "Please select an end time",
|
||||
endAfterStart: "End time must be after start time",
|
||||
organizerRequired: "Please enter an organizer email",
|
||||
organizerInvalid: "Please enter a valid organizer email address"
|
||||
}
|
||||
},
|
||||
|
||||
de: {
|
||||
pageTitle: "Jitsi Meeting öffnen",
|
||||
impressum: "Impressum",
|
||||
source: "Quellcode",
|
||||
|
||||
launcher: {
|
||||
title: "Jitsi Meeting",
|
||||
meetingPrefix: "Das Meeting",
|
||||
meetingSuffix: "wird geöffnet.",
|
||||
openButton: "An Meeting teilnehmen"
|
||||
},
|
||||
|
||||
starting: {
|
||||
title: "Jitsi Meet wird gestartet …",
|
||||
status: "Der Jitsi Meet Desktop-Client wird geöffnet."
|
||||
},
|
||||
|
||||
fallback: {
|
||||
title: "Jitsi Meet konnte nicht geöffnet werden",
|
||||
description:
|
||||
"Der Jitsi Meet Desktop-Client wurde möglicherweise nicht gestartet.",
|
||||
retryButton: "Erneut versuchen"
|
||||
},
|
||||
|
||||
downloads: {
|
||||
windows: {
|
||||
title: "Jitsi Meet für Windows",
|
||||
description:
|
||||
"Installieren Sie den Jitsi Meet Desktop-Client und versuchen Sie anschließend erneut, das Meeting zu öffnen.",
|
||||
button: "Jitsi für Windows herunterladen"
|
||||
},
|
||||
|
||||
macos: {
|
||||
title: "Jitsi Meet für macOS",
|
||||
description:
|
||||
"Installieren Sie den Jitsi Meet Desktop-Client und versuchen Sie anschließend erneut, das Meeting zu öffnen.",
|
||||
button: "Jitsi für macOS herunterladen"
|
||||
},
|
||||
|
||||
linux: {
|
||||
title: "Jitsi Meet für Linux",
|
||||
description:
|
||||
"Installieren Sie den Jitsi Meet Desktop-Client und versuchen Sie anschließend erneut, das Meeting zu öffnen.",
|
||||
button: "Jitsi für Linux herunterladen"
|
||||
},
|
||||
|
||||
other: {
|
||||
title: "Jitsi Meet Desktop",
|
||||
description:
|
||||
"Für Ihr Betriebssystem ist kein Desktop-Download hinterlegt."
|
||||
}
|
||||
},
|
||||
|
||||
browser: {
|
||||
title: "Im Browser teilnehmen",
|
||||
description:
|
||||
"Sie können dem Meeting auch direkt über Ihren Browser beitreten.",
|
||||
button: "Im Browser beitreten"
|
||||
},
|
||||
|
||||
error: {
|
||||
title: "Kein Meeting angegeben",
|
||||
description:
|
||||
"Bitte geben Sie ein Meeting über den Parameter",
|
||||
descriptionSuffix: "an.",
|
||||
invalidTitle: "Ungültiger Meeting-Name",
|
||||
invalidDescription: "Erlaubt sind nur Buchstaben, Zahlen und Bindestriche:"
|
||||
},
|
||||
|
||||
creator: {
|
||||
title: "Neues Meeting erstellen",
|
||||
meetingNameLabel: "Meeting-Name",
|
||||
meetingDescriptionLabel: "Beschreibung",
|
||||
meetingStartLabel: "Start Datum & Uhrzeit",
|
||||
meetingEndLabel: "Ende Datum & Uhrzeit",
|
||||
meetingOrganizerLabel: "Organisator E-Mail",
|
||||
createButton: "Meeting erstellen",
|
||||
cancelButton: "Abbrechen",
|
||||
successMessage: "Meeting erstellt! Laden Sie Ihre Kalenderdatei herunter und öffnen Sie diese, um das Meeting in Ihren persönlichen Kalender zu importieren.",
|
||||
downloadButton: "ICS-Datei herunterladen",
|
||||
createNewButton: "Neues Meeting erstellen",
|
||||
adhocButton: "Adhoc-Link erstellen",
|
||||
adhocLinkLabel: "Ihr Adhoc-Meeting-Link:",
|
||||
copyLinkButton: "Link kopieren",
|
||||
copiedLabel: "Kopiert!",
|
||||
meetingNameRequired: "Bitte geben Sie einen Meeting-Namen ein",
|
||||
meetingNameInvalid: "Der Meeting-Name darf nur Buchstaben, Zahlen und Bindestriche enthalten",
|
||||
startTimeRequired: "Bitte wählen Sie eine Startzeit",
|
||||
endTimeRequired: "Bitte wählen Sie eine Endzeit",
|
||||
endAfterStart: "Die Endzeit muss nach der Startzeit liegen",
|
||||
organizerRequired: "Bitte geben Sie eine Organisator-E-Mail ein",
|
||||
organizerInvalid: "Bitte geben Sie eine gültige Organisator-E-Mail-Adresse ein"
|
||||
}
|
||||
},
|
||||
|
||||
fr: {
|
||||
pageTitle: "Réunion Jitsi",
|
||||
impressum: "Mentions légales",
|
||||
source: "Code source",
|
||||
|
||||
launcher: {
|
||||
title: "Réunion Jitsi",
|
||||
meetingPrefix: "La réunion",
|
||||
meetingSuffix: "va être ouverte.",
|
||||
openButton: "Rejoindre la réunion"
|
||||
},
|
||||
|
||||
starting: {
|
||||
title: "Démarrage de Jitsi Meet…",
|
||||
status: "Le client bureau Jitsi Meet est en cours d'ouverture."
|
||||
},
|
||||
|
||||
fallback: {
|
||||
title: "Jitsi Meet n'a pas pu être ouvert",
|
||||
description:
|
||||
"Le client bureau Jitsi Meet n'a peut-être pas été démarré.",
|
||||
retryButton: "Réessayer"
|
||||
},
|
||||
|
||||
downloads: {
|
||||
windows: {
|
||||
title: "Jitsi Meet pour Windows",
|
||||
description:
|
||||
"Installez le client bureau Jitsi Meet, puis essayez de rouvrir la réunion.",
|
||||
button: "Télécharger Jitsi pour Windows"
|
||||
},
|
||||
|
||||
macos: {
|
||||
title: "Jitsi Meet pour macOS",
|
||||
description:
|
||||
"Installez le client bureau Jitsi Meet, puis essayez de rouvrir la réunion.",
|
||||
button: "Télécharger Jitsi pour macOS"
|
||||
},
|
||||
|
||||
linux: {
|
||||
title: "Jitsi Meet pour Linux",
|
||||
description:
|
||||
"Installez le client bureau Jitsi Meet, puis essayez de rouvrir la réunion.",
|
||||
button: "Télécharger Jitsi pour Linux"
|
||||
},
|
||||
|
||||
other: {
|
||||
title: "Jitsi Meet Desktop",
|
||||
description:
|
||||
"Aucun téléchargement bureau n'est configuré pour votre système d'exploitation."
|
||||
}
|
||||
},
|
||||
|
||||
browser: {
|
||||
title: "Rejoindre dans le navigateur",
|
||||
description:
|
||||
"Vous pouvez également rejoindre la réunion directement dans votre navigateur.",
|
||||
button: "Rejoindre dans le navigateur"
|
||||
},
|
||||
|
||||
error: {
|
||||
title: "Aucune réunion spécifiée",
|
||||
description: "Veuillez spécifier une réunion à l'aide du paramètre",
|
||||
descriptionSuffix: ".",
|
||||
invalidTitle: "Nom de réunion invalide",
|
||||
invalidDescription: "Seuls les lettres, les chiffres et les tirets sont autorisés :"
|
||||
},
|
||||
|
||||
creator: {
|
||||
title: "Créer une nouvelle réunion",
|
||||
meetingNameLabel: "Nom de la réunion",
|
||||
meetingDescriptionLabel: "Description",
|
||||
meetingStartLabel: "Date et heure de début",
|
||||
meetingEndLabel: "Date et heure de fin",
|
||||
meetingOrganizerLabel: "Email de l'organisateur",
|
||||
createButton: "Créer la réunion",
|
||||
cancelButton: "Annuler",
|
||||
successMessage: "Réunion créée ! Téléchargez votre fichier calendrier et ouvrez-le pour importer la réunion dans votre calendrier personnel.",
|
||||
downloadButton: "Télécharger le fichier ICS",
|
||||
createNewButton: "Créer une nouvelle réunion",
|
||||
adhocButton: "Créer un lien adhoc",
|
||||
adhocLinkLabel: "Votre lien de réunion adhoc :",
|
||||
copyLinkButton: "Copier le lien",
|
||||
copiedLabel: "Copié !",
|
||||
meetingNameRequired: "Veuillez entrer un nom de réunion",
|
||||
meetingNameInvalid: "Le nom de la réunion ne peut contenir que des lettres, des chiffres et des tirets",
|
||||
startTimeRequired: "Veuillez sélectionner une heure de début",
|
||||
endTimeRequired: "Veuillez sélectionner une heure de fin",
|
||||
endAfterStart: "L'heure de fin doit être après l'heure de début",
|
||||
organizerRequired: "Veuillez entrer un email d'organisateur",
|
||||
organizerInvalid: "Veuillez entrer une adresse email d'organisateur valide"
|
||||
}
|
||||
},
|
||||
|
||||
zh: {
|
||||
pageTitle: "Jitsi 会议",
|
||||
impressum: "法律声明",
|
||||
source: "源代码",
|
||||
|
||||
launcher: {
|
||||
title: "Jitsi 会议",
|
||||
meetingPrefix: "会议",
|
||||
meetingSuffix: "即将打开。",
|
||||
openButton: "加入会议"
|
||||
},
|
||||
|
||||
starting: {
|
||||
title: "正在启动 Jitsi Meet …",
|
||||
status: "正在打开 Jitsi Meet 桌面客户端。"
|
||||
},
|
||||
|
||||
fallback: {
|
||||
title: "无法打开 Jitsi Meet",
|
||||
description: "Jitsi Meet 桌面客户端可能尚未启动。",
|
||||
retryButton: "重试"
|
||||
},
|
||||
|
||||
downloads: {
|
||||
windows: {
|
||||
title: "适用于 Windows 的 Jitsi Meet",
|
||||
description: "请安装 Jitsi Meet 桌面客户端,然后再次尝试打开会议。",
|
||||
button: "下载 Windows 版 Jitsi"
|
||||
},
|
||||
|
||||
macos: {
|
||||
title: "适用于 macOS 的 Jitsi Meet",
|
||||
description: "请安装 Jitsi Meet 桌面客户端,然后再次尝试打开会议。",
|
||||
button: "下载 macOS 版 Jitsi"
|
||||
},
|
||||
|
||||
linux: {
|
||||
title: "适用于 Linux 的 Jitsi Meet",
|
||||
description: "请安装 Jitsi Meet 桌面客户端,然后再次尝试打开会议。",
|
||||
button: "下载 Linux 版 Jitsi"
|
||||
},
|
||||
|
||||
other: {
|
||||
title: "Jitsi Meet 桌面版",
|
||||
description: "没有为您的操作系统配置桌面版下载。"
|
||||
}
|
||||
},
|
||||
|
||||
browser: {
|
||||
title: "在浏览器中加入",
|
||||
description: "您也可以直接通过浏览器加入会议。",
|
||||
button: "在浏览器中加入"
|
||||
},
|
||||
|
||||
error: {
|
||||
title: "未指定会议",
|
||||
description: "请使用参数指定会议",
|
||||
descriptionSuffix: "。",
|
||||
invalidTitle: "会议名称无效",
|
||||
invalidDescription: "仅允许使用字母、数字和连字符:"
|
||||
},
|
||||
|
||||
creator: {
|
||||
title: "创建新会议",
|
||||
meetingNameLabel: "会议名称",
|
||||
meetingDescriptionLabel: "描述",
|
||||
meetingStartLabel: "开始日期和时间",
|
||||
meetingEndLabel: "结束日期和时间",
|
||||
meetingOrganizerLabel: "组织者邮箱",
|
||||
createButton: "创建会议",
|
||||
cancelButton: "取消",
|
||||
successMessage: "会议已创建!请下载您的日历文件并打开它,将会议导入您的个人日历。",
|
||||
downloadButton: "下载 ICS 文件",
|
||||
createNewButton: "创建新会议",
|
||||
adhocButton: "创建临时链接",
|
||||
adhocLinkLabel: "您的临时会议链接:",
|
||||
copyLinkButton: "复制链接",
|
||||
copiedLabel: "已复制!",
|
||||
meetingNameRequired: "请输入会议名称",
|
||||
meetingNameInvalid: "会议名称只能包含字母、数字和连字符",
|
||||
startTimeRequired: "请选择开始时间",
|
||||
endTimeRequired: "请选择结束时间",
|
||||
endAfterStart: "结束时间必须晚于开始时间",
|
||||
organizerRequired: "请输入组织者邮箱",
|
||||
organizerInvalid: "请输入有效的组织者邮箱地址"
|
||||
}
|
||||
}
|
||||
};
|
||||
/*
|
||||
* Sprachen liegen in assets/i18n.json und werden beim
|
||||
* Start asynchron geladen (siehe START).
|
||||
*/
|
||||
let TRANSLATIONS = {};
|
||||
const I18N_URL = "assets/i18n.json";
|
||||
|
||||
/* ============================================================
|
||||
* Detect language
|
||||
@@ -456,8 +91,8 @@ function detectLanguage() {
|
||||
return "en";
|
||||
}
|
||||
|
||||
let currentLanguage = detectLanguage();
|
||||
let translation = TRANSLATIONS[currentLanguage];
|
||||
let currentLanguage = "en";
|
||||
let translation = {};
|
||||
|
||||
/* ============================================================
|
||||
* Apply translations to webpage
|
||||
@@ -466,7 +101,9 @@ let translation = TRANSLATIONS[currentLanguage];
|
||||
|
||||
function applyTranslations() {
|
||||
document.documentElement.lang = currentLanguage;
|
||||
if (translation.pageTitle) {
|
||||
document.title = translation.pageTitle;
|
||||
}
|
||||
|
||||
document
|
||||
.querySelectorAll("[data-i18n]")
|
||||
@@ -1665,9 +1302,35 @@ window
|
||||
* ============================================================
|
||||
*/
|
||||
|
||||
applyTranslations();
|
||||
async function loadTranslations() {
|
||||
try {
|
||||
const response = await fetch(I18N_URL);
|
||||
TRANSLATIONS = await response.json();
|
||||
} catch (error) {
|
||||
/*
|
||||
* Ohne Datei bleibt der englische Text aus dem HTML stehen.
|
||||
*/
|
||||
console.error("Error loading translations:", error);
|
||||
}
|
||||
|
||||
currentLanguage = detectLanguage();
|
||||
translation = TRANSLATIONS[currentLanguage] || {};
|
||||
}
|
||||
|
||||
/*
|
||||
* Theme/Logo sofort anwenden, damit nichts aufblinkt –
|
||||
* Text erst nach dem Laden der Übersetzungen.
|
||||
*/
|
||||
async function start() {
|
||||
applyTheme();
|
||||
applyBackgroundImage();
|
||||
applyLogo();
|
||||
|
||||
await loadTranslations();
|
||||
|
||||
applyTranslations();
|
||||
updateLanguageMenu();
|
||||
initialize();
|
||||
}
|
||||
|
||||
start();
|
||||
Reference in new issue
Block a user