تطبيق سطح المكتب للتكنولوجيا التقنية تلبية مع الإلكترون المعدلة من Jitsi Meet App Electron.

comp-labs-meet://meeting (سيفتح meeting على عنوان URL لخادم JITSI الذي تم تكوينه في التطبيق) أو comp-labs-meet://meet.example.com/meeting (سيفتح meeting على خادم Meet Jitsi الذي يعمل على meet.example.com ) قم بتنزيل إصدارنا الأخير وأنت خارج السباقات!
| النوافذ | ماكوس | GNU/Linux (appimage) | GNU/Linux (Deb) | متجر SNAP |
|---|---|---|---|---|
| تحميل | تحميل | تحميل | تحميل |
ملحوظة: بناء GNU/Linux هي 64 بت فقط.
Content-Security-Policy "frame-ancestors [looks like any value is bad]";
X-Frame-Options "DENY";
يبدو أن سياسة أمان محتوى المحتوى العاملة:
Content-Security-Policy "img-src 'self' 'unsafe-inline' data:; script-src 'self' 'unsafe-inline' 'wasm-eval'; style-src 'self' 'unsafe-inline'; font-src 'self'; object-src 'none'; base-uri 'self'; form-action 'none';";
إذا كنت ترغب في اختراق هذا المشروع ، فإليك كيف تفعل ذلك.
قم بتثبيت Node.js 16 أولاً (أو إذا كنت تستخدم NVM ، فقم بالتبديل إلى Node.js 16 عن طريق تشغيل nvm use ).
npm install --global --production windows-build-toolsحزم تطوير X11 و PNG و ZLIB ضرورية. ثم يمكن تثبيت الأنظمة الشبيهة بالديبيان على النحو التالي:
sudo apt install libx11-dev zlib1g-dev libpng-dev libxtst-devتثبيت جميع الحزم المطلوبة:
npm installnpm startتتوفر أدوات تصحيح الأخطاء عند تشغيلها في وضع DEV ويمكن تنشيطها باستخدام اختصارات لوحة المفاتيح كما هو محدد هنا https://github.com/sindresorhus/electron-debug#features.
يمكن أيضًا عرضه تلقائيًا من متغير بيئة SHOW_DEV_TOOLS مثل:
SHOW_DEV_TOOLS=true npm start أو من Application- --show-dev-tools .
npm run distjitsi-meet-electron-sdkJitsi-meet-electron-SDK هي حزمة مساعدة تنفذ العديد من الميزات مثل التحكم عن بُعد ونافذة دائمًا. إذا تم إضافة/اختبار ميزات جديدة ، فإن التشغيل مع إصدار محلي من هذه الأدوات يكون مفيدًا للغاية ، فإليك كيفية القيام بذلك.
بشكل افتراضي ، تم تصميم @jitsi/electron-sdk من NPM. مسار التبعية الافتراضي في package.json هو:
"@jitsi/electron-sdk" : " ^3.0.0 "للعمل مع نسخة محلية ، يجب تغيير المسار إلى:
"@jitsi/electron-sdk" : " file:///Users/name/jitsi-meet-electron-sdk-copy " , لبناء المشروع ، يجب أن تجبره على أخذ المصادر لأن npm update لن يفعل ذلك.
npm install @jitsi/electron-sdk --forceملاحظة: تحقق أيضًا من readme jitsi-meet-electron-sdk لمعرفة كيفية تكوين بيئتك.
git checkout -b release-1-2-3 ، لتحل محل 1-2-3 مع إصدار الإصدار المطلوبnpm version patch ، استبدال patch مع minor أو major كما هو مطلوبgit push -u origin release-1-2-3gh pr creategh release create v1.2.3 --draft --title 1.2.3 ، لاستبدال V1.2.3 و 1.2.3 مع إصدار الإصدار المطلوبسيظهر تحذير يذكر أن التطبيق غير موقّع عند التثبيت الأول. هذا متوقع.
على MacOS Catalina وما فوق الإصدارات ، سيتم عرض تحذير على التثبيت الأول. لن يفتح التطبيق ما لم يتم الضغط على "فتح". يتم عرض الحوار هذا مرة واحدة فقط.
إذا لم يكن بإمكانك تنفيذ الملف مباشرةً ، فحاول تشغيل chmod u+x ./comp-labs-meet-x86_64.AppImage
في Ubuntu 22.04 ، ستفشل Appimage مع خطأ في الصمامات (حيث يستخدم Appimage libfuse2 ، بينما يأتي 22.04 بالفعل مع libfuse3 افتراضيًا):
dlopen(): error loading libfuse.so.2
لإصلاح هذا ، قم بتثبيت libfuse2 على النحو التالي:
sudo apt install libfuse2
جارية Wayland ، يمكن تمكين دعم Wayland التجريبي من خلال مفتاح سطر الأوامر- --ozone-platform-hint MET TO auto :
./jitsi-meet-x86_64.AppImage --ozone-platform-hint=auto
لاحظ أن مشاركة الشاشة غير مدعومة حاليًا في وايلاند ، على سبيل المثال. موجه الأذونات قد حلقة إلى ما لا نهاية.
في حال تواجهك صفحة فارغة بعد ترقيات خادم Jitsi ، حاول إزالة ملفات ذاكرة التخزين المؤقت المحلية:
rm -rf ~/.config/Jitsi Meet/
ملاحظة لتوزيعات GNU/Linux القديمة
قد تحصل على الخطأ التالي:
FATAL:nss_util.cc(632)] NSS_VersionCheck("3.26") failed. NSS >= 3.26 is required.
Please upgrade to the latest NSS, and if you still get this error, contact your
distribution maintainer.
إذا قمت بذلك ، يرجى تثبيت NSS (مثال على Debian / Ubuntu):
sudo apt-get install libnss3ملفات JSON مخصصة لجميع الأوتار داخل التطبيق ويمكن ترجمتها هنا.
تتطلب الترجمات الجديدة إضافة سطر في index.js وملف ترجمة جديد داخل الدليل /app/i18n/lang/translation.json lang/translation.json. language.json يتم استبدالها ISO 639-1 standard language codes . مثال:
/app/i18n/index.js
import i18n from 'i18next' ;
import { initReactI18next } from 'react-i18next' ;
import moment from 'moment' ;
const languages = {
en : { translation : require ( './lang/language.json' ) }
// Example for German (Standard)
// de: { translation: require('./lang/de.json') }
} ;
const detectedLocale = navigator . language ;
i18n
. use ( initReactI18next )
. init ( {
resources : languages ,
lng : detectedLocale ,
fallbackLng : 'en' ,
interpolation : {
escapeValue : false
}
} ) ;
moment . locale ( detectedLocale ) ;
export default i18n ; /app/i18n/lang/language.json
ملاحظة: هذه ليست ترجمة محدثة لتلبية Tech Fiddle. أثناء تعديل الكود المصدري ، لكننا لم نقم بتعديل ملفات JSON الترجمة ، لذلك لا تفتح مشكلة حول هذه الترجمة غير صحيحة. سيتم تصحيح هذا في المستقبل. شكرا لتعاونك.
{
"enterConferenceNameOrUrl" : " Bitte einen Konferenznamen oder eine Jitsi-Adresse eingeben " ,
"go" : " LOS " ,
"help" : " Hilfe " ,
"termsLink" : " Nutzungsbedingungen " ,
"privacyLink" : " Datenschutzbedingungen " ,
"recentListLabel" : " oder einen zuletzt genutzen Konferenzraum betreten " ,
"sendFeedbackLink" : " Eine Rückmeldung senden " ,
"aboutLink" : " F&A " ,
"sourceLink" : " Quelltext " ,
"versionLabel" : " Version: {{version}} " ,
"onboarding" : {
"startTour" : " Tour starten " ,
"skip" : " Überspringen " ,
"welcome" : " Willkommen in {{appName}} " ,
"letUsShowYouAround" : " Wir zeigen wie alles funktioniert! " ,
"next" : " Weiter " ,
"conferenceUrl" : " Bitte den Namen (oder die vollständige Adresse) des Raumes eingeben, dem beigetreten werden soll. Es kann ein Name ausgedacht werden, diesen bitte anderen mitteilen, damit sie denselben Namen eingeben. " ,
"settingsDrawerButton" : " Hier klicken, um zu den Einstellungen zu gelangen. " ,
"nameSetting" : " Das ist der Anzeigename, andere werden Sie unter diesem Namen sehen. " ,
"emailSetting" : " Die hier eingegebene E-Mail ist Teil des Benutzerprofils. " ,
"startMutedToggles" : " Hier kann eingestellt werden, ob mit stummgeschaltetem Audio oder Video gestartet wird. Das wird auf alle Konferenzen angewendet. " ,
"serverSetting" : " Das ist der Server, auf dem die Konferenzen stattfinden werden. Es kann ein eigener verwendet werden, muss aber nicht! " ,
"serverTimeout" : " Zeitüberschreitung für den Beitritt zu einer Konferenz. Wenn nicht rechtzeitig beigetreten wurde, wird die Konferenz abgebrochen. " ,
"alwaysOnTop" : " Hier kann eingestellt werden, ob das Fenster »Immer im Vordergrund« aktiviert wird. Dieses wird angezeigt, wenn das Hauptfenster den Fokus verliert. Das wird bei allen Konferenzen angewendet. "
},
"settings" : {
"back" : " Zurück " ,
"name" : " Name " ,
"email" : " E-Mail " ,
"advancedSettings" : " Erweiterte Einstellungen " ,
"alwaysOnTopWindow" : " Immer im Vordergrund " ,
"startWithAudioMuted" : " Ohne Audio starten " ,
"startWithVideoMuted" : " Ohne Video starten " ,
"invalidServer" : " Falsche Server-Adresse " ,
"invalidServerTimeout" : " Ungültiger Wert für die Server-Wartezeit " ,
"serverUrl" : " Server-Adresse " ,
"serverTimeout" : " Server-Wartezeit (in Sekunden) " ,
"disableAGC" : " Automatische Mikrofonlautstärkeregelung deaktivieren "
}
}يمكنك فتح طلب سحب في هذا المستودع لتحديث أو إضافة ترجمات جديدة. سيكون مساعدتك موضع تقدير كبير.
يتطلب Localizing desktop files on Linux إضافة سطر في package.json. يرجى البحث عن Comment[hu] كمثال للمساعدة في إضافة ترجمة سلسلة English Jitsi Meet Desktop App Langoug.
رخصة معهد ماساتشوستس للتكنولوجيا. انظر ملف الترخيص.
تم تصميم Jitsi من قبل مجتمع كبير من المطورين ، إذا كنت ترغب في المشاركة ، فيرجى الانضمام إلى منتدى المجتمع.