diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml new file mode 100644 index 00000000..ba1172d4 --- /dev/null +++ b/.github/workflows/e2e.yml @@ -0,0 +1,24 @@ +name: Run E2E tests +on: + workflow_run: + workflows: ["deploy"] + types: + - completed + branches-ignore: + - "main" +jobs: + e2e: + name: E2E tests runs on Element Call + runs-on: ubuntu-latest + steps: + - name: Check out test private repo + uses: actions/checkout@v3 + with: + repository: vector-im/static-call-participant + ref: refs/heads/main + path: static-call-participant + token: ${{ secrets.GH_E2E_TEST_TOKEN }} + - name: Build E2E Image + run: "cd static-call-participant && docker build --no-cache --tag matrixdotorg/chrome-node-static-call-participant:latest ." + - name: Run E2E tests in container + run: "docker run --rm -v '${{ github.workspace }}/static-call-participant/callemshost-users.txt:/opt/app/callemshost-users.txt' matrixdotorg/chrome-node-static-call-participant:latest ./e2e.sh" diff --git a/.gitignore b/.gitignore index f6245318..263dea00 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ dist-ssr *.local .idea/ public/config.json +/coverage diff --git a/README.md b/README.md index cd4b65de..511c7dc5 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,22 @@ Element Call requires a homeserver with registration enabled without any 3pid or Therefore, to use a self-hosted homeserver, this is recommended to be a new server where any user account created has not joined any normal rooms anywhere in the Matrix federated network. The homeserver used can be setup to disable federation, so as to prevent spam registrations (if you keep registrations open) and to ensure Element Call continues to work in case any user decides to log in to their Element Call account using the standard Element app and joins normal rooms that Element Call cannot handle. +### Features + +#### Allow joining group calls without a camera and a microphone + +You can allow joining a group call without video and audio enabling this feature in your `config.json`: + +```json +{ + ... + + "features": { + "feature_group_calls_without_video_and_audio": true + } +} +``` + ## Development Element Call is built against [matrix-js-sdk](https://github.com/matrix-org/matrix-js-sdk/pull/2553). To get started, clone, install, and link the package: diff --git a/config/otel_dev/README.md b/config/otel_dev/README.md new file mode 100644 index 00000000..ea6c09a2 --- /dev/null +++ b/config/otel_dev/README.md @@ -0,0 +1,18 @@ +# OpenTelemetry Collector for development + +This directory contains a docker compose file that starts a jaeger all-in-one instance +with an in-memory database, along with a standalone OpenTelemetry collector that forwards +traces into the jaeger. Jaeger has a built-in OpenTelemetry collector, but it can't be +configured to send CORS headers so can't be used from a browser. This sets the config on +the collector to send CORS headers. + +This also adds an nginx to add CORS headers to the jaeger query endpoint, such that it can +be used from webapps like stalk (https://deniz.co/stalk/). The CORS enabled endpoint is +exposed on port 16687. To use stalk, you should simply be able to navigate to it and add +http://127.0.0.1:16687/api as a data source. + +(Yes, we could enable the OTLP collector in jaeger all-in-one and passed this through +the nginx to enable CORS too, rather than running a separate collector. There's no reason +it's done this way other than that I'd already set up the separate collector.) + +Running `docker compose up` in this directory should be all you need. diff --git a/config/otel_dev/collector-gateway.yaml b/config/otel_dev/collector-gateway.yaml new file mode 100644 index 00000000..f9e3b90f --- /dev/null +++ b/config/otel_dev/collector-gateway.yaml @@ -0,0 +1,41 @@ +receivers: + otlp: + protocols: + http: + endpoint: 0.0.0.0:4318 + cors: + allowed_origins: + # This can't be '*' because opentelemetry-js uses sendBeacon which always operates + # in 'withCredentials' mode, which browsers don't allow with an allow-origin of '*' + #- "https://pr976--element-call.netlify.app" + - "http://*" + allowed_headers: + - "*" +processors: + batch: + timeout: 1s + resource: + attributes: + - key: test.key + value: "test-value" + action: insert +exporters: + logging: + loglevel: info + jaeger: + endpoint: jaeger-all-in-one:14250 + tls: + insecure: true +extensions: + health_check: + pprof: + endpoint: :1888 + zpages: + endpoint: :55679 +service: + extensions: [pprof, zpages, health_check] + pipelines: + traces: + receivers: [otlp] + processors: [batch, resource] + exporters: [logging, jaeger] diff --git a/config/otel_dev/docker-compose.yaml b/config/otel_dev/docker-compose.yaml new file mode 100644 index 00000000..0b43abed --- /dev/null +++ b/config/otel_dev/docker-compose.yaml @@ -0,0 +1,29 @@ +version: "2" +services: + # Jaeger + jaeger-all-in-one: + image: jaegertracing/all-in-one:latest + ports: + - "16686:16686" + - "14268" + - "14250" + # Collector + collector-gateway: + image: otel/opentelemetry-collector:latest + volumes: + - ./collector-gateway.yaml:/etc/collector-gateway.yaml + command: ["--config=/etc/collector-gateway.yaml"] + ports: + - "1888:1888" # pprof extension + - "13133:13133" # health_check extension + - "4317:4317" # OTLP gRPC receiver + - "4318:4318" # OTLP HTTP receiver + - "55670:55679" # zpages extension + depends_on: + - jaeger-all-in-one + nginx: + image: nginxinc/nginx-unprivileged:latest + volumes: + - ./nginx_otel.conf:/etc/nginx/conf.d/default.conf:ro + ports: + - "16687:8080" diff --git a/config/otel_dev/nginx_otel.conf b/config/otel_dev/nginx_otel.conf new file mode 100644 index 00000000..90d69707 --- /dev/null +++ b/config/otel_dev/nginx_otel.conf @@ -0,0 +1,16 @@ +server { + listen 8080; + server_name localhost; + + location / { + proxy_pass http://jaeger-all-in-one:16686/; + add_header Access-Control-Allow-Origin *; + + if ($request_method = OPTIONS) { + add_header Access-Control-Allow-Origin *; + add_header Content-Type text/plain; + add_header Content-Length 0; + return 204; + } + } +} diff --git a/package.json b/package.json index 6f616f44..0a082908 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "type": "module", "scripts": { "dev": "vite", - "build": "vite build", + "build": "NODE_OPTIONS=--max-old-space-size=16384 vite build", "serve": "vite preview", "storybook": "start-storybook -p 6006", "build-storybook": "build-storybook", @@ -20,6 +20,13 @@ "@juggle/resize-observer": "^3.3.1", "@livekit/components-react": "^1.0.3", "@matrix-org/olm": "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.14.tgz", + "@opentelemetry/api": "^1.4.0", + "@opentelemetry/context-zone": "^1.9.1", + "@opentelemetry/exporter-jaeger": "^1.9.1", + "@opentelemetry/exporter-trace-otlp-http": "^0.35.1", + "@opentelemetry/instrumentation-document-load": "^0.31.1", + "@opentelemetry/instrumentation-user-interaction": "^0.32.1", + "@opentelemetry/sdk-trace-web": "^1.9.1", "@react-aria/button": "^3.3.4", "@react-aria/dialog": "^3.1.4", "@react-aria/focus": "^3.5.0", @@ -47,9 +54,10 @@ "i18next-browser-languagedetector": "^6.1.8", "i18next-http-backend": "^1.4.4", "livekit-client": "^1.9.7", - "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#b1757b4f9dfe8a1fbb5b8d9ed697ff8b8516413e", - "matrix-widget-api": "^1.0.0", - "mermaid": "^9.4.0-rc.2", + "lodash": "^4.17.21", + "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#3cfad3cdeb7b19b8e0e7015784efd803cb9542f1", + "matrix-widget-api": "^1.3.1", + "mermaid": "^8.13.8", "normalize.css": "^8.0.1", "pako": "^2.0.4", "postcss-preset-env": "^7", @@ -64,6 +72,7 @@ "react-use-clipboard": "^1.0.7", "react-use-measure": "^2.1.1", "sdp-transform": "^2.14.1", + "tinyqueue": "^2.0.3", "unique-names-generator": "^4.6.0" }, "devDependencies": { diff --git a/public/locales/bg/app.json b/public/locales/bg/app.json index 97f42aaf..71739d68 100644 --- a/public/locales/bg/app.json +++ b/public/locales/bg/app.json @@ -23,7 +23,6 @@ "Create account": "Създай акаунт", "Debug log": "Debug логове", "Debug log request": "Заявка за debug логове", - "Description (optional)": "Описание (незадължително)", "Details": "Детайли", "Developer": "Разработчик", "Display name": "Име/псевдоним", @@ -34,7 +33,6 @@ "Full screen": "Цял екран", "Go": "Напред", "Grid layout menu": "Меню \"решетков изглед\"", - "Having trouble? Help us fix it.": "Имате проблем? Помогнете да го поправим.", "Home": "Начало", "Include debug logs": "Включи debug логове", "Incompatible versions": "Несъвместими версии", @@ -46,7 +44,6 @@ "Join call now": "Влез в разговора сега", "Join existing call?": "Присъединяване към съществуващ разговор?", "Leave": "Напусни", - "Loading room…": "Напускане на стаята…", "Loading…": "Зареждане…", "Local volume": "Локална сила на звука", "Logging in…": "Влизане…", @@ -56,7 +53,6 @@ "Microphone permissions needed to join the call.": "Необходими са разрешения за микрофона за да можете да се присъедините в разговора.", "Microphone {{n}}": "Микрофон {{n}}", "More": "Още", - "More menu": "Мено \"още\"", "Mute microphone": "Заглуши микрофона", "No": "Не", "Not now, return to home screen": "Не сега, върни се на началния екран", @@ -77,8 +73,6 @@ "Release to stop": "Отпуснете за да спрете", "Remove": "Премахни", "Return to home screen": "Връщане на началния екран", - "Save": "Запази", - "Saving…": "Запазване…", "Select an option": "Изберете опция", "Send debug logs": "Изпратете debug логове", "Sending…": "Изпращане…", @@ -93,7 +87,6 @@ "Spotlight": "Прожектор", "Stop sharing screen": "Спри споделянето на екрана", "Submit feedback": "Изпрати обратна връзка", - "Submitting feedback…": "Изпращане на обратна връзка…", "Take me Home": "Отиди в Начало", "Talk over speaker": "Говорете заедно с говорителя", "Talking…": "Говорене…", @@ -104,7 +97,6 @@ "Turn off camera": "Изключи камерата", "Turn on camera": "Включи камерата", "Unmute microphone": "Включи микрофона", - "User ID": "Потребителски идентификатор", "User menu": "Потребителско меню", "Username": "Потребителско име", "Version: {{version}}": "Версия: {{version}}", @@ -121,7 +113,6 @@ "Your recent calls": "Скорошните ви разговори", "{{count}} people connected|one": "{{count}} човек се свърза", "{{count}} people connected|other": "{{count}} човека се звързаха", - "{{displayName}}, your call is now ended": "{{displayName}}, разговорът ви приключи", "{{names}}, {{name}}": "{{names}}, {{name}}", "{{name}} is presenting": "{{name}} презентира", "{{name}} is talking…": "{{name}} говори…", diff --git a/public/locales/cs/app.json b/public/locales/cs/app.json index 70226c43..5009dd10 100644 --- a/public/locales/cs/app.json +++ b/public/locales/cs/app.json @@ -26,14 +26,12 @@ "Version: {{version}}": "Verze: {{version}}", "Username": "Uživatelské jméno", "User menu": "Uživatelské menu", - "User ID": "ID uživatele", "Unmute microphone": "Zapnout mikrofon", "Turn on camera": "Zapnout kameru", "Turn off camera": "Vypnout kameru", "This call already exists, would you like to join?": "Tento hovor již existuje, chcete se připojit?", "Thanks! We'll get right on it.": "Děkujeme! Hned se na to vrhneme.", "Take me Home": "Domovská obrazovka", - "Submitting feedback…": "Odesílání zpětné vazby…", "Submit feedback": "Dát feedback", "Stop sharing screen": "Zastavit sdílení obrazovek", "Speaker {{n}}": "Reproduktor {{n}}", @@ -48,8 +46,6 @@ "Sending debug logs…": "Posílání ladícího záznamu…", "Send debug logs": "Poslat ladící záznam", "Select an option": "Vyberte možnost", - "Saving…": "Ukládání…", - "Save": "Uložit", "Return to home screen": "Vrátit se na domácí obrazovku", "Remove": "Odstranit", "Registering…": "Registrování…", @@ -66,12 +62,11 @@ "Microphone permissions needed to join the call.": "Přístup k mikrofonu je nutný pro připojení se k hovoru.", "Microphone {{n}}": "Mikrofon {{n}}", "Microphone": "Mikrofon", - "Login to your account": "Přihlásit se ke svůmu účtu", + "Login to your account": "Přihlásit se ke svému účtu", "Login": "Přihlášení", "Logging in…": "Přihlašování se…", "Local volume": "Lokální hlasitost", "Loading…": "Načítání…", - "Loading room…": "Načítání místnosti…", "Leave": "Opustit hovor", "Join call now": "Připojit se k hovoru", "Join call": "Připojit se k hovoru", @@ -83,7 +78,6 @@ "{{name}} is talking…": "{{name}} mluví…", "{{name}} is presenting": "{{name}} prezentuje", "{{name}} (Connecting...)": "{{name}} (Připojení...)", - "{{displayName}}, your call is now ended": "{{displayName}}, váš hovor je nyní ukončen", "{{count}} people connected|other": "{{count}} lidí připojeno", "{{count}} people connected|one": "{{count}} lidí připojeno", "This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)": "Tato možnost způsobí, že zvuk účastníků hovoru se bude tvářit jako by přicházel z místa, kde jsou umístěni na obrazovce.(Experimentální možnost: může způsobit nestabilitu audia.)", @@ -91,13 +85,10 @@ "Walkie-talkie call name": "Jméno vysílačkového hovoru", "Walkie-talkie call": "Vysílačkový hovor", "{{roomName}} - Walkie-talkie call": "{{roomName}} - Vysílačkový hovor", - "Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.": "Zapnout jedno-klávesové zkratky, např. 'm' pro vypnutí/zapnutí mikrofonu.", "{{names}}, {{name}}": "{{names}}, {{name}}", - "This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.": "Toto bude odesílat anonymizovaná data (jako délku a počet účastníků hovoru) týmu Element Call, aby nám pomohly zlepšovat aplikaci podle toho, jak je používaná.", "Talking…": "Mluvení…", "Talk over speaker": "Mluvit přes mluvčího", "Spotlight": "Soustředěný mód", - "Single-key keyboard shortcuts": "Jedno-klávesová klávesnice", "Release to stop": "Pusťte pro ukončení", "Release spacebar key to stop": "Pusťte mezerník pro ukončení", "Recaptcha not loaded": "Recaptcha se nenačetla", @@ -106,11 +97,9 @@ "Press and hold spacebar to talk over {{name}}": "Zmáčkněte a držte mezerník, abyste mluvili přes {{name}}", "Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}": "Ostatní uživatelé se pokoušejí připojit k tomuto hovoru s nekompatibilních verzí. Tito uživatelé by se měli ujistit, že stránku načetli znovu:<1>{userLis}", "Not registered yet? <2>Create an account": "Nejste registrovaní? <2>Vytvořit účet", - "More menu": "Další možnosti", "Join existing call?": "Připojit se k existujícimu hovoru?", "Include debug logs": "Zahrnout ladící záznamy", "Home": "Domov", - "Having trouble? Help us fix it.": "Máte problémy? Pomozte nám je spravit.", "Grid layout menu": "Menu rozložení", "Go": "Pokračovat", "Full screen": "Zvětšit na celou obrazovku", @@ -122,7 +111,6 @@ "Display name": "Zobrazované jméno", "Developer": "Vývojář", "Details": "Detaily", - "Description (optional)": "Popis (nepovinný)", "Debug log request": "Žádost o protokoly ladění", "Debug log": "Protokoly ladění", "Create account": "Vytvořit účet", @@ -131,13 +119,14 @@ "By clicking \"Join call now\", you agree to our <2>Terms and conditions": "Kliknutím na \"Připojit se do hovoru\", odsouhlasíte naše <2>Terms and conditions", "By clicking \"Go\", you agree to our <2>Terms and conditions": "Kliknutím na \"Pokračovat\", odsouhlasíte naše <2>Terms and conditions", "Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.": "Jiný uživatel v tomto hovoru má problémy. Abychom mohli diagnostikovat problém, rádi bychom shromáždili protokoly ladění.", - "Allow analytics": "Povolit analytiku", - "Advanced": "Pokročilé", "<0>Why not finish by setting up a password to keep your account?<1>You'll be able to keep your name and set an avatar for use on future calls": "<0>Proč neskončit nastavením hesla, abyste mohli účet použít znovu?<1>Budete si moci nechat své jméno a nastavit si avatar pro budoucí hovory ", "<0>Join call now<1>Or<2>Copy call link and join later": "<0>Připojit se<1>Or<2>Zkopírovat odkaz a připojit se později", "<0>Already have an account?<1><0>Log in Or <2>Access as a guest": "<0>Už máte účet?<1><0>Přihlásit se Or <2>Jako host", "{{name}} (Waiting for video...)": "{{name}} (Čekání na video...)", "This feature is only supported on Firefox.": "Tato funkce je podporována jen ve Firefoxu.", "<0>Submitting debug logs will help us track down the problem.": "<0>Odeslání ladících záznamů nám pomůže diagnostikovat problém.", - "<0>Oops, something's gone wrong.": "<0>Oops, něco se pokazilo." + "<0>Oops, something's gone wrong.": "<0>Oops, něco se pokazilo.", + "Use the upcoming grid system": "Používat nový systém pro zobrazení videí", + "Expose developer settings in the settings window.": "Zobrazit vývojářské nastavení.", + "Developer Settings": "Vývojářské nastavení" } diff --git a/public/locales/de/app.json b/public/locales/de/app.json index 120f979b..d65458eb 100644 --- a/public/locales/de/app.json +++ b/public/locales/de/app.json @@ -23,7 +23,6 @@ "Create account": "Konto erstellen", "Debug log": "Debug-Protokoll", "Debug log request": "Debug-Log Anfrage", - "Description (optional)": "Beschreibung (optional)", "Details": "Details", "Developer": "Entwickler", "Display name": "Anzeigename", @@ -33,7 +32,6 @@ "Full screen": "Vollbild", "Go": "Los geht’s", "Grid layout menu": "Grid-Layout-Menü", - "Having trouble? Help us fix it.": "Du hast ein Problem? Hilf uns, es zu beheben.", "Home": "Startseite", "Include debug logs": "Debug-Protokolle einschließen", "Incompatible versions": "Inkompatible Versionen", @@ -45,7 +43,6 @@ "Join call now": "Anruf beitreten", "Join existing call?": "An bestehendem Anruf teilnehmen?", "Leave": "Verlassen", - "Loading room…": "Lade Raum …", "Loading…": "Lade …", "Local volume": "Lokale Lautstärke", "Logging in…": "Anmelden …", @@ -55,7 +52,6 @@ "Microphone permissions needed to join the call.": "Mikrofon-Berechtigung ist erforderlich, um dem Anruf beizutreten.", "Microphone {{n}}": "Mikrofon {{n}}", "More": "Mehr", - "More menu": "Weiteres Menü", "Mute microphone": "Mikrofon stummschalten", "No": "Nein", "Not now, return to home screen": "Nicht jetzt, zurück zum Startbildschirm", @@ -76,8 +72,6 @@ "Release to stop": "Loslassen zum Stoppen", "Remove": "Entfernen", "Return to home screen": "Zurück zum Startbildschirm", - "Save": "Speichern", - "Saving…": "Speichere …", "Select an option": "Wähle eine Option", "Send debug logs": "Debug-Logs senden", "Sending…": "Senden …", @@ -92,7 +86,6 @@ "Spotlight": "Rampenlicht", "Stop sharing screen": "Beenden der Bildschirmfreigabe", "Submit feedback": "Rückmeldung geben", - "Submitting feedback…": "Sende Rückmeldung …", "Take me Home": "Zurück zur Startseite", "Talk over speaker": "Aktiven Sprecher verdrängen und sprechen", "Talking…": "Sprechen …", @@ -103,7 +96,6 @@ "Turn off camera": "Kamera ausschalten", "Turn on camera": "Kamera einschalten", "Unmute microphone": "Mikrofon aktivieren", - "User ID": "Benutzer-ID", "User menu": "Benutzermenü", "Username": "Benutzername", "Version: {{version}}": "Version: {{version}}", @@ -119,7 +111,6 @@ "Your recent calls": "Deine letzten Anrufe", "{{count}} people connected|one": "{{count}} Person verbunden", "{{count}} people connected|other": "{{count}} Personen verbunden", - "{{displayName}}, your call is now ended": "{{displayName}}, dein Anruf wurde beendet", "{{names}}, {{name}}": "{{names}}, {{name}}", "{{name}} is presenting": "{{name}} präsentiert", "{{name}} is talking…": "{{name}} spricht …", @@ -129,15 +120,27 @@ "Sending debug logs…": "Sende Debug-Protokolle …", "<0>Join call now<1>Or<2>Copy call link and join later": "<0>Anruf beitreten<1>Oder<2>Anruflink kopieren und später beitreten", "{{name}} (Connecting...)": "{{name}} (verbindet sich …)", - "Allow analytics": "Analysedaten senden", - "Advanced": "Erweitert", "Copy": "Kopieren", "Element Call Home": "Element Call-Startseite", - "This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.": "Dies wird anonymisierte Daten (wie z. B. die Dauer eines Anrufs und die Zahl der Teilnehmenden) dem Element Call-Team senden, um uns bei der Optimierung der Anwendung basierend auf dem Nutzungsverhalten zu helfen.", - "Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.": "Ob Tastenkürzel mit nur einer Taste aktiviert sein sollen, z. B. „m“ um das Mikrofon stumm/aktiv zu schalten.", - "Single-key keyboard shortcuts": "Ein-Tasten-Tastenkürzel", "{{name}} (Waiting for video...)": "{{name}} (Warte auf Video …)", "This feature is only supported on Firefox.": "Diese Funktion wird nur in Firefox unterstützt.", "<0>Submitting debug logs will help us track down the problem.": "<0>Übermittelte Problemberichte helfen uns, Fehler zu beheben.", - "<0>Oops, something's gone wrong.": "<0>Hoppla, etwas ist schiefgelaufen." + "<0>Oops, something's gone wrong.": "<0>Hoppla, etwas ist schiefgelaufen.", + "Use the upcoming grid system": "Nutze das kommende Rastersystem", + "Expose developer settings in the settings window.": "Zeige die Entwicklereinstellungen im Einstellungsfenster.", + "Developer Settings": "Entwicklereinstellungen", + "By participating in this beta, you consent to the collection of anonymous data, which we use to improve the product. You can find more information about which data we track in our <2>Privacy Policy and our <5>Cookie Policy.": "Mit der Teilnahme an der Beta akzeptierst du die Sammlung von anonymen Daten, die wir zur Verbesserung des Produkts verwenden. Weitere Informationen zu den von uns erhobenen Daten findest du in unserer <2>Datenschutzerklärung und unseren <5>Cookie-Richtlinien.", + "<0><1>You may withdraw consent by unchecking this box. If you are currently in a call, this setting will take effect at the end of the call.": "<0><1>Du kannst deine Zustimmung durch Abwählen dieses Kästchens zurückziehen. Falls du dich aktuell in einem Anruf befindest, wird diese Einstellung nach dem Ende des Anrufs wirksam.", + "Feedback": "Rückmeldung", + "If you are experiencing issues or simply would like to provide some feedback, please send us a short description below.": "Falls du auf Probleme stößt oder einfach nur eine Rückmeldung geben möchtest, sende uns bitte eine kurze Beschreibung.", + "Your feedback": "Deine Rückmeldung", + "Thanks, we received your feedback!": "Danke, wir haben deine Rückmeldung erhalten!", + "Submitting…": "Sende …", + "Submit": "Absenden", + "{{count}} stars|other": "{{count}} Sterne", + "{{displayName}}, your call has ended.": "{{displayName}}, dein Anruf wurde beendet.", + "<0>We'd love to hear your feedback so we can improve your experience.": "<0>Wir würden uns freuen, deine Rückmeldung zu hören, um deine Erfahrung verbessern zu können.", + "How did it go?": "Wie ist es gelaufen?", + "{{count}} stars|one": "{{count}} Stern", + "<0>Thanks for your feedback!": "<0>Danke für deine Rückmeldung!" } diff --git a/public/locales/el/app.json b/public/locales/el/app.json new file mode 100644 index 00000000..e50fc4c0 --- /dev/null +++ b/public/locales/el/app.json @@ -0,0 +1,95 @@ +{ + "You can't talk at the same time": "Δεν μπορείς να μιλάς ταυτόχρονα", + "Version: {{version}}": "Έκδοση: {{version}}", + "User menu": "Μενού χρήστη", + "Submit feedback": "Υποβάλετε σχόλια", + "Stop sharing screen": "Διακοπή κοινής χρήσης οθόνης", + "Sign in": "Σύνδεση", + "Show call inspector": "Εμφάνιση του επιθεωρητή κλήσης", + "Share screen": "Κοινή χρήση οθόνης", + "Sending…": "Αποστολή…", + "Select an option": "Επιλέξτε μια επιλογή", + "Remove": "Αφαίρεση", + "Registering…": "Εγγραφή…", + "Press and hold to talk": "Πατήστε παρατεταμένα για να μιλήσετε", + "Not registered yet? <2>Create an account": "Δεν έχετε εγγραφεί ακόμα; <2>Δημιουργήστε λογαριασμό", + "Login to your account": "Συνδεθείτε στο λογαριασμό σας", + "Logging in…": "Σύνδεση…", + "Invite people": "Προσκαλέστε άτομα", + "Invite": "Πρόσκληση", + "Inspector": "Επιθεωρητής", + "Incompatible versions!": "Μη συμβατές εκδόσεις!", + "Incompatible versions": "Μη συμβατές εκδόσεις", + "Display name": "Εμφανιζόμενο όνομα", + "Developer Settings": "Ρυθμίσεις προγραμματιστή", + "Debug log request": "Αίτημα αρχείου καταγραφής", + "Call link copied": "Ο σύνδεσμος κλήσης αντιγράφηκε", + "Avatar": "Avatar", + "Accept microphone permissions to join the call.": "Αποδεχτείτε τα δικαιώματα μικροφώνου για να συμμετάσχετε στην κλήση.", + "Accept camera/microphone permissions to join the call.": "Αποδεχτείτε τα δικαιώματα κάμερας/μικροφώνου για να συμμετάσχετε στην κλήση.", + "<0>Oops, something's gone wrong.": "<0>Ωχ, κάτι πήγε στραβά.", + "<0>Create an account Or <2>Access as a guest": "<0>Δημιουργήστε λογαριασμό Ή <2>Συμμετέχετε ως επισκέπτης", + "<0>Already have an account?<1><0>Log in Or <2>Access as a guest": "<0>Έχετε ήδη λογαριασμό;<1><0>Συνδεθείτε Ή <2>Συμμετέχετε ως επισκέπτης", + "{{roomName}} - Walkie-talkie call": "{{roomName}} - Κλήση walkie-talkie", + "{{names}}, {{name}}": "{{names}}, {{name}}", + "Your recent calls": "Οι πρόσφατες κλήσεις σας", + "Yes, join call": "Ναι, συμμετοχή στην κλήση", + "WebRTC is not supported or is being blocked in this browser.": "Το WebRTC δεν υποστηρίζεται ή έχει αποκλειστεί σε αυτό το πρόγραμμα περιήγησης.", + "Walkie-talkie call name": "Όνομα κλήσης walkie-talkie", + "Walkie-talkie call": "Κλήση walkie-talkie", + "Waiting for other participants…": "Αναμονή για άλλους συμμετέχοντες…", + "Waiting for network": "Αναμονή για δίκτυο", + "Video call name": "Όνομα βίντεο κλήσης", + "Video call": "Βίντεο κλήση", + "Video": "Βίντεο", + "Username": "Όνομα χρήστη", + "Turn on camera": "Ενεργοποιήστε την κάμερα", + "Turn off camera": "Απενεργοποιήστε την κάμερα", + "This feature is only supported on Firefox.": "Αυτή η δυνατότητα υποστηρίζεται μόνο στον Firefox.", + "This call already exists, would you like to join?": "Αυτή η κλήση υπάρχει ήδη, θα θέλατε να συμμετάσχετε;", + "Speaker": "Ηχείο", + "Spatial audio": "Χωρικός ήχος", + "Sign out": "Αποσύνδεση", + "Settings": "Ρυθμίσεις", + "Return to home screen": "Επιστροφή στην αρχική οθόνη", + "Register": "Εγγραφή", + "Profile": "Προφίλ", + "Press and hold spacebar to talk": "Για να μιλήσετε κρατήστε πατημένο το πλήκτρο διαστήματος", + "Passwords must match": "Οι κωδικοί πρέπει να ταιριάζουν", + "Password": "Κωδικός", + "Not now, return to home screen": "Όχι τώρα, επιστροφή στην αρχική οθόνη", + "No": "Όχι", + "Mute microphone": "Σίγαση μικροφώνου", + "More": "Περισσότερα", + "Microphone permissions needed to join the call.": "Απαιτούνται δικαιώματα μικροφώνου για συμμετοχή στην κλήση.", + "Microphone {{n}}": "Μικρόφωνο {{n}}", + "Microphone": "Μικρόφωνο", + "Login": "Σύνδεση", + "Loading…": "Φόρτωση…", + "Leave": "Αποχώρηση", + "Join existing call?": "Συμμετοχή στην υπάρχουσα κλήση;", + "Join call now": "Συμμετοχή στην κλήση τώρα", + "Join call": "Συμμετοχή στην κλήση", + "Go": "Μετάβαση", + "Full screen": "Πλήρη οθόνη", + "Exit full screen": "Έξοδος από πλήρη οθόνη", + "Details": "Λεπτομέρειες", + "Create account": "Δημιουργία λογαριασμού", + "Copy and share this call link": "Αντιγράψτε και μοιραστείτε αυτόν τον σύνδεσμο κλήσης", + "Copy": "Αντιγραφή", + "Copied!": "Αντιγράφηκε!", + "Connection lost": "Η σύνδεση χάθηκε", + "Confirm password": "Επιβεβαίωση κωδικού", + "Close": "Κλείσιμο", + "Change layout": "Αλλαγή διάταξης", + "Camera/microphone permissions needed to join the call.": "Απαιτούνται δικαιώματα κάμερας/μικροφώνου για να συμμετάσχετε στην κλήση.", + "Camera {{n}}": "Κάμερα {{n}}", + "Camera": "Κάμερα", + "Audio": "Ήχος", + "{{name}} is talking…": "{{name}} ομιλεί…", + "{{name}} is presenting": "{{name}} παρουσιάζει", + "{{name}} (Waiting for video...)": "{{name}} (Αναμονή για βίντεο...)", + "{{name}} (Connecting...)": "{{name}} (Συνδέεται...)", + "{{count}} people connected|other": "{{count}} άτομα συνδεδεμένα", + "{{count}} people connected|one": "{{count}} άτομο συνδεδεμένο" +} diff --git a/public/locales/en-GB/app.json b/public/locales/en-GB/app.json index 10805216..3b7a137e 100644 --- a/public/locales/en-GB/app.json +++ b/public/locales/en-GB/app.json @@ -1,20 +1,24 @@ { - "{{displayName}}, your call is now ended": "{{displayName}}, your call is now ended", + "{{count}} stars|one": "{{count}} star", + "{{count}} stars|other": "{{count}} stars", + "{{displayName}}, your call has ended.": "{{displayName}}, your call has ended.", "{{name}} is presenting": "{{name}} is presenting", "{{names}}, {{name}}": "{{names}}, {{name}}", + "<0><1>You may withdraw consent by unchecking this box. If you are currently in a call, this setting will take effect at the end of the call.": "<0><1>You may withdraw consent by unchecking this box. If you are currently in a call, this setting will take effect at the end of the call.", "<0>Already have an account?<1><0>Log in Or <2>Access as a guest": "<0>Already have an account?<1><0>Log in Or <2>Access as a guest", "<0>Create an account Or <2>Access as a guest": "<0>Create an account Or <2>Access as a guest", "<0>Join call now<1>Or<2>Copy call link and join later": "<0>Join call now<1>Or<2>Copy call link and join later", "<0>Oops, something's gone wrong.": "<0>Oops, something's gone wrong.", "<0>Submitting debug logs will help us track down the problem.": "<0>Submitting debug logs will help us track down the problem.", + "<0>Thanks for your feedback!": "<0>Thanks for your feedback!", + "<0>We'd love to hear your feedback so we can improve your experience.": "<0>We'd love to hear your feedback so we can improve your experience.", "<0>Why not finish by setting up a password to keep your account?<1>You'll be able to keep your name and set an avatar for use on future calls": "<0>Why not finish by setting up a password to keep your account?<1>You'll be able to keep your name and set an avatar for use on future calls", - "Advanced": "Advanced", - "Allow analytics": "Allow analytics", "Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.": "Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.", "Audio": "Audio", "Avatar": "Avatar", "By clicking \"Go\", you agree to our <2>Terms and conditions": "By clicking \"Go\", you agree to our <2>Terms and conditions", "By clicking \"Join call now\", you agree to our <2>Terms and conditions": "By clicking \"Join call now\", you agree to our <2>Terms and conditions", + "By participating in this beta, you consent to the collection of anonymous data, which we use to improve the product. You can find more information about which data we track in our <2>Privacy Policy and our <5>Cookie Policy.": "By participating in this beta, you consent to the collection of anonymous data, which we use to improve the product. You can find more information about which data we track in our <2>Privacy Policy and our <5>Cookie Policy.", "Call link copied": "Call link copied", "Call type menu": "Call type menu", "Camera": "Camera", @@ -27,39 +31,42 @@ "Create account": "Create account", "Debug log": "Debug log", "Debug log request": "Debug log request", - "Description (optional)": "Description (optional)", "Details": "Details", "Developer": "Developer", + "Developer Settings": "Developer Settings", "Display name": "Display name", "Download debug logs": "Download debug logs", "Element Call Home": "Element Call Home", + "Exit full screen": "Exit full screen", + "Expose developer settings in the settings window.": "Expose developer settings in the settings window.", + "Feedback": "Feedback", "Fetching group call timed out.": "Fetching group call timed out.", "Freedom": "Freedom", + "Full screen": "Full screen", "Go": "Go", "Grid layout menu": "Grid layout menu", - "Having trouble? Help us fix it.": "Having trouble? Help us fix it.", "Home": "Home", + "How did it go?": "How did it go?", + "If you are experiencing issues or simply would like to provide some feedback, please send us a short description below.": "If you are experiencing issues or simply would like to provide some feedback, please send us a short description below.", "Include debug logs": "Include debug logs", "Incompatible versions": "Incompatible versions", "Incompatible versions!": "Incompatible versions!", "Inspector": "Inspector", + "Invite": "Invite", "Invite people": "Invite people", "Join call": "Join call", "Join call now": "Join call now", "Join existing call?": "Join existing call?", "Leave": "Leave", - "Loading room…": "Loading room…", "Loading…": "Loading…", + "Local volume": "Local volume", "Logging in…": "Logging in…", "Login": "Login", "Login to your account": "Login to your account", - "Media Feeds": "Media Feeds", "Microphone": "Microphone", "More": "More", - "More menu": "More menu", "Mute microphone": "Mute microphone", "No": "No", - "No Feeds…": "No Feeds…", "Not now, return to home screen": "Not now, return to home screen", "Not registered yet? <2>Create an account": "Not registered yet? <2>Create an account", "Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}": "Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}", @@ -72,9 +79,6 @@ "Registering…": "Registering…", "Remove": "Remove", "Return to home screen": "Return to home screen", - "Save": "Save", - "Saving…": "Saving…", - "Screen Share Feeds": "Screen Share Feeds", "Select an option": "Select an option", "Send debug logs": "Send debug logs", "Sending debug logs…": "Sending debug logs…", @@ -84,24 +88,21 @@ "Show call inspector": "Show call inspector", "Sign in": "Sign in", "Sign out": "Sign out", - "Single-key keyboard shortcuts": "Single-key keyboard shortcuts", - "Spatial audio": "Spatial audio", "Speaker": "Speaker", "Spotlight": "Spotlight", "Stop sharing screen": "Stop sharing screen", + "Submit": "Submit", "Submit feedback": "Submit feedback", - "Submitting feedback…": "Submitting feedback…", + "Submitting…": "Submitting…", "Take me Home": "Take me Home", + "Thanks, we received your feedback!": "Thanks, we received your feedback!", "Thanks! We'll get right on it.": "Thanks! We'll get right on it.", "This call already exists, would you like to join?": "This call already exists, would you like to join?", - "This feature is only supported on Firefox.": "This feature is only supported on Firefox.", "This site is protected by ReCAPTCHA and the Google <2>Privacy Policy and <6>Terms of Service apply.<9>By clicking \"Register\", you agree to our <12>Terms and conditions": "This site is protected by ReCAPTCHA and the Google <2>Privacy Policy and <6>Terms of Service apply.<9>By clicking \"Register\", you agree to our <12>Terms and conditions", - "This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)": "This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)", - "This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.": "This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.", "Turn off camera": "Turn off camera", "Turn on camera": "Turn on camera", "Unmute microphone": "Unmute microphone", - "User ID": "User ID", + "Use the upcoming grid system": "Use the upcoming grid system", "User menu": "User menu", "Username": "Username", "Version: {{version}}": "Version: {{version}}", @@ -112,7 +113,7 @@ "Walkie-talkie call": "Walkie-talkie call", "Walkie-talkie call name": "Walkie-talkie call name", "WebRTC is not supported or is being blocked in this browser.": "WebRTC is not supported or is being blocked in this browser.", - "Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.": "Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.", "Yes, join call": "Yes, join call", + "Your feedback": "Your feedback", "Your recent calls": "Your recent calls" } diff --git a/public/locales/es/app.json b/public/locales/es/app.json index c41d345c..8e0a9a0e 100644 --- a/public/locales/es/app.json +++ b/public/locales/es/app.json @@ -23,7 +23,6 @@ "Version: {{version}}": "Versión: {{version}}", "Username": "Nombre de usuario", "User menu": "Menú de usuario", - "User ID": "ID de usuario", "Unmute microphone": "Desilenciar el micrófono", "Turn on camera": "Encender la cámara", "Turn off camera": "Apagar la cámara", @@ -33,7 +32,6 @@ "Talking…": "Hablando…", "Talk over speaker": "Hablar por encima", "Take me Home": "Volver al inicio", - "Submitting feedback…": "Enviando comentarios…", "Submit feedback": "Enviar comentarios", "Stop sharing screen": "Dejar de compartir pantalla", "Spotlight": "Foco", @@ -49,8 +47,6 @@ "Sending debug logs…": "Enviando registros de depuración…", "Send debug logs": "Enviar registros de depuración", "Select an option": "Selecciona una opción", - "Saving…": "Guardando…", - "Save": "Guardar", "Return to home screen": "Volver a la pantalla de inicio", "Remove": "Eliminar", "Release to stop": "Suelta para parar", @@ -68,7 +64,6 @@ "Not now, return to home screen": "Ahora no, volver a la pantalla de inicio", "No": "No", "Mute microphone": "Silenciar micrófono", - "More menu": "Menú Más", "More": "Más", "Microphone permissions needed to join the call.": "Se necesitan permisos del micrófono para unirse a la llamada.", "Microphone {{n}}": "Micrófono {{n}}", @@ -77,7 +72,6 @@ "Logging in…": "Iniciando sesión…", "Local volume": "Volumen local", "Loading…": "Cargando…", - "Loading room…": "Cargando sala…", "Leave": "Abandonar", "Join existing call?": "¿Unirse a llamada existente?", "Join call now": "Unirse a la llamada ahora", @@ -89,7 +83,6 @@ "Incompatible versions": "Versiones incompatibles", "Include debug logs": "Incluir registros de depuración", "Home": "Inicio", - "Having trouble? Help us fix it.": "¿Tienes problemas? Ayúdanos a resolverlos.", "Grid layout menu": "Menú de distribución de cuadrícula", "Go": "Comenzar", "Full screen": "Pantalla completa", @@ -100,7 +93,6 @@ "Display name": "Nombre a mostrar", "Developer": "Desarrollador", "Details": "Detalles", - "Description (optional)": "Descripción (opcional)", "Debug log request": "Petición de registros de depuración", "Debug log": "Registro de depuración", "Create account": "Crear cuenta", @@ -126,18 +118,17 @@ "{{name}} is talking…": "{{name}} está hablando…", "{{name}} is presenting": "{{name}} está presentando", "{{name}} (Connecting...)": "{{name}} (Conectando...)", - "{{displayName}}, your call is now ended": "{{displayName}}, tu llamada ha finalizado", "{{count}} people connected|other": "{{count}} personas conectadas", "{{count}} people connected|one": "{{count}} persona conectada", - "Allow analytics": "Permitir analíticas", - "Advanced": "Avanzado", "Element Call Home": "Inicio de Element Call", "Copy": "Copiar", - "This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.": "Esto enviará datos anónimos (como la duración de la llamada y el número de participantes) al equipo de Element Call para ayudarnos a optimizar la aplicación dependiendo de cómo se use.", - "Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.": "Habilita los atajos de teclado de una sola tecla, por ejemplo 'm' para silenciar/desilenciar el micrófono.", - "Single-key keyboard shortcuts": "Atajos de teclado de una sola tecla", "{{name}} (Waiting for video...)": "{{name}} (Esperando al video...)", "This feature is only supported on Firefox.": "Esta característica solo está disponible en Firefox.", "<0>Submitting debug logs will help us track down the problem.": "<0>Subir los registros de depuración nos ayudará a encontrar el problema.", - "<0>Oops, something's gone wrong.": "<0>Ups, algo ha salido mal." + "<0>Oops, something's gone wrong.": "<0>Ups, algo ha salido mal.", + "Expose developer settings in the settings window.": "Muestra los ajustes de desarrollador en la ventana de ajustes.", + "Developer Settings": "Ajustes de desarrollador", + "Use the upcoming grid system": "Utilizar el próximo sistema de cuadrícula", + "By participating in this beta, you consent to the collection of anonymous data, which we use to improve the product. You can find more information about which data we track in our <2>Privacy Policy and our <5>Cookie Policy.": "Al participar en esta beta, consientes a la recogida de datos anónimos, los cuales usaremos para mejorar el producto. Puedes encontrar más información sobre que datos recogemos en nuestra <2>Política de privacidad y en nuestra <5>Política sobre Cookies.", + "<0><1>You may withdraw consent by unchecking this box. If you are currently in a call, this setting will take effect at the end of the call.": "<0><1>Puedes retirar tu consentimiento desmarcando esta casilla. Si estás en una llamada, este ajuste se aplicará al final de esta." } diff --git a/public/locales/et/app.json b/public/locales/et/app.json index 0ca2e145..75b55e73 100644 --- a/public/locales/et/app.json +++ b/public/locales/et/app.json @@ -10,7 +10,6 @@ "{{name}} is talking…": "{{nimi}} räägib…", "{{name}} is presenting": "{{nimi}} esitab", "{{name}} (Connecting...)": "{{nimi}} (ühendamisel...)", - "{{displayName}}, your call is now ended": "{{displayName}}, sinu kõne on nüüd lõppenud", "{{count}} people connected|other": "{{count}} osalejat liitunud", "{{count}} people connected|one": "{{count}} osaleja liitunud", "Invite people": "Kutsu inimesi", @@ -20,7 +19,6 @@ "Incompatible versions": "Ühildumatud versioonid", "Include debug logs": "Lisa veatuvastuslogid", "Home": "Avavaatesse", - "Having trouble? Help us fix it.": "Kas on probleeme? Aita meil asja parandada.", "Grid layout menu": "Ruudustikvaate menüü", "Go": "Jätka", "Full screen": "Täisekraan", @@ -31,7 +29,6 @@ "Display name": "Kuvatav nimi", "Developer": "Arendaja", "Details": "Täpsemalt", - "Description (optional)": "Kirjeldus (valikuline)", "Debug log request": "Veaotsingulogi päring", "Debug log": "Veaotsingulogi", "Create account": "Loo konto", @@ -60,7 +57,6 @@ "Mute microphone": "Summuta mikrofon", "Your recent calls": "Hiljutised kõned", "You can't talk at the same time": "Üheaegselt ei saa rääkida", - "More menu": "Rohkem valikuid", "More": "Rohkem", "Microphone permissions needed to join the call.": "Kõnega liitumiseks on vaja lubada mikrofoni kasutamine.", "Microphone {{n}}": "Mikrofon {{n}}", @@ -70,15 +66,12 @@ "Logging in…": "Sisselogimine …", "Local volume": "Kohalik helitugevus", "Loading…": "Laadimine …", - "Loading room…": "Ruumi laadimine …", "Leave": "Lahku", "Join existing call?": "Liitu juba käimasoleva kõnega?", "Join call now": "Kõnega liitumine", "Join call": "Kõnega liitumine", - "User ID": "Kasutajatunnus", "Turn on camera": "Lülita kaamera sisse", "Turn off camera": "Lülita kaamera välja", - "Submitting feedback…": "Tagasiside saatmine…", "Take me Home": "Mine avalehele", "Submit feedback": "Jaga tagasisidet", "Stop sharing screen": "Lõpeta ekraani jagamine", @@ -95,8 +88,6 @@ "Sending debug logs…": "Veaotsingulogide saatmine…", "Send debug logs": "Saada veaotsingulogid", "Select an option": "Vali oma eelistus", - "Saving…": "Salvestamine…", - "Save": "Salvesta", "Return to home screen": "Tagasi avalehele", "Remove": "Eemalda", "Release to stop": "Peatamiseks vabasta klahv", @@ -129,15 +120,27 @@ "WebRTC is not supported or is being blocked in this browser.": "WebRTC pole kas selles brauseris toetatud või on keelatud.", "This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)": "Muudab kõneleja heli nii, nagu tuleks see sealt, kus on tema pilt ekraanil. (See on katseline funktsionaalsus ja võib mõjutada heli stabiilsust.)", "This site is protected by ReCAPTCHA and the Google <2>Privacy Policy and <6>Terms of Service apply.<9>By clicking \"Register\", you agree to our <12>Terms and conditions": "Siin saidis on kasutusel ReCAPTCHA ning kehtivad Google <2>privaatsuspoliitika ja <6>teenusetingimused.<9>Klikkides „Registreeru“, nõustud meie <12>kasutustingimustega", - "Allow analytics": "Luba analüütika", - "Advanced": "Lisaseadistused", "Element Call Home": "Element Call Home", "Copy": "Kopeeri", - "This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.": "Me saadame kõne anonüümsed andmed (nagu kõne kestus ja osalejate arv) meie arendustiimile ja see võimaldab levinud kasutusmustrite alusel arendust optimeerida.", - "Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.": "Kas kasutame üheklahvilisi kiirklahve, näiteks „m“ mikrofoni sisse/välja lülitamiseks.", - "Single-key keyboard shortcuts": "Üheklahvilised kiirklahvid", "{{name}} (Waiting for video...)": "{{name}} (Ootame videovoo algust...)", "This feature is only supported on Firefox.": "See funktsionaalsus on toetatud vaid Firefoxis.", "<0>Submitting debug logs will help us track down the problem.": "<0>Kui saadad meile vealogid, siis on lihtsam vea põhjust otsida.", - "<0>Oops, something's gone wrong.": "<0>Ohoo, midagi on nüüd katki." + "<0>Oops, something's gone wrong.": "<0>Ohoo, midagi on nüüd katki.", + "Use the upcoming grid system": "Kasuta tulevast ruudustiku-põhist paigutust", + "Expose developer settings in the settings window.": "Näita seadistuste aknas arendajale vajalikke seadeid.", + "Developer Settings": "Arendaja seadistused", + "By participating in this beta, you consent to the collection of anonymous data, which we use to improve the product. You can find more information about which data we track in our <2>Privacy Policy and our <5>Cookie Policy.": "Nõustudes selle beetaversiooni kasutamisega sa nõustud ka toote arendamiseks kasutatavate anonüümsete andmete kogumisega. Täpsemat teavet kogutavate andmete kohta leiad meie <2>Privaatsuspoliitikast ja meie <5>Küpsiste kasutamise reeglitest.", + "<0><1>You may withdraw consent by unchecking this box. If you are currently in a call, this setting will take effect at the end of the call.": "<0><1>Sa võid selle valiku eelmaldamisega alati oma nõusoleku tagasi võtta. Kui sul parasjagu on kõne pooleli, siis seadistuste muudatus jõustub pärast kõne lõppu.", + "Your feedback": "Sinu tagasiside", + "Thanks, we received your feedback!": "Tänud, me oleme sinu tagasiside kätte saanud!", + "Submitting…": "Saadan…", + "Submit": "Saada", + "If you are experiencing issues or simply would like to provide some feedback, please send us a short description below.": "Kui selle rakenduse kasutamisel tekib sul probleeme või lihtsalt soovid oma arvamust avaldada, siis palun täida alljärgnev lühike kirjeldus.", + "Feedback": "Tagasiside", + "{{count}} stars|one": "{{count}} tärn", + "{{count}} stars|other": "{{count}} tärni", + "How did it go?": "Kuidas sujus?", + "{{displayName}}, your call has ended.": "{{displayName}}, sinu kõne on lõppenud.", + "<0>Thanks for your feedback!": "<0>Täname Sind tagasiside eest!", + "<0>We'd love to hear your feedback so we can improve your experience.": "<0>Meie rakenduse paremaks muutmiseks me hea meelega ootame Sinu arvamusi." } diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json index fb984532..cb1e1405 100644 --- a/public/locales/fa/app.json +++ b/public/locales/fa/app.json @@ -3,7 +3,6 @@ "Video call": "تماس تصویری", "Video": "ویدیو", "Username": "نام کاربری", - "User ID": "آی دی کاربر", "Turn on camera": "روشن کردن دوربین", "Turn off camera": "خاموش کردن دوربین", "Take me Home": "مرا به خانه ببر", @@ -11,7 +10,6 @@ "Sign out": "خروج", "Sign in": "ورود", "Settings": "تنظیمات", - "Save": "ذخیره", "Profile": "پروفایل", "Password": "رمز عبور", "No": "خیر", @@ -21,7 +19,6 @@ "Login to your account": "به حساب کاربری خود وارد شوید", "Login": "ورود", "Loading…": "بارگزاری…", - "Loading room…": "بارگزاری اتاق…", "Leave": "خروج", "Join existing call?": "پیوست به تماس؟", "Join call now": "الان به تماس بپیوند", @@ -37,7 +34,6 @@ "Display name": "نام نمایشی", "Developer": "توسعه دهنده", "Details": "جزئیات", - "Description (optional)": "توضیحات (اختیاری)", "Debug log request": "درخواست لاگ عیب‌یابی", "Debug log": "لاگ عیب‌یابی", "Create account": "ساخت حساب کاربری", @@ -66,7 +62,6 @@ "{{roomName}} - Walkie-talkie call": "{{roomName}} - تماس واکی-تاکی", "{{name}} is talking…": "{{name}} در حال صحبت است…", "{{name}} is presenting": "{{name}} حاضر است", - "{{displayName}}, your call is now ended": "{{displayName}} تماس شما پایان یافت", "{{count}} people connected|other": "{{count}} نفر متصل هستند", "{{count}} people connected|one": "{{count}} فرد متصل هستند", "Local volume": "حجم داخلی", @@ -81,7 +76,6 @@ "Sending debug logs…": "در حال ارسال باگ‌های عیب‌یابی…", "Send debug logs": "ارسال لاگ‌های عیب‌یابی", "Select an option": "یک گزینه را انتخاب کنید", - "Saving…": "در حال ذخیره…", "Return to home screen": "برگشت به صفحه اصلی", "Remove": "حذف", "Release to stop": "برای توقف رها کنید", @@ -98,12 +92,10 @@ "Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}": "کاربران دیگر تلاش می‌کنند با ورژن‌های ناسازگار به مکالمه بپیوندند. این کاربران باید از بروزرسانی مرورگرشان اطمینان داشته باشند:<1>{userLis}", "Not registered yet? <2>Create an account": "هنوز ثبت‌نام نکرده‌اید؟ <2>ساخت حساب کاربری", "Not now, return to home screen": "الان نه، به صفحه اصلی برگردید", - "More menu": "تنظیمات بیشتر", "Microphone permissions needed to join the call.": "برای پیوستن به مکالمه دسترسی به میکروفون نیاز است.", "Microphone {{n}}": "میکروفون {{n}}", "Logging in…": "ورود…", "Include debug logs": "شامل لاگ‌های عیب‌یابی", - "Having trouble? Help us fix it.": "با مشکلی رو به رو شدید؟ به ما کمک کنید رفعش کنیم.", "Grid layout menu": "منوی طرح‌بندی شبکه‌ای", "Fetching group call timed out.": "زمان اتصال به مکالمه گروهی تمام شد.", "You can't talk at the same time": "نمی توانید هم‌زمان صحبت کنید", @@ -123,17 +115,11 @@ "Thanks! We'll get right on it.": "با تشکر! ما به درستی آن را انجام خواهیم داد.", "Talking…": "در حال صحبت کردن…", "Talk over speaker": "روی بلندگو صحبت کنید", - "Submitting feedback…": "در حال ارسال بازخورد…", "Submit feedback": "بازخورد ارائه دهید", "Stop sharing screen": "توقف اشتراک‌گذاری صفحه نمایش", "Spatial audio": "صدای جهت‌دار", - "Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.": "این که میان‌برهای صفحه‌کلید تک‌کلیده مثل m برای خموشی و ناخموشی میکروفون به کار بیفتند یا نه.", - "This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.": "داده‌های ناشناس شده (از اطَلاعاتی مثل طول تماس و شمارهٔ طرف‌ها) را به گروه تماس المنت فرستاده تا در بهینه‌سازی برنامه بر پایهٔ چگونگی استفاده‌اش یاریمان کنند.", - "Single-key keyboard shortcuts": "میان‌برهای صفحه‌کلید تک‌کلیده", "Element Call Home": "خانهٔ تماس المنت", "Copy": "رونوشت", - "Allow analytics": "نمایش تجزیه‌ها", - "Advanced": "پیش رفته", "<0>Join call now<1>Or<2>Copy call link and join later": "<0>اکنون به تماس پیوسته<1>یا<2>پیوند تماس را رونوشت کرده و بعداً بپیوندید", "{{name}} (Waiting for video...)": "{{name}} (منتظر تصویر…)", "{{name}} (Connecting...)": "{{name}} (وصل شدن…)" diff --git a/public/locales/fr/app.json b/public/locales/fr/app.json index c8e9cceb..70f35190 100644 --- a/public/locales/fr/app.json +++ b/public/locales/fr/app.json @@ -22,7 +22,6 @@ "Create account": "Créer un compte", "Debug log": "Journal de débogage", "Debug log request": "Demande d’un journal de débogage", - "Description (optional)": "Description (facultatif)", "Details": "Informations", "Developer": "Développeur", "Display name": "Nom d’affichage", @@ -32,7 +31,6 @@ "Full screen": "Plein écran", "Go": "Commencer", "Grid layout menu": "Menu en grille", - "Having trouble? Help us fix it.": "Un problème ? Aidez nous à le résoudre.", "Home": "Accueil", "Include debug logs": "Inclure les journaux de débogage", "Incompatible versions": "Versions incompatibles", @@ -43,7 +41,6 @@ "Join call now": "Rejoindre l’appel maintenant", "Join existing call?": "Rejoindre un appel existant ?", "Leave": "Partir", - "Loading room…": "Chargement du salon…", "Loading…": "Chargement…", "Local volume": "Volume local", "Logging in…": "Connexion…", @@ -53,7 +50,6 @@ "Microphone permissions needed to join the call.": "Accès au microphone requis pour rejoindre l’appel.", "Microphone {{n}}": "Microphone {{n}}", "More": "Plus", - "More menu": "Menu plus", "Mute microphone": "Couper le micro", "No": "Non", "Not now, return to home screen": "Pas maintenant, retourner à l’accueil", @@ -74,8 +70,6 @@ "Release to stop": "Relâcher pour arrêter", "Remove": "Supprimer", "Return to home screen": "Retour à l’accueil", - "Save": "Enregistrer", - "Saving…": "Enregistrement…", "Select an option": "Sélectionnez une option", "Send debug logs": "Envoyer les journaux de débogage", "Sending…": "Envoi…", @@ -88,7 +82,6 @@ "Spotlight": "Premier plan", "Stop sharing screen": "Arrêter le partage d’écran", "Submit feedback": "Envoyer des retours", - "Submitting feedback…": "Envoi des retours…", "Take me Home": "Retouner à l’accueil", "Talk over speaker": "Parler par dessus l’intervenant", "Thanks! We'll get right on it.": "Merci ! Nous allons nous y attaquer.", @@ -98,7 +91,6 @@ "{{roomName}} - Walkie-talkie call": "{{roomName}} — Appel talkie-walkie", "{{name}} is talking…": "{{name}} est en train de parler…", "{{names}}, {{name}}": "{{names}}, {{name}}", - "{{displayName}}, your call is now ended": "{{displayName}}, votre appel est désormais terminé", "{{count}} people connected|other": "{{count}} personnes connectées", "{{count}} people connected|one": "{{count}} personne connectée", "Your recent calls": "Appels récents", @@ -115,7 +107,6 @@ "Version: {{version}}": "Version : {{version}}", "Username": "Nom d’utilisateur", "User menu": "Menu utilisateur", - "User ID": "Identifiant utilisateur", "Unmute microphone": "Allumer le micro", "Turn on camera": "Allumer la caméra", "Turn off camera": "Couper la caméra", @@ -129,15 +120,27 @@ "Sending debug logs…": "Envoi des journaux de débogage…", "<0>Join call now<1>Or<2>Copy call link and join later": "<0>Rejoindre l’appel maintenant<1>Ou<2>Copier le lien de l’appel et rejoindre plus tard", "{{name}} (Connecting...)": "{{name}} (Connexion…)", - "Allow analytics": "Autoriser les statistiques", - "Advanced": "Avancé", "Element Call Home": "Accueil Element Call", "Copy": "Copier", - "This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.": "Cela enverra des données anonymisées (telles que la durée d’un appel et le nombre de participants) à l’équipe de Element Call pour aider à optimiser l’application en fonction de l’utilisation.", - "Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.": "Bascule sur les raccourcis clavier à touche unique, par exemple « m » pour désactiver / activer le micro.", - "Single-key keyboard shortcuts": "Raccourcis clavier en une touche", "{{name}} (Waiting for video...)": "{{name}} (En attente de vidéo…)", "This feature is only supported on Firefox.": "Cette fonctionnalité est prise en charge dans Firefox uniquement.", "<0>Submitting debug logs will help us track down the problem.": "<0>Soumettre les journaux de débogage nous aidera à déterminer le problème.", - "<0>Oops, something's gone wrong.": "<0>Oups, quelque chose s’est mal passé." + "<0>Oops, something's gone wrong.": "<0>Oups, quelque chose s’est mal passé.", + "Use the upcoming grid system": "Utiliser le futur système de grille", + "Expose developer settings in the settings window.": "Affiche les paramètres développeurs dans la fenêtre des paramètres.", + "Developer Settings": "Paramètres développeurs", + "By participating in this beta, you consent to the collection of anonymous data, which we use to improve the product. You can find more information about which data we track in our <2>Privacy Policy and our <5>Cookie Policy.": "En participant à cette beta, vous consentez à la collecte de données anonymes, qui seront utilisées pour améliorer le produit. Vous trouverez plus d’informations sur les données collectées dans notre <2>Politique de vie privée et notre <5>Politique de cookies.", + "<0><1>You may withdraw consent by unchecking this box. If you are currently in a call, this setting will take effect at the end of the call.": "<0><1>Vous pouvez retirer votre consentement en décochant cette case. Si vous êtes actuellement en communication, ce paramètre prendra effet à la fin de l’appel.", + "Your feedback": "Votre commentaire", + "Thanks, we received your feedback!": "Merci, nous avons reçu vos commentaires !", + "Submitting…": "Envoi…", + "Submit": "Envoyer", + "If you are experiencing issues or simply would like to provide some feedback, please send us a short description below.": "Si vous rencontrez des problèmes, ou vous voulez simplement faire un commentaire, veuillez nous envoyer une courte description ci-dessous.", + "Feedback": "Commentaires", + "{{count}} stars|other": "{{count}} favoris", + "<0>We'd love to hear your feedback so we can improve your experience.": "<0>Nous aimerions avoir vos commentaires afin que nous puissions améliorer votre expérience.", + "{{count}} stars|one": "{{count}} favori", + "{{displayName}}, your call has ended.": "{{displayName}}, votre appel est terminé.", + "<0>Thanks for your feedback!": "<0>Merci pour votre commentaire !", + "How did it go?": "Comment cela s’est-il passé ?" } diff --git a/public/locales/id/app.json b/public/locales/id/app.json index dccfe8ff..14153cad 100644 --- a/public/locales/id/app.json +++ b/public/locales/id/app.json @@ -23,7 +23,6 @@ "Create account": "Buat akun", "Debug log": "Catatan pengawakutuan", "Debug log request": "Permintaan catatan pengawakutuan", - "Description (optional)": "Deskripsi (opsional)", "Details": "Detail", "Developer": "Pengembang", "Display name": "Nama tampilan", @@ -34,7 +33,6 @@ "Full screen": "Layar penuh", "Go": "Bergabung", "Grid layout menu": "Menu tata letak kisi", - "Having trouble? Help us fix it.": "Mengalami masalah? Bantu kami memperbaikinya.", "Home": "Beranda", "Include debug logs": "Termasuk catatan pengawakutuan", "Incompatible versions": "Versi tidak kompatibel", @@ -46,7 +44,6 @@ "Join call now": "Bergabung ke panggilan sekarang", "Join existing call?": "Bergabung ke panggilan yang sudah ada?", "Leave": "Keluar", - "Loading room…": "Memuat ruangan…", "Loading…": "Memuat…", "Local volume": "Volume lokal", "Logging in…": "Memasuki…", @@ -56,7 +53,6 @@ "Microphone permissions needed to join the call.": "Izin mikrofon dibutuhkan untuk bergabung ke panggilan ini.", "Microphone {{n}}": "Mikrofon {{n}}", "More": "Lainnya", - "More menu": "Menu lainnya", "Mute microphone": "Bisukan mikrofon", "No": "Tidak", "Not now, return to home screen": "Tidak sekarang, kembali ke layar beranda", @@ -77,8 +73,6 @@ "Release to stop": "Lepaskan untuk berhenti", "Remove": "Hapus", "Return to home screen": "Kembali ke layar beranda", - "Save": "Simpan", - "Saving…": "Menyimpan…", "Select an option": "Pilih sebuah opsi", "Send debug logs": "Kirim catatan pengawakutuan", "Sending…": "Mengirimkan…", @@ -93,7 +87,6 @@ "Spotlight": "Sorotan", "Stop sharing screen": "Berhenti membagikan layar", "Submit feedback": "Kirim masukan", - "Submitting feedback…": "Mengirimkan masukan…", "Take me Home": "Bawa saya ke Beranda", "Talk over speaker": "Bicara pada pembicara", "Talking…": "Berbicara…", @@ -104,7 +97,6 @@ "Turn off camera": "Matikan kamera", "Turn on camera": "Nyalakan kamera", "Unmute microphone": "Suarakan mikrofon", - "User ID": "ID pengguna", "User menu": "Menu pengguna", "Username": "Nama pengguna", "Version: {{version}}": "Versi: {{version}}", @@ -121,7 +113,6 @@ "Your recent calls": "Panggilan Anda terkini", "{{count}} people connected|one": "{{count}} orang terhubung", "{{count}} people connected|other": "{{count}} orang terhubung", - "{{displayName}}, your call is now ended": "{{displayName}}, panggilan Anda sekarang telah berakhir", "{{names}}, {{name}}": "{{names}}, {{name}}", "{{name}} is presenting": "{{name}} sedang mempresentasi", "{{name}} is talking…": "{{name}} sedang berbicara…", @@ -129,15 +120,26 @@ "Sending debug logs…": "Mengirimkan catatan pengawakutuan…", "<0>Join call now<1>Or<2>Copy call link and join later": "<0>Bergabung panggilan sekarang<1>Atau<2>Salin tautan dan bergabung nanti", "{{name}} (Connecting...)": "{{name}} (Menghubungkan...)", - "Allow analytics": "Perbolehkan analitik", - "Advanced": "Tingkat lanjut", "Element Call Home": "Beranda Element Call", "Copy": "Salin", - "This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.": "Ini akan mengirimkan data anonim (seperti durasi dan jumlah peserta panggilan) ke tim Element Call untuk membantu kami mengoptimalkan aplikasi berdasarkan bagaimana penggunaannya.", - "Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.": "Apakah pintasan papan ketik seharusnya diaktifkan, mis. 'm' untuk membisukan/menyuarakan mikrofon.", - "Single-key keyboard shortcuts": "Pintasan papan ketik satu tombol", "{{name}} (Waiting for video...)": "{{name}} (Menunggu video...)", "This feature is only supported on Firefox.": "Fitur ini hanya didukung di Firefox.", "<0>Submitting debug logs will help us track down the problem.": "<0>Mengirim catatan pengawakutuan akan membantu kami melacak masalahnya.", - "<0>Oops, something's gone wrong.": "<0>Aduh, ada yang salah." + "<0>Oops, something's gone wrong.": "<0>Aduh, ada yang salah.", + "Use the upcoming grid system": "Gunakan sistem kisi yang akan segera datang", + "Expose developer settings in the settings window.": "Ekspos pengaturan pengembang dalam jendela pengaturan.", + "Developer Settings": "Pengaturan Pengembang", + "By participating in this beta, you consent to the collection of anonymous data, which we use to improve the product. You can find more information about which data we track in our <2>Privacy Policy and our <5>Cookie Policy.": "Dengan bergabung dalam beta ini, Anda mengizinkan kami untuk mengumpulkan data anonim, yang kami gunakan untuk meningkatkan produk ini. Anda dapat mempelajari lebih lanjut tentang data apa yang kami lacak dalam <2>Kebijakan Privasi dan <5>Kebijakan Kuki kami.", + "<0><1>You may withdraw consent by unchecking this box. If you are currently in a call, this setting will take effect at the end of the call.": "<0><1>Anda dapat mengurungkan kembali izin dengan mencentang kotak ini. Jika Anda saat ini dalam panggilan, pengaturan ini akan diterapkan di akhir panggilan.", + "Feedback": "Masukan", + "If you are experiencing issues or simply would like to provide some feedback, please send us a short description below.": "Jika Anda mengalami masalah atau hanya ingin memberikan masukan, silakan kirimkan kami deskripsi pendek di bawah.", + "Submit": "Kirim", + "Submitting…": "Mengirim", + "Thanks, we received your feedback!": "Terima kasih, kami telah menerima masukan Anda!", + "Your feedback": "Masukan Anda", + "{{displayName}}, your call has ended.": "{{displayName}}, panggilan Anda telah berakhir.", + "<0>Thanks for your feedback!": "<0>Terima kasih atas masukan Anda!", + "How did it go?": "Bagaimana rasanya?", + "{{count}} stars|one": "{{count}} bintang", + "<0>We'd love to hear your feedback so we can improve your experience.": "<0>Kami ingin mendengar masukan Anda supaya kami bisa meningkatkan pengalaman Anda." } diff --git a/public/locales/ja/app.json b/public/locales/ja/app.json index 71974160..402121d3 100644 --- a/public/locales/ja/app.json +++ b/public/locales/ja/app.json @@ -10,7 +10,6 @@ "Accept camera/microphone permissions to join the call.": "通話に参加するには、カメラ・マイクの許可が必要です。", "<0>Oops, something's gone wrong.": "<0>何かがうまく行きませんでした。", "Camera/microphone permissions needed to join the call.": "通話に参加する場合、カメラ・マイクの許可が必要です。", - "Allow analytics": "アナリティクスを許可", "Camera": "カメラ", "Call link copied": "通話リンクをコピーしました", "By clicking \"Join call now\", you agree to our <2>Terms and conditions": "「今すぐ通話に参加」をクリックすると、<2>利用規約に同意したとみなされます", @@ -18,7 +17,6 @@ "Avatar": "アバター", "Accept microphone permissions to join the call.": "通話に参加するには、マイクの許可が必要です。", "Audio": "音声", - "Advanced": "高度", "Connection lost": "接続が切断されました", "Confirm password": "パスワードを確認", "Close": "閉じる", @@ -26,10 +24,8 @@ "Copied!": "コピーしました!", "Copy and share this call link": "通話リンクをコピーし共有", "Copy": "コピー", - "Description (optional)": "概要(任意)", "Debug log": "デバッグログ", "Create account": "アカウントを作成", - "Having trouble? Help us fix it.": "問題が起きましたか?修正にご協力ください。", "Go": "続行", "Fetching group call timed out.": "グループ通話の取得がタイムアウトしました。", "Element Call Home": "Element Call ホーム", @@ -55,16 +51,13 @@ "Login": "ログイン", "Logging in…": "ログインしています…", "Loading…": "読み込んでいます…", - "Loading room…": "ルームを読み込んでいます…", "Leave": "退出", "Version: {{version}}": "バージョン:{{version}}", "Username": "ユーザー名", "User menu": "ユーザーメニュー", - "User ID": "ユーザーID", "Unmute microphone": "マイクのミュートを解除", "Turn on camera": "カメラをつける", "Turn off camera": "カメラを切る", - "Submitting feedback…": "フィードバックを送信しています…", "Submit feedback": "フィードバックを送信", "Stop sharing screen": "画面共有を停止", "Spotlight": "スポットライト", @@ -75,8 +68,6 @@ "Settings": "設定", "Sending…": "送信しています…", "Sending debug logs…": "デバッグログを送信しています…", - "Saving…": "保存しています…", - "Save": "保存", "Return to home screen": "ホーム画面に戻る", "Registering…": "登録しています…", "Register": "登録", @@ -101,7 +92,15 @@ "Your recent calls": "最近の通話", "You can't talk at the same time": "同時に会話することはできません", "WebRTC is not supported or is being blocked in this browser.": "お使いのブラウザでWebRTCがサポートされていないか、またはブロックされています。", - "Login to your account": "お持ちのアカウントでログイン", + "Login to your account": "アカウントにログイン", "Freedom": "自由", - "{{displayName}}, your call is now ended": "{{displayName}}、通話が終了しました" + "Talking…": "話しています…", + "Remove": "削除", + "No": "いいえ", + "This feature is only supported on Firefox.": "この機能はFirefoxでのみサポートされています。", + "This call already exists, would you like to join?": "この通話は既に存在します。参加しますか?", + "Take me Home": "ホームに戻る", + "Press and hold to talk": "押し続けて会話", + "{{name}} is presenting": "{{name}}が画面を共有しています", + "{{names}}, {{name}}": "{{names}}、{{name}}" } diff --git a/public/locales/ko/app.json b/public/locales/ko/app.json index 31bf1376..4a8b4e24 100644 --- a/public/locales/ko/app.json +++ b/public/locales/ko/app.json @@ -3,7 +3,6 @@ "<0>Create an account Or <2>Access as a guest": "", "{{count}} people connected|one": "{{count}}명 연결됨", "{{count}} people connected|other": "{{count}}명 연결됨", - "{{displayName}}, your call is now ended": "{{displayName}}님, 전화가 종료되었습니다", "{{names}}, {{name}}": "{{names}}님, {{name}}님", "{{name}} is presenting": "{{name}}님이 발표 중", "{{name}} is talking…": "{{name}}님이 말하는 중…", diff --git a/public/locales/pl/app.json b/public/locales/pl/app.json index 0fdee20a..94fc9186 100644 --- a/public/locales/pl/app.json +++ b/public/locales/pl/app.json @@ -1,9 +1,8 @@ { - "More menu": "Menu \"więcej\"", "Login": "Zaloguj się", - "Go": "Kontynuuj", - "By clicking \"Go\", you agree to our <2>Terms and conditions": "Klikając \"Kontynuuj\", wyrażasz zgodę na nasze <2>Warunki", - "{{count}} people connected|other": "{{count}} ludzi połączono", + "Go": "Przejdź", + "By clicking \"Go\", you agree to our <2>Terms and conditions": "Klikając \"Kontynuuj\", wyrażasz zgodę na nasze <2>Zasady i warunki", + "{{count}} people connected|other": "{{count}} osób połączonych", "Your recent calls": "Twoje ostatnie połączenia", "You can't talk at the same time": "Nie możesz mówić w tym samym czasie", "Yes, join call": "Tak, dołącz do połączenia", @@ -18,7 +17,6 @@ "Version: {{version}}": "Wersja: {{version}}", "Username": "Nazwa użytkownika", "User menu": "Menu użytkownika", - "User ID": "ID użytkownika", "Unmute microphone": "Wyłącz wyciszenie mikrofonu", "Turn on camera": "Włącz kamerę", "Turn off camera": "Wyłącz kamerę", @@ -26,8 +24,7 @@ "This call already exists, would you like to join?": "Te połączenie już istnieje, czy chcesz do niego dołączyć?", "Thanks! We'll get right on it.": "Dziękujemy! Zaraz się tym zajmiemy.", "Talking…": "Mówienie…", - "Take me Home": "Zabierz mnie do ekranu startowego", - "Submitting feedback…": "Przesyłanie opinii…", + "Take me Home": "Zabierz mnie do strony głównej", "Submit feedback": "Prześlij opinię", "Stop sharing screen": "Zatrzymaj udostępnianie ekranu", "Spotlight": "Centrum uwagi", @@ -43,12 +40,10 @@ "Sending debug logs…": "Wysyłanie dzienników debugowania…", "Send debug logs": "Wyślij dzienniki debugowania", "Select an option": "Wybierz opcję", - "Saving…": "Zapisywanie…", - "Save": "Zapisz", - "Return to home screen": "Powróć do ekranu domowego", + "Return to home screen": "Powróć do strony głównej", "Remove": "Usuń", - "Release to stop": "Puść przycisk, aby przestać", - "Release spacebar key to stop": "Puść spację, aby przestać", + "Release to stop": "Puść przycisk, aby zatrzymać", + "Release spacebar key to stop": "Puść spację, aby zatrzymać", "Registering…": "Rejestrowanie…", "Register": "Zarejestruj", "Recaptcha not loaded": "Recaptcha nie została załadowana", @@ -58,7 +53,7 @@ "Press and hold to talk": "Przytrzymaj, aby mówić", "Press and hold spacebar to talk over {{name}}": "Przytrzymaj spację, aby mówić wraz z {{name}}", "Press and hold spacebar to talk": "Przytrzymaj spację, aby mówić", - "Passwords must match": "Hasła muszą być identyczne", + "Passwords must match": "Hasła muszą pasować", "Password": "Hasło", "Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}": "Inni użytkownicy próbują dołączyć do tego połączenia przy użyciu niekompatybilnych wersji. Powinni oni upewnić się, że odświeżyli stronę w swoich przeglądarkach:<1>{userLis}", "Not registered yet? <2>Create an account": "Nie masz konta? <2>Utwórz je", @@ -71,9 +66,8 @@ "Microphone": "Mikrofon", "Login to your account": "Zaloguj się do swojego konta", "Logging in…": "Logowanie…", - "Local volume": "Lokalna głośność", + "Local volume": "Głośność lokalna", "Loading…": "Ładowanie…", - "Loading room…": "Ładowanie pokoju…", "Leave": "Opuść", "Join existing call?": "Dołączyć do istniejącego połączenia?", "Join call now": "Dołącz do połączenia teraz", @@ -85,55 +79,68 @@ "Incompatible versions": "Niekompatybilne wersje", "Include debug logs": "Dołącz dzienniki debugowania", "Home": "Strona domowa", - "Having trouble? Help us fix it.": "Masz problem? Pomóż nam go naprawić.", "Grid layout menu": "Menu układu siatki", - "Full screen": "Pełen ekran", + "Full screen": "Pełny ekran", "Freedom": "Wolność", "Fetching group call timed out.": "Przekroczono limit czasu na uzyskanie połączenia grupowego.", - "Exit full screen": "Zamknij pełny ekran", + "Exit full screen": "Opuść pełny ekran", "Download debug logs": "Pobierz dzienniki debugowania", - "Display name": "Wyświetlana nazwa", - "Developer": "Deweloper", + "Display name": "Nazwa wyświetlana", + "Developer": "Programista", "Details": "Szczegóły", - "Description (optional)": "Opis (opcjonalny)", "Debug log request": "Prośba o dzienniki debugowania", "Debug log": "Dzienniki debugowania", "Create account": "Utwórz konto", - "Copy and share this call link": "Skopiuj i podziel się linkiem do połączenia", + "Copy and share this call link": "Skopiuj i udostępnij link do rozmowy", "Copied!": "Skopiowano!", "Connection lost": "Połączenie utracone", "Confirm password": "Potwierdź hasło", "Close": "Zamknij", "Change layout": "Zmień układ", - "Camera/microphone permissions needed to join the call.": "Aby dołączyć do tego połączenia, potrzebne są uprawnienia do kamery/mikrofonu.", + "Camera/microphone permissions needed to join the call.": "Wymagane są uprawnienia do kamery/mikrofonu, aby dołączyć do rozmowy.", "Camera {{n}}": "Kamera {{n}}", "Camera": "Kamera", - "Call type menu": "Menu rodzaju połączenia", + "Call type menu": "Menu typu połączenia", "Call link copied": "Skopiowano link do połączenia", - "By clicking \"Join call now\", you agree to our <2>Terms and conditions": "Klikając \"Dołącz do rozmowy\", wyrażasz zgodę na nasze <2>Warunki", + "By clicking \"Join call now\", you agree to our <2>Terms and conditions": "Klikając \"Dołącz do rozmowy\", wyrażasz zgodę na nasze <2>Zasady i warunki", "Avatar": "Awatar", "Audio": "Dźwięk", "Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.": "Inny użytkownik w tym połączeniu napotkał problem. Aby lepiej zdiagnozować tę usterkę, chcielibyśmy zebrać dzienniki debugowania.", - "Accept microphone permissions to join the call.": "Przyznaj uprawnienia do mikrofonu aby dołączyć do połączenia.", - "Accept camera/microphone permissions to join the call.": "Przyznaj uprawnienia do kamery/mikrofonu aby dołączyć do połączenia.", + "Accept microphone permissions to join the call.": "Akceptuj uprawnienia mikrofonu, aby dołączyć do połączenia.", + "Accept camera/microphone permissions to join the call.": "Akceptuj uprawnienia kamery/mikrofonu, aby dołączyć do połączenia.", "<0>Why not finish by setting up a password to keep your account?<1>You'll be able to keep your name and set an avatar for use on future calls": "<0>Może zechcesz ustawić hasło, aby zachować swoje konto?<1>Będziesz w stanie utrzymać swoją nazwę i ustawić awatar do wyświetlania podczas połączeń w przyszłości", - "<0>Create an account Or <2>Access as a guest": "<0>Utwórz konto Albo <2>Dołącz jako gość", - "<0>Already have an account?<1><0>Log in Or <2>Access as a guest": "<0>Masz już konto?<1><0>Zaloguj się Albo <2>Dołącz jako gość", + "<0>Create an account Or <2>Access as a guest": "<0>Utwórz konto lub <2>Dołącz jako gość", + "<0>Already have an account?<1><0>Log in Or <2>Access as a guest": "<0>Masz już konto?<1><0>Zaloguj się lub <2>Dołącz jako gość", "{{roomName}} - Walkie-talkie call": "{{roomName}} - połączenie walkie-talkie", "{{names}}, {{name}}": "{{names}}, {{name}}", "{{name}} is talking…": "{{name}} mówi…", "{{name}} is presenting": "{{name}} prezentuje", - "{{displayName}}, your call is now ended": "{{displayName}}, twoje połączenie zostało zakończone", "{{count}} people connected|one": "{{count}} osoba połączona", - "Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.": "Czy włączyć skróty klawiszowe pojedynczych klawiszy, np. 'm' aby wyciszyć/załączyć mikrofon.", "This feature is only supported on Firefox.": "Ta funkcjonalność jest dostępna tylko w Firefox.", - "Single-key keyboard shortcuts": "Skróty klawiszowe (pojedyncze klawisze)", "Copy": "Kopiuj", - "Allow analytics": "Zezwól na analitykę", - "Advanced": "Zaawansowane", - "<0>Submitting debug logs will help us track down the problem.": "<0>Wysłanie logów debuggowania pomoże nam ustalić przyczynę problemu.", + "<0>Submitting debug logs will help us track down the problem.": "<0>Wysłanie dzienników debuggowania pomoże nam ustalić przyczynę problemu.", "<0>Oops, something's gone wrong.": "<0>Ojej, coś poszło nie tak.", - "<0>Join call now<1>Or<2>Copy call link and join later": "<0>Dołącz do rozmowy teraz<1>Or<2>Skopiuj link do rozmowy i dołącz później", + "<0>Join call now<1>Or<2>Copy call link and join later": "<0>Dołącz do rozmowy już teraz<1>lub<2>Skopiuj link do rozmowy i dołącz później", "{{name}} (Waiting for video...)": "{{name}} (Oczekiwanie na wideo...)", - "{{name}} (Connecting...)": "{{name}} (Łączenie...)" + "{{name}} (Connecting...)": "{{name}} (Łączenie...)", + "Expose developer settings in the settings window.": "Wyświetl opcje programisty w oknie ustawień.", + "Element Call Home": "Strona główna Element Call", + "Developer Settings": "Opcje programisty", + "Talk over speaker": "Rozmowa przez głośnik", + "Use the upcoming grid system": "Użyj nadchodzącego systemu siatek", + "This site is protected by ReCAPTCHA and the Google <2>Privacy Policy and <6>Terms of Service apply.<9>By clicking \"Register\", you agree to our <12>Terms and conditions": "Ta strona jest chroniona przez ReCAPTCHA, więc obowiązują na niej <2>Polityka prywatności i <6>Warunki świadczenia usług Google.<9>Klikając \"Zarejestruj się\", zgadzasz się na nasze <12>Warunki świadczenia usług", + "<0><1>You may withdraw consent by unchecking this box. If you are currently in a call, this setting will take effect at the end of the call.": "<0><1>Możesz wycofać swoją zgodę poprzez odznaczenie tego pola. Jeśli już jesteś w trakcie rozmowy, opcja zostanie zastosowana po jej zakończeniu.", + "By participating in this beta, you consent to the collection of anonymous data, which we use to improve the product. You can find more information about which data we track in our <2>Privacy Policy and our <5>Cookie Policy.": "Uczestnicząc w tej becie, upoważniasz nas do zbierania anonimowych danych, które wykorzystamy do ulepszenia produktu. Dowiedz się więcej na temat danych, które zbieramy w naszej <2>Polityce prywatności i <5>Polityce ciasteczek.", + "If you are experiencing issues or simply would like to provide some feedback, please send us a short description below.": "Jeśli posiadasz problemy lub chciałbyś zgłosić swoją opinię, wyślij nam krótki opis.", + "Thanks, we received your feedback!": "Dziękujemy, otrzymaliśmy Twoją opinię!", + "Feedback": "Opinia użytkownika", + "Submitting…": "Wysyłanie…", + "Submit": "Wyślij", + "Your feedback": "Twoje opinie", + "{{count}} stars|other": "{{count}} gwiazdki", + "{{count}} stars|one": "{{count}} gwiazdka", + "{{displayName}}, your call has ended.": "{{displayName}}, Twoje połączenie zostało zakończone.", + "<0>Thanks for your feedback!": "<0>Dziękujemy za Twoją opinię!", + "<0>We'd love to hear your feedback so we can improve your experience.": "<0>Z przyjemnością wysłuchamy Twojej opinii, aby poprawić Twoje doświadczenia.", + "How did it go?": "Jak poszło?" } diff --git a/public/locales/ru/app.json b/public/locales/ru/app.json index b113bbf5..ce3e764d 100644 --- a/public/locales/ru/app.json +++ b/public/locales/ru/app.json @@ -1,6 +1,5 @@ { "Register": "Зарегистрироваться", - "Saving…": "Сохранение…", "Registering…": "Регистрация…", "Logging in…": "Вход…", "{{names}}, {{name}}": "{{names}}, {{name}}", @@ -10,7 +9,6 @@ "This call already exists, would you like to join?": "Этот звонок уже существует, хотите присоединиться?", "Thanks! We'll get right on it.": "Спасибо! Мы учтём ваш отзыв.", "Talking…": "Говорите…", - "Submitting feedback…": "Отправка отзыва…", "Submit feedback": "Отправить отзыв", "Sending debug logs…": "Отправка журнала отладки…", "Select an option": "Выберите вариант", @@ -38,7 +36,6 @@ "Version: {{version}}": "Версия: {{version}}", "Username": "Имя пользователя", "User menu": "Меню пользователя", - "User ID": "ID пользователя", "Unmute microphone": "Включить микрофон", "Turn on camera": "Включить камеру", "Turn off camera": "Отключить камеру", @@ -57,7 +54,6 @@ "Sending…": "Отправка…", "Local volume": "Местная громкость", "Call type menu": "Меню \"Тип звонка\"", - "More menu": "Полное меню", "{{roomName}} - Walkie-talkie call": "{{roomName}} - Звонок-рация", "Include debug logs": "Приложить журнал отладки", "Download debug logs": "Скачать журнал отладки", @@ -65,7 +61,6 @@ "Debug log": "Журнал отладки", "Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.": "У одного из участников звонка есть неполадки. Чтобы лучше диагностировать похожие проблемы, нам нужен журнал отладки.", "Send debug logs": "Отправить журнал отладки", - "Save": "Сохранить", "Return to home screen": "Вернуться в Начало", "Remove": "Удалить", "Recaptcha not loaded": "Невозможно начать проверку", @@ -86,7 +81,6 @@ "Login to your account": "Войдите в свой аккаунт", "Login": "Вход", "Loading…": "Загрузка…", - "Loading room…": "Загрузка комнаты…", "Leave": "Покинуть", "Join existing call?": "Присоединиться к существующему звонку?", "Join call now": "Присоединиться сейчас", @@ -97,7 +91,6 @@ "Incompatible versions!": "Несовместимые версии!", "Incompatible versions": "Несовместимые версии", "Home": "Начало", - "Having trouble? Help us fix it.": "Есть проблема? Помогите нам её устранить.", "Go": "Далее", "Full screen": "Полноэкранный режим", "Freedom": "Свобода", @@ -106,7 +99,6 @@ "Display name": "Видимое имя", "Developer": "Разработчику", "Details": "Подробности", - "Description (optional)": "Описание (необязательно)", "Create account": "Создать аккаунт", "Copy and share this call link": "Скопируйте и поделитесь этой ссылкой на звонок", "Copied!": "Скопировано!", @@ -124,20 +116,19 @@ "Accept camera/microphone permissions to join the call.": "Для присоединения к звонку разрешите доступ к камере/микрофону.", "{{name}} is talking…": "{{name}} говорит…", "{{name}} is presenting": "{{name}} показывает", - "{{displayName}}, your call is now ended": "{{displayName}}, ваш звонок завершён", "{{count}} people connected|other": "{{count}} подключилось", "{{count}} people connected|one": "{{count}} подключился", - "This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.": "Это даст разрешение на отправку анонимизированных данных (таких, как продолжительность звонка и количество участников) команде Element Call, чтобы помочь нам оптимизировать работу приложения на основании того как оно используется.", "Element Call Home": "Главная Element Call", "Copy": "Копировать", - "Allow analytics": "Разрешить аналитику", - "Advanced": "Расширенные", - "<0>Join call now<1>Or<2>Copy call link and join later": "<0>Присоединиться сейчас<1>или<1><2>cкопировать ссылку на звонок и присоединиться позже", + "<0>Join call now<1>Or<2>Copy call link and join later": "<0>Присоединиться сейчас к звонку<1>или<1><2>Скопировать ссылку на звонок и присоединиться позже", "{{name}} (Connecting...)": "{{name}} (Соединение...)", - "Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.": "Включить горячие клавиши, например 'm' чтобы отключить/включить микрофон.", "This feature is only supported on Firefox.": "Эта возможность доступна только в Firefox.", - "Single-key keyboard shortcuts": "Горячие клавиши", "<0>Submitting debug logs will help us track down the problem.": "<0>Отправка журналов поможет нам найти и устранить проблему.", "<0>Oops, something's gone wrong.": "<0>Упс, что-то пошло не так.", - "{{name}} (Waiting for video...)": "{{name}} (Ожидание видео...)" + "{{name}} (Waiting for video...)": "{{name}} (Ожидание видео...)", + "Use the upcoming grid system": "Использовать сеточный показ", + "Expose developer settings in the settings window.": "Раскрыть настройки разработчика в окне настроек.", + "Developer Settings": "Настройки Разработчика", + "By participating in this beta, you consent to the collection of anonymous data, which we use to improve the product. You can find more information about which data we track in our <2>Privacy Policy and our <5>Cookie Policy.": "Участвуя в этой бета-версии, вы соглашаетесь на сбор анонимных данных, которые мы используем для улучшения продукта. Более подробную информацию о том, какие данные мы отслеживаем, вы можете найти в нашей <2> Политике конфиденциальности и нашей <5> Политике использования файлов cookie.", + "<0><1>You may withdraw consent by unchecking this box. If you are currently in a call, this setting will take effect at the end of the call.": "<0><1>Вы можете отозвать согласие, сняв этот флажок. Если вы в данный момент находитесь в разговоре, эта настройка вступит в силу по окончании разговора." } diff --git a/public/locales/sk/app.json b/public/locales/sk/app.json index 98343472..a3aa6ada 100644 --- a/public/locales/sk/app.json +++ b/public/locales/sk/app.json @@ -5,27 +5,21 @@ "Fetching group call timed out.": "Vypršal čas načítania skupinového volania.", "Element Call Home": "Domov Element Call", "You can't talk at the same time": "Nemôžete hovoriť naraz", - "Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.": "Či chcete povoliť jednotlačidlové klávesové skratky, napr. \"m\" na stlmenie/zapnutie mikrofónu.", "Waiting for other participants…": "Čaká sa na ďalších účastníkov…", "Waiting for network": "Čakanie na sieť", - "This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.": "Týmto spôsobom sa budú posielať anonymizované údaje (napríklad trvanie hovoru a počet účastníkov) tímu Element Call, aby nám pomohli optimalizovať aplikáciu na základe toho, ako sa používa.", "This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)": "Zvuk reproduktora tak bude vyzerať, akoby vychádzal z miesta, kde je na obrazovke umiestnená jeho ikona. (Experimentálna funkcia: môže to mať vplyv na stabilitu zvuku.)", "Thanks! We'll get right on it.": "Vďaka! Hneď sa do toho pustíme.", "Talking…": "Rozprávanie…", "Talk over speaker": "Hovor cez reproduktor", "Take me Home": "Zober ma domov", - "Submitting feedback…": "Odosielanie spätnej väzby…", "Submit feedback": "Odoslať spätnú väzbu", "Stop sharing screen": "Zastaviť zdieľanie obrazovky", - "Single-key keyboard shortcuts": "Jednotlačidlové klávesové skratky", "Show call inspector": "Zobraziť inšpektora hovorov", "Share screen": "Zdieľať obrazovku", "Sending…": "Odosielanie…", "Sending debug logs…": "Odosielanie záznamov o ladení…", "Send debug logs": "Odoslať záznamy o ladení", "Select an option": "Vyberte možnosť", - "Saving…": "Ukladanie…", - "Save": "Uložiť", "Return to home screen": "Návrat na domovskú obrazovku", "Remove": "Odstrániť", "Release spacebar key to stop": "Pustite medzerník pre ukončenie", @@ -46,7 +40,6 @@ "Not now, return to home screen": "Teraz nie, vrátiť sa na domovskú obrazovku", "No": "Nie", "Mute microphone": "Stlmiť mikrofón", - "More menu": "Ponuka viac", "More": "Viac", "Microphone permissions needed to join the call.": "Povolenie mikrofónu je potrebné na pripojenie k hovoru.", "Microphone {{n}}": "Mikrofón {{n}}", @@ -55,7 +48,6 @@ "Login": "Prihlásiť sa", "Logging in…": "Prihlasovanie…", "Loading…": "Načítanie…", - "Loading room…": "Načítanie miestnosti…", "Leave": "Opustiť", "Join existing call?": "Pripojiť sa k existujúcemu hovoru?", "Join call now": "Pripojiť sa k hovoru teraz", @@ -66,7 +58,6 @@ "Incompatible versions!": "Nekompatibilné verzie!", "Incompatible versions": "Nekompatibilné verzie", "Home": "Domov", - "Having trouble? Help us fix it.": "Máte problém? Pomôžte nám ho opraviť.", "Grid layout menu": "Ponuka rozloženia mriežky", "Go": "Prejsť", "Full screen": "Zobrazenie na celú obrazovku", @@ -84,7 +75,6 @@ "Version: {{version}}": "Verzia: {{version}}", "Username": "Meno používateľa", "User menu": "Používateľské menu", - "User ID": "ID používateľa", "Unmute microphone": "Zrušiť stlmenie mikrofónu", "Turn on camera": "Zapnúť kameru", "Turn off camera": "Vypnúť kameru", @@ -99,7 +89,6 @@ "Display name": "Zobrazované meno", "Developer": "Vývojár", "Details": "Podrobnosti", - "Description (optional)": "Popis (voliteľné)", "Debug log request": "Žiadosť o záznam ladenia", "Debug log": "Záznam o ladení", "Create account": "Vytvoriť účet", @@ -120,8 +109,6 @@ "Avatar": "Obrázok", "Audio": "Audio", "Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.": "Ďalší používateľ v tomto hovore má problém. Aby sme mohli lepšie diagnostikovať tieto problémy, chceli by sme získať záznam o ladení.", - "Allow analytics": "Povoliť analytiku", - "Advanced": "Pokročilé", "Accept camera/microphone permissions to join the call.": "Prijmite povolenia kamery/mikrofónu, aby ste sa mohli pripojiť k hovoru.", "Accept microphone permissions to join the call.": "Prijmite povolenia mikrofónu, aby ste sa mohli pripojiť k hovoru.", "<0>Why not finish by setting up a password to keep your account?<1>You'll be able to keep your name and set an avatar for use on future calls": "<0>Prečo neskončiť nastavením hesla, aby ste si zachovali svoj účet? <1>Budete si môcť ponechať svoje meno a nastaviť obrázok, ktorý sa bude používať pri budúcich hovoroch", @@ -134,10 +121,26 @@ "{{name}} is presenting": "{{name}} prezentuje", "{{name}} (Waiting for video...)": "{{name}} (Čaká sa na video...)", "{{name}} (Connecting...)": "{{name}} (Pripájanie...)", - "{{displayName}}, your call is now ended": "{{displayName}}, váš hovor je teraz ukončený", "{{count}} people connected|other": "{{count}} osôb pripojených", "{{count}} people connected|one": "{{count}} osoba pripojená", "This feature is only supported on Firefox.": "Táto funkcia je podporovaná len v prehliadači Firefox.", "<0>Submitting debug logs will help us track down the problem.": "<0>Odoslanie záznamov ladenia nám pomôže nájsť problém.", - "<0>Oops, something's gone wrong.": "<0>Hups, niečo sa pokazilo." + "<0>Oops, something's gone wrong.": "<0>Hups, niečo sa pokazilo.", + "Use the upcoming grid system": "Použiť pripravovaný systém mriežky", + "Expose developer settings in the settings window.": "Zobraziť nastavenia pre vývojárov v okne nastavení.", + "Developer Settings": "Nastavenia pre vývojárov", + "By participating in this beta, you consent to the collection of anonymous data, which we use to improve the product. You can find more information about which data we track in our <2>Privacy Policy and our <5>Cookie Policy.": "Účasťou v tejto beta verzii súhlasíte so zhromažďovaním anonymných údajov, ktoré použijeme na zlepšenie produktu. Viac informácií o tom, ktoré údaje sledujeme, nájdete v našich <2>Zásadách ochrany osobných údajov a <5>Zásadách používania súborov cookie.", + "<0><1>You may withdraw consent by unchecking this box. If you are currently in a call, this setting will take effect at the end of the call.": "<0><1>Súhlas môžete odvolať zrušením označenia tohto políčka. Ak práve prebieha hovor, toto nastavenie nadobudne platnosť po skončení hovoru.", + "Your feedback": "Vaša spätná väzba", + "Thanks, we received your feedback!": "Ďakujeme, dostali sme vašu spätnú väzbu!", + "Submitting…": "Odosielanie…", + "Submit": "Odoslať", + "If you are experiencing issues or simply would like to provide some feedback, please send us a short description below.": "Ak máte problémy alebo jednoducho chcete poskytnúť spätnú väzbu, pošlite nám krátky popis nižšie.", + "Feedback": "Spätná väzba", + "{{count}} stars|one": "{{count}} hviezdička", + "How did it go?": "Ako to išlo?", + "{{count}} stars|other": "{{count}} hviezdičiek", + "{{displayName}}, your call has ended.": "{{displayName}}, váš hovor skončil.", + "<0>Thanks for your feedback!": "<0> Ďakujeme za vašu spätnú väzbu!", + "<0>We'd love to hear your feedback so we can improve your experience.": "<0> Radi si vypočujeme vašu spätnú väzbu, aby sme mohli zlepšiť vaše skúsenosti." } diff --git a/public/locales/tr/app.json b/public/locales/tr/app.json index 79f21f6e..c423464e 100644 --- a/public/locales/tr/app.json +++ b/public/locales/tr/app.json @@ -21,7 +21,6 @@ "Create account": "Hesap aç", "Debug log": "Hata ayıklama kütüğü", "Debug log request": "Hata ayıklama kütük istemi", - "Description (optional)": "Tanım (isteğe bağlı)", "Details": "Ayrıntı", "Developer": "Geliştirici", "Display name": "Ekran adı", @@ -32,7 +31,6 @@ "Full screen": "Tam ekran", "Go": "Git", "Grid layout menu": "Izgara plan menü", - "Having trouble? Help us fix it.": "Sorun mu var? Çözmemize yardım edin.", "Home": "Ev", "Include debug logs": "Hata ayıklama kütüğünü dahil et", "Incompatible versions": "Uyumsuz sürümler", @@ -43,7 +41,6 @@ "Join call now": "Aramaya katıl", "Join existing call?": "Mevcut aramaya katıl?", "Leave": "Çık", - "Loading room…": "Oda yükleniyor…", "Loading…": "Yükleniyor…", "Local volume": "Yerel ses seviyesi", "Logging in…": "Giriliyor…", @@ -53,7 +50,6 @@ "Microphone permissions needed to join the call.": "Aramaya katılmak için mikrofon erişim izni gerek.", "Microphone {{n}}": "{{n}}. mikrofon", "More": "Daha", - "More menu": "Daha fazla", "Mute microphone": "Mikrofonu kapat", "No": "Hayır", "Not now, return to home screen": "Şimdi değil, ev ekranına dön", @@ -71,8 +67,6 @@ "Release to stop": "Kesmek için bırakın", "Remove": "Çıkar", "Return to home screen": "Ev ekranına geri dön", - "Save": "Kaydet", - "Saving…": "Kaydediliyor…", "Select an option": "Bir seçenek seç", "Send debug logs": "Hata ayıklama kütüğünü gönder", "Sending…": "Gönderiliyor…", @@ -84,14 +78,12 @@ "Spatial audio": "Uzamsal ses", "Stop sharing screen": "Ekran paylaşmayı terk et", "Submit feedback": "Geri bildirim ver", - "Submitting feedback…": "Geri bildirimler gönderiliyor…", "Take me Home": "Ev ekranına gir", "Talking…": "Konuşuyor…", "Thanks! We'll get right on it.": "Sağol! Bununla ilgileneceğiz.", "This call already exists, would you like to join?": "Bu arama zaten var, katılmak ister misiniz?", "{{count}} people connected|one": "{{count}} kişi bağlı", "{{count}} people connected|other": "{{count}} kişi bağlı", - "{{displayName}}, your call is now ended": "Aramanız bitti, {{displayName]}!", "{{names}}, {{name}}": "{{names}}, {{name}}", "{{name}} is presenting": "{{name}} sunuyor", "{{name}} is talking…": "{{name}} konuşuyor…", diff --git a/public/locales/uk/app.json b/public/locales/uk/app.json index f7c60757..9c5d3d72 100644 --- a/public/locales/uk/app.json +++ b/public/locales/uk/app.json @@ -14,7 +14,6 @@ "Version: {{version}}": "Версія: {{version}}", "Username": "Ім'я користувача", "User menu": "Меню користувача", - "User ID": "ID користувача", "Unmute microphone": "Увімкнути мікрофон", "Turn on camera": "Увімкнути камеру", "Turn off camera": "Вимкнути камеру", @@ -25,7 +24,6 @@ "Talking…": "Говоріть…", "Talk over speaker": "Говорити через динамік", "Take me Home": "Перейти до Домівки", - "Submitting feedback…": "Надсилання відгуку…", "Submit feedback": "Надіслати відгук", "Stop sharing screen": "Припинити показ екрана", "Spotlight": "У центрі уваги", @@ -38,11 +36,9 @@ "Share screen": "Поділитися екраном", "Settings": "Налаштування", "Sending…": "Надсилання…", - "Sending debug logs…": "Надсилання журналу зневадження…", - "Send debug logs": "Надіслати журнал зневадження", + "Sending debug logs…": "Надсилання журналу налагодження…", + "Send debug logs": "Надіслати журнал налагодження", "Select an option": "Вибрати опцію", - "Saving…": "Збереження…", - "Save": "Зберегти", "Return to home screen": "Повернутися на екран домівки", "Remove": "Вилучити", "Release to stop": "Відпустіть, щоб закінчити", @@ -63,7 +59,6 @@ "Not now, return to home screen": "Не зараз, повернутися на екран домівки", "No": "Ні", "Mute microphone": "Заглушити мікрофон", - "More menu": "Усе меню", "More": "Докладніше", "Microphone permissions needed to join the call.": "Для участі у виклику необхідний дозвіл на користування мікрофоном.", "Microphone {{n}}": "Мікрофон {{n}}", @@ -72,7 +67,6 @@ "Login": "Увійти", "Logging in…": "Вхід…", "Local volume": "Локальна гучність", - "Loading room…": "Завантаження кімнати…", "Leave": "Вийти", "Join existing call?": "Приєднатися до наявного виклику?", "Join call now": "Приєднатися до виклику зараз", @@ -82,22 +76,20 @@ "Inspector": "Інспектор", "Incompatible versions!": "Несумісні версії!", "Incompatible versions": "Несумісні версії", - "Include debug logs": "Долучити журнали зневадження", + "Include debug logs": "Долучити журнали налагодження", "Home": "Домівка", - "Having trouble? Help us fix it.": "Проблеми? Допоможіть нам це виправити.", "Grid layout menu": "Меню у вигляді сітки", "Go": "Далі", "Full screen": "Повноекранний режим", "Freedom": "Свобода", "Fetching group call timed out.": "Вичерпано час очікування групового виклику.", "Exit full screen": "Вийти з повноекранного режиму", - "Download debug logs": "Завантажити журнали зневадження", + "Download debug logs": "Завантажити журнали налагодження", "Display name": "Показуване ім'я", "Developer": "Розробнику", "Details": "Подробиці", - "Description (optional)": "Опис (необов'язково)", - "Debug log request": "Запит журналу зневадження", - "Debug log": "Журнал зневадження", + "Debug log request": "Запит журналу налагодження", + "Debug log": "Журнал налагодження", "Create account": "Створити обліковий запис", "Copy and share this call link": "Скопіювати та поділитися цим посиланням на виклик", "Copied!": "Скопійовано!", @@ -114,7 +106,7 @@ "By clicking \"Go\", you agree to our <2>Terms and conditions": "Натиснувши «Далі», ви погодитеся з нашими <2>Умовами та положеннями", "Avatar": "Аватар", "Audio": "Звук", - "Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.": "Інший користувач у цьому виклику має проблему. Щоб краще визначити ці проблеми, ми хотіли б зібрати журнал зневадження.", + "Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.": "Інший користувач у цьому виклику має проблему. Щоб краще визначити ці проблеми, ми хотіли б зібрати журнал налагодження.", "Accept microphone permissions to join the call.": "Надайте дозволи на використання мікрофонів для приєднання до виклику.", "Accept camera/microphone permissions to join the call.": "Надайте дозвіл на використання камери/мікрофона для приєднання до виклику.", "<0>Why not finish by setting up a password to keep your account?<1>You'll be able to keep your name and set an avatar for use on future calls": "<0>Чому б не завершити, налаштувавши пароль для збереження свого облікового запису?<1>Ви зможете зберегти своє ім'я та встановити аватарку для подальшого користування під час майбутніх викликів", @@ -124,20 +116,25 @@ "{{names}}, {{name}}": "{{names}}, {{name}}", "{{name}} is talking…": "{{name}} балакає…", "{{name}} is presenting": "{{name}} показує", - "{{displayName}}, your call is now ended": "{{displayName}}, ваш виклик завершено", "{{count}} people connected|other": "{{count}} під'єдналися", "{{count}} people connected|one": "{{count}} під'єднується", "<0>Join call now<1>Or<2>Copy call link and join later": "<0>Приєднатися до виклику зараз<1>Or<2>Скопіювати посилання на виклик і приєднатися пізніше", "{{name}} (Connecting...)": "{{name}} (З'єднання...)", - "Allow analytics": "Дозволити аналітику", - "Advanced": "Розширені", "Element Call Home": "Домівка Element Call", "Copy": "Копіювати", - "This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.": "Це дозволить надсилати анонімні дані (такі як тривалість виклику та кількість учасників) команді Element Call, щоб допомогти нам оптимізувати роботу застосунку на основі того, як він використовується.", - "Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.": "Чи вмикати/вимикати мікрофон однією клавішею, наприклад, «m» для ввімкнення/вимкнення мікрофона.", - "Single-key keyboard shortcuts": "Одноклавішні комбінації клавіш", "{{name}} (Waiting for video...)": "{{name}} (Очікування на відео...)", "This feature is only supported on Firefox.": "Ця функція підтримується лише в браузері Firefox.", - "<0>Submitting debug logs will help us track down the problem.": "<0>Надсилання журналів зневадження допоможе нам виявити проблему.", - "<0>Oops, something's gone wrong.": "<0>Йой, щось пішло не за планом." + "<0>Submitting debug logs will help us track down the problem.": "<0>Надсилання журналів налагодження допоможе нам виявити проблему.", + "<0>Oops, something's gone wrong.": "<0>Йой, щось пішло не за планом.", + "Use the upcoming grid system": "Використовувати майбутню сіткову систему", + "Expose developer settings in the settings window.": "Відкрийте налаштування розробника у вікні налаштувань.", + "Developer Settings": "Налаштування розробника", + "By participating in this beta, you consent to the collection of anonymous data, which we use to improve the product. You can find more information about which data we track in our <2>Privacy Policy and our <5>Cookie Policy.": "Користуючись дочасним доступом, ви даєте згоду на збір анонімних даних, які ми використовуємо для вдосконалення продукту. Ви можете знайти більше інформації про те, які дані ми відстежуємо в нашій <2>Політиці Приватності і нашій <5>Політиці про куки.", + "<0><1>You may withdraw consent by unchecking this box. If you are currently in a call, this setting will take effect at the end of the call.": "<0><1>Ви можете відкликати згоду, прибравши цей прапорець. Якщо ви зараз розмовляєте, це налаштування застосується після завершення виклику.", + "Your feedback": "Ваш відгук", + "Thanks, we received your feedback!": "Дякуємо, ми отримали ваш відгук!", + "Submitting…": "Надсилання…", + "Submit": "Надіслати", + "If you are experiencing issues or simply would like to provide some feedback, please send us a short description below.": "Якщо у вас виникли проблеми або ви просто хочете залишити відгук, надішліть нам короткий опис нижче.", + "Feedback": "Відгук" } diff --git a/public/locales/vi/app.json b/public/locales/vi/app.json new file mode 100644 index 00000000..fd74df01 --- /dev/null +++ b/public/locales/vi/app.json @@ -0,0 +1,105 @@ +{ + "Login": "Đăng nhập", + "{{count}} people connected|other": "{{count}} người đã kết nối", + "{{name}} (Waiting for video...)": "{{name}} (Đang đợi truyền hình...)", + "Join call": "Tham gia cuộc gọi", + "Mute microphone": "Tắt micrô", + "Password": "Mật khẩu", + "Settings": "Cài đặt", + "Sending…": "Đang gửi…", + "Sign in": "Đăng nhập", + "Submit": "Gửi", + "Video call name": "Tên cuộc gọi truyền hình", + "Video call": "Gọi truyền hình", + "Video": "Truyền hình", + "Username": "Tên người dùng", + "Yes, join call": "Vâng, tham gia cuộc gọi", + "Your feedback": "Phản hồi của bạn", + "{{count}} people connected|one": "{{count}} người đã kết nối", + "{{name}} (Connecting...)": "{{name}} (Đang kết nối...)", + "Your recent calls": "Cuộc gọi gần đây", + "You can't talk at the same time": "Bạn không thể nói cùng thời điểm", + "WebRTC is not supported or is being blocked in this browser.": "WebRTC không được hỗ trợ hay bị chặn trong trình duyệt này.", + "Waiting for network": "Đang đợi kết nối mạng", + "Waiting for other participants…": "Đang đợi những người khác…", + "Version: {{version}}": "Phiên bản: {{version}}", + "Turn on camera": "Bật máy quay", + "Turn off camera": "Tắt máy quay", + "Submit feedback": "Gửi phản hồi", + "Stop sharing screen": "Ngừng chia sẻ màn hình", + "Speaker": "Loa", + "Sign out": "Đăng xuất", + "Share screen": "Chia sẻ màn hình", + "No": "Không", + "Invite people": "Mời mọi người", + "Join call now": "Tham gia cuộc gọi", + "Create account": "Tạo tài khoản", + "{{name}} is presenting": "{{name}} đang thuyết trình", + "{{name}} is talking…": "{{name}} đang nói…", + "{{names}}, {{name}}": "{{names}}, {{name}}", + "{{roomName}} - Walkie-talkie call": "{{roomName}} - Cuộc gọi thoại", + "<0>Create an account Or <2>Access as a guest": "<0>Tạo tài khoản Hay <2>Tham gia dưới tên khác", + "<0>Join call now<1>Or<2>Copy call link and join later": "<0>Tham gia cuộc gọi<1>hay<2>Sao chép liên kết cuộc gọi và tham gia sau", + "Accept camera/microphone permissions to join the call.": "Chấp nhận quyền sử dụng máy quay/micrô để tham gia cuộc gọi.", + "<0>Submitting debug logs will help us track down the problem.": "<0>Gửi nhật ký gỡ lỗi sẽ giúp chúng tôi theo dõi vấn đề.", + "Avatar": "Ảnh đại diện", + "Audio": "Âm thanh", + "Camera/microphone permissions needed to join the call.": "Cần quyền máy quay/micrô để tham gia cuộc gọi.", + "Camera": "Máy quay", + "Camera {{n}}": "Máy quay {{n}}", + "Call link copied": "Đã sao chép liên kết cuộc gọi", + "Copied!": "Đã sao chép!", + "Connection lost": "Mất kết nối", + "Confirm password": "Xác nhận mật khẩu", + "Close": "Đóng", + "Change layout": "Thay đổi bố cục", + "Debug log": "Nhật ký gỡ lỗi", + "Copy": "Sao chép", + "Copy and share this call link": "Sao chép và chia sẻ liên kết cuộc gọi này", + "Display name": "Tên hiển thị", + "Developer Settings": "Cài đặt phát triển", + "Developer": "Nhà phát triển", + "Details": "Chi tiết", + "Download debug logs": "Tải xuống nhật ký gỡ lỗi", + "Feedback": "Phản hồi", + "Full screen": "Toàn màn hình", + "Incompatible versions!": "Phiên bản không tương thích!", + "Incompatible versions": "Phiên bản không tương thích", + "Include debug logs": "Kèm theo nhật ký gỡ lỗi", + "Invite": "Mời", + "Join existing call?": "Tham gia cuộc gọi?", + "Leave": "Rời", + "Loading…": "Đang tải…", + "Logging in…": "Đang đăng nhập…", + "Login to your account": "Đăng nhập vào tài khoản của bạn", + "Microphone": "Micrô", + "Microphone {{n}}": "Micrô {{n}}", + "Not registered yet? <2>Create an account": "Chưa đăng ký? <2>Tạo tài khoản", + "Passwords must match": "Mật khẩu phải khớp", + "Press and hold spacebar to talk": "Nhấn và giữ phím space để nói", + "Press and hold to talk": "Nhấn và giữ để nói", + "Press and hold to talk over {{name}}": "Nhấn và giữ để nói qua {{name}}", + "Register": "Đăng ký", + "Release spacebar key to stop": "Nhả phím space để ngừng", + "Spotlight": "Tiêu điểm", + "Submitting…": "Đang gửi…", + "Thanks, we received your feedback!": "Cảm ơn, chúng tôi đã nhận được phản hồi!", + "Talking…": "Đang nói…", + "Walkie-talkie call": "Cuộc gọi thoại", + "Walkie-talkie call name": "Tên cuộc gọi thoại", + "<0>Already have an account?<1><0>Log in Or <2>Access as a guest": "<0>Đã có tài khoản?<1><0>Đăng nhập Hay <2>Tham gia dưới tên Khách", + "Exit full screen": "Rời chế độ toàn màn hình", + "Profile": "Hồ sơ", + "Registering…": "Đang đăng ký…", + "Unmute microphone": "Bật micrô", + "This call already exists, would you like to join?": "Cuộc gọi đã tồn tại, bạn có muốn tham gia không?", + "This feature is only supported on Firefox.": "Tính năng này chỉ được hỗ trợ trên Firefox.", + "Speaker {{n}}": "Loa {{n}}", + "Recaptcha not loaded": "Chưa tải được Recaptcha", + "Debug log request": "Yêu cầu nhật ký gỡ lỗi", + "By clicking \"Join call now\", you agree to our <2>Terms and conditions": "Khi nhấn vào \"Tham gia cuộc gọi\", bạn đồng ý với <2>Điều khoản và điều kiện của chúng tôi", + "Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.": "Một người dùng khác trong cuộc gọi đang gặp vấn đề. Để có thể chẩn đoán tốt hơn chúng tôi muốn thu thập nhật ký gỡ lỗi.", + "Accept microphone permissions to join the call.": "Chấp nhận quyền sử dụng micrô để tham gia cuộc gọi.", + "<0>Why not finish by setting up a password to keep your account?<1>You'll be able to keep your name and set an avatar for use on future calls": "<0>Tại sao lại không hoàn thiện bằng cách đặt mật khẩu để giữ tài khoản của bạn?<1>Bạn sẽ có thể giữ tên và đặt ảnh đại diện cho những cuộc gọi tiếp theo.", + "Press and hold spacebar to talk over {{name}}": "Nhấn và giữ phím space để nói trên {{name}}" +} diff --git a/public/locales/zh-Hans/app.json b/public/locales/zh-Hans/app.json index b9837b9b..b240fb07 100644 --- a/public/locales/zh-Hans/app.json +++ b/public/locales/zh-Hans/app.json @@ -2,7 +2,6 @@ "Your recent calls": "最近通话", "You can't talk at the same time": "你不能在同一时间发言", "Yes, join call": "是,加入通话", - "Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.": "是否启用单键键盘快捷键,例如,'m'可使麦克风静音/取消静音。", "WebRTC is not supported or is being blocked in this browser.": "此浏览器不支持WebRTC或WebRTC被浏览器阻止。", "Walkie-talkie call name": "对讲机通话名称", "Walkie-talkie call": "对讲机通话", @@ -14,11 +13,9 @@ "Version: {{version}}": "版本:{{version}}", "Username": "用户名", "User menu": "用户菜单", - "User ID": "用户ID", "Unmute microphone": "取消麦克风静音", "Turn on camera": "开启摄像头", "Turn off camera": "关闭摄像头", - "This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.": "这将向Element Call团队发送匿名数据(如通话的持续时间和参与者的数量),以帮助我们根据使用方式优化应用程序。", "This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)": "这将使发言人的音频看起来像是来自他们在屏幕上的位置。(实验性功能:这可能影响音频的稳定性)", "This site is protected by ReCAPTCHA and the Google <2>Privacy Policy and <6>Terms of Service apply.<9>By clicking \"Register\", you agree to our <12>Terms and conditions": "本网站受reCaptcha保护,并适用Google<2>隐私政策和<6>服务条款。<9>点击\"注册\"则表明您同意我们的<12>条款和条件", "This call already exists, would you like to join?": "该通话已存在,你想加入吗?", @@ -26,20 +23,16 @@ "Talking…": "正在发言……", "Talk over speaker": "通过扬声器发言", "Take me Home": "返回主页", - "Submitting feedback…": "正在提交反馈……", "Submit feedback": "提交反馈", "Stop sharing screen": "停止屏幕共享", "Spotlight": "聚焦模式", "Speaker {{n}}": "发言人 {{n}}", "Speaker": "发言人", "Spatial audio": "空间音频", - "Single-key keyboard shortcuts": "单键键盘快捷方式", "Sign out": "注销登录", "Sign in": "登录", "Audio": "音频", "Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.": "这个通话中的另一个用户出现了问题。为了更好地诊断这些问题,我们想收集调试日志。", - "Allow analytics": "允许进行分析", - "Advanced": "偏好", "Accept microphone permissions to join the call.": "授予麦克风权限以加入通话。", "Accept camera/microphone permissions to join the call.": "授予摄像头/麦克风权限以加入通话。", "<0>Why not finish by setting up a password to keep your account?<1>You'll be able to keep your name and set an avatar for use on future calls": "<0>为什么不设置一个密码来保留你的账户?<1>你将可以保留你的名字并设置一个头像,以便在未来的通话中使用。", @@ -52,7 +45,6 @@ "{{name}} is presenting": "{{name}}正在展示", "{{name}} (Waiting for video...)": "{{name}}(等待视频……)", "{{name}} (Connecting...)": "{{name}} (正在连接……)", - "{{displayName}}, your call is now ended": "{{displayName}},您的通话已结束", "{{count}} people connected|other": "{{count}}人已连接", "{{count}} people connected|one": "{{count}}人已连接", "Inspector": "检查器", @@ -63,8 +55,6 @@ "Sending debug logs…": "正在发送调试日志……", "Send debug logs": "发送调试日志", "Select an option": "选择一个选项", - "Saving…": "正在保存……", - "Save": "保存", "Return to home screen": "返回主页", "Remove": "移除", "Release to stop": "松开后停止", @@ -85,7 +75,6 @@ "Not now, return to home screen": "暂不,先返回主页", "No": "否", "Mute microphone": "麦克风静音", - "More menu": "更多", "More": "更多", "Microphone permissions needed to join the call.": "加入通话需要麦克风权限。", "Microphone {{n}}": "麦克风 {{n}}", @@ -95,7 +84,6 @@ "Logging in…": "登录中……", "Local volume": "本地音量", "Loading…": "加载中……", - "Loading room…": "加载房间中……", "Leave": "离开", "Join existing call?": "加入现有的通话?", "Join call now": "现在加入通话", @@ -106,7 +94,6 @@ "Incompatible versions": "不兼容版本", "Include debug logs": "包含调试日志", "Home": "主页", - "Having trouble? Help us fix it.": "遇到麻烦?帮助我们解决问题。", "Grid layout menu": "网格布局菜单", "Go": "开始", "Full screen": "全屏", @@ -118,7 +105,6 @@ "Display name": "显示名称", "Developer": "开发者", "Details": "详情", - "Description (optional)": "描述(可选)", "Debug log request": "调试日志请求", "Debug log": "调试日志", "Create account": "创建账户", @@ -136,5 +122,7 @@ "Call type menu": "通话类型菜单", "Call link copied": "链接已复制", "By clicking \"Join call now\", you agree to our <2>Terms and conditions": "点击“现在加入”则表示同意我们的<2>条款与条件<2>", - "Avatar": "头像" + "Avatar": "头像", + "<0>Oops, something's gone wrong.": "<0>哎哟,出问题了。", + "<0><1>You may withdraw consent by unchecking this box. If you are currently in a call, this setting will take effect at the end of the call.": "" } diff --git a/public/locales/zh-Hant/app.json b/public/locales/zh-Hant/app.json index a3d0a108..a9b39a47 100644 --- a/public/locales/zh-Hant/app.json +++ b/public/locales/zh-Hant/app.json @@ -1,14 +1,146 @@ { - "<0>Join call now<1>Or<2>Copy call link and join later": "<0>加入通話<1>或<2>複製通話連結並稍候加入", - "<0>Create an account Or <2>Access as a guest": "<0>建立帳號 或 <2>訪客模式", - "<0>Already have an account?<1><0>Log in Or <2>Access as a guest": "<0>已經有帳號了?<1><0>登入 Or <2>訪客模式登入", - "{{roomName}} - Walkie-talkie call": "{{roomName}} - 無線電通話", - "{{names}}, {{name}}": "{{names}},{{name}}", - "{{name}} is talking…": "{{name}} 正在交談中…", - "{{name}} is presenting": "{{name}} 正在報告", - "{{name}} (Waiting for video...)": "{{name}} (等待視訊畫面 ...)", - "{{name}} (Connecting...)": "{{name}} (連線中 ...)", - "{{displayName}}, your call is now ended": "{{displayName}},您的通話現在已結束", - "{{count}} people connected|other": "{{count}} 人已連線", - "{{count}} people connected|one": "{{count}} 人已連線" + "<0>Join call now<1>Or<2>Copy call link and join later": "<0>現在加入通話<1>或<2>複製通話連結,稍後再加入", + "<0>Create an account Or <2>Access as a guest": "<0>建立帳號 或<2>以訪客身份登入", + "<0>Already have an account?<1><0>Log in Or <2>Access as a guest": "<0>已經有帳號?<1><0>登入 或<2>以訪客身份登入", + "{{roomName}} - Walkie-talkie call": "{{roomName}} - 對講機式通話", + "{{names}}, {{name}}": "{{names}}, {{name}}", + "{{name}} is talking…": "{{name}} 正在發言…", + "{{name}} is presenting": "{{name}} 已上線", + "{{name}} (Waiting for video...)": "{{name}} (等候視訊中...)", + "{{name}} (Connecting...)": "{{name}} (連結中...)", + "{{count}} people connected|other": "{{count}} 人已連結", + "{{count}} people connected|one": "{{count}} 人已連結", + "Use the upcoming grid system": "使用即將推出的網格系統", + "Expose developer settings in the settings window.": "在設定視窗中顯示開發者設定。", + "Developer Settings": "開發者設定", + "<0>Submitting debug logs will help us track down the problem.": "<0>送出除錯紀錄,可幫助我們修正問題。", + "<0>Oops, something's gone wrong.": "<0>喔喔,有些地方怪怪的。", + "Your recent calls": "您最近的通話", + "You can't talk at the same time": "您無法在同一時間發言", + "Yes, join call": "是,加入對話", + "WebRTC is not supported or is being blocked in this browser.": "此瀏覽器未支援 WebRTC 或 WebRTC 被瀏覽器封鎖。", + "Walkie-talkie call name": "對講機式通話名稱", + "Walkie-talkie call": "即時通話", + "Waiting for other participants…": "等待其他參加者…", + "Waiting for network": "等待網路連線", + "Video call name": "視訊通話姓名", + "Video call": "視訊通話", + "Video": "視訊", + "Version: {{version}}": "版本: {{version}}", + "Username": "使用者名稱", + "User menu": "使用者選單", + "Unmute microphone": "取消麥克風靜音", + "Turn on camera": "開啟相機", + "Turn off camera": "關閉相機", + "This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)": "這會使得發言者的聲音聽起來,像從他們在畫面中的位置傳來(實驗性功能:這可能會影響語音的穩定性。)", + "This site is protected by ReCAPTCHA and the Google <2>Privacy Policy and <6>Terms of Service apply.<9>By clicking \"Register\", you agree to our <12>Terms and conditions": "此網站使用Google 驗證碼技術保護,適用<2>隱私條款 與<6>條款與細則 。<9>按下「註冊」,表示您同意我們的<12>條款與細則", + "This feature is only supported on Firefox.": "只有 Firefox 支援此功能。", + "This call already exists, would you like to join?": "通話已經開始,請問您要加入嗎?", + "Thanks! We'll get right on it.": "謝謝您!我們會盡快處理。", + "Talking…": "對話中…", + "Talk over speaker": "以擴音對話", + "Take me Home": "帶我回主畫面", + "Submit feedback": "遞交回覆", + "Stop sharing screen": "停止分享螢幕畫面", + "Spotlight": "聚焦", + "Speaker {{n}}": "發言者{{n}}", + "Speaker": "發言者", + "Spatial audio": "空間音效", + "Sign out": "登出", + "Sign in": "登入", + "Show call inspector": "顯示通話稽查員", + "Share screen": "分享畫面", + "Settings": "設定", + "Sending…": "傳送中…", + "Sending debug logs…": "傳送除錯記錄檔中…", + "Send debug logs": "傳送除錯紀錄", + "Select an option": "選擇一個選項", + "Return to home screen": "回到首頁", + "Remove": "移除", + "Release to stop": "放開以停止", + "Release spacebar key to stop": "放開空白鍵以停止", + "Registering…": "註冊中…", + "Register": "註冊", + "Recaptcha not loaded": "驗證碼未載入", + "Recaptcha dismissed": "略過驗證碼", + "Profile": "個人檔案", + "Press and hold to talk over {{name}}": "與{{name}}對話時,請按住按鍵", + "Press and hold to talk": "請按住按鍵來發言", + "Press and hold spacebar to talk over {{name}}": "與{{name}}對話時,請按住空白鍵", + "Press and hold spacebar to talk": "說話時請按住空白鍵", + "Passwords must match": "密碼必須相符", + "Password": "密碼", + "Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}": "有使用者試著加入通話,但他們的軟體版本不相容。這些使用者需要確認已將瀏覽器更新到最新版本:<1>{userLis}", + "Not registered yet? <2>Create an account": "還沒註冊嗎?<2>建立帳號", + "Not now, return to home screen": "現在不行,回到首頁", + "No": "否", + "Mute microphone": "麥克風靜音", + "More": "更多", + "Microphone permissions needed to join the call.": "加入通話前需要取得麥克風的權限。", + "Microphone {{n}}": "麥克風 {{n}}", + "Microphone": "麥克風", + "Login to your account": "登入您的帳號", + "Login": "登入", + "Logging in…": "登入中…", + "Local volume": "您的音量", + "Loading…": "載入中…", + "Leave": "離開", + "Join existing call?": "加入已開始的通話嗎?", + "Join call now": "現在加入通話", + "Join call": "加入通話", + "Invite people": "邀請夥伴", + "Invite": "邀請", + "Inspector": "稽查員", + "Incompatible versions!": "不相容版本!", + "Incompatible versions": "不相容版本", + "Include debug logs": "包含除錯紀錄", + "Home": "首頁", + "Grid layout menu": "格框式清單", + "Go": "前往", + "Full screen": "全螢幕", + "Freedom": "自由", + "Fetching group call timed out.": "加入群組對話已逾時。", + "Exit full screen": "退出全螢幕", + "Element Call Home": "Element Call 首頁", + "Download debug logs": "下載偵錯報告", + "Display name": "顯示名稱", + "Developer": "開發者", + "Details": "詳細說明", + "Debug log request": "請求偵錯報告", + "Debug log": "除錯紀錄", + "Create account": "建立帳號", + "Copy and share this call link": "複製並分享通話連結", + "Copy": "複製", + "Copied!": "已複製!", + "Connection lost": "連線中斷", + "Confirm password": "確認密碼", + "Close": "關閉", + "Change layout": "變更排列", + "Camera/microphone permissions needed to join the call.": "加入通話需要取得相機/麥克風的權限。", + "Camera {{n}}": "相機 {{n}}", + "Camera": "相機", + "Call type menu": "通話類型選單", + "Call link copied": "已複製通話連結", + "By clicking \"Join call now\", you agree to our <2>Terms and conditions": "當您按下「加入通話」,您也同時同意了我們的條款與細則", + "By clicking \"Go\", you agree to our <2>Terms and conditions": "當您按下「前往」,你也同意了我們的條款與細則", + "Avatar": "大頭照", + "Audio": "語音", + "Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.": "這通對話中的另一位使用者遇到了某些問題。為了診斷問題,我們將會建立除錯紀錄。", + "Accept microphone permissions to join the call.": "請授權使用您的麥克風以加入通話。", + "Accept camera/microphone permissions to join the call.": "請授權使用您的相機/麥克風以加入對話。", + "<0>Why not finish by setting up a password to keep your account?<1>You'll be able to keep your name and set an avatar for use on future calls": "<0>何不設定密碼以保留此帳號?<1>您可以保留暱稱並設定頭像,以便未來通話時使用", + "By participating in this beta, you consent to the collection of anonymous data, which we use to improve the product. You can find more information about which data we track in our <2>Privacy Policy and our <5>Cookie Policy.": "參與此測試版即表示您同意蒐集匿名資料,我們使用這些資料來改進產品。您可以在我們的<2>隱私政策與我們的 <5>Cookie 政策 中找到關於我們追蹤哪些資料的更多資訊。", + "<0><1>You may withdraw consent by unchecking this box. If you are currently in a call, this setting will take effect at the end of the call.": "<0><1>您可以透過取消核取此方塊來撤回同意。若您目前正在通話中,此設定將在通話結束時生效。", + "Your feedback": "您的回饋", + "Thanks, we received your feedback!": "感謝,我們已經收到您的回饋了!", + "Submitting…": "正在遞交……", + "Submit": "遞交", + "If you are experiencing issues or simply would like to provide some feedback, please send us a short description below.": "若您遇到問題或只是想提供一些回饋,請在下方傳送簡短說明給我們。", + "Feedback": "回饋", + "{{count}} stars|other": "{{count}} 個星星", + "<0>Thanks for your feedback!": "<0>感謝您的回饋!", + "<0>We'd love to hear your feedback so we can improve your experience.": "<0>我們想要聽到您的回饋,如此我們才能改善您的體驗。", + "{{count}} stars|one": "{{count}} 個星星", + "{{displayName}}, your call has ended.": "{{displayName}},您的通話已結束。", + "How did it go?": "進展如何?" } diff --git a/scripts/reformat-release-notes.py b/scripts/reformat-release-notes.py new file mode 100755 index 00000000..ad216ff4 --- /dev/null +++ b/scripts/reformat-release-notes.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python3 + +# This script can be used to reformat the release notes generated by +# GitHub releases into a format slightly more appropriate for our +# project (ie. we don't really need to mention the author of every PR) +# +# eg. in: * OpenTelemetry by @dbkr in https://github.com/vector-im/element-call/pull/961 +# out: * OpenTelemetry (https://github.com/vector-im/element-call/pull/961) + +import sys +import re + +for line in sys.stdin: + matches = re.match(r'^\* (.*) by (\S+) in (\S+)$', line.strip()) + print("* %s (%s)" % (matches[1], matches[3])) diff --git a/src/App.tsx b/src/App.tsx index 5fc04149..f859a196 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,5 +1,5 @@ /* -Copyright 2021 New Vector Ltd +Copyright 2021 - 2023 New Vector Ltd Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/src/ClientContext.tsx b/src/ClientContext.tsx index fa83f5d9..08593a4b 100644 --- a/src/ClientContext.tsx +++ b/src/ClientContext.tsx @@ -36,7 +36,10 @@ import { fallbackICEServerAllowed, } from "./matrix-utils"; import { widget } from "./widget"; -import { PosthogAnalytics, RegistrationType } from "./PosthogAnalytics"; +import { + PosthogAnalytics, + RegistrationType, +} from "./analytics/PosthogAnalytics"; import { translatedError } from "./TranslatedError"; import { useEventTarget } from "./useEvents"; import { Config } from "./config/Config"; @@ -339,6 +342,9 @@ export const ClientProvider: FC = ({ children }) => { useEffect(() => { window.matrixclient = client; window.isPasswordlessUser = isPasswordlessUser; + + if (PosthogAnalytics.hasInstance()) + PosthogAnalytics.instance.onLoginStatusChanged(); }, [client, isPasswordlessUser]); if (error) { diff --git a/src/Header.tsx b/src/Header.tsx index da946d99..9b96f250 100644 --- a/src/Header.tsx +++ b/src/Header.tsx @@ -131,7 +131,9 @@ export function RoomHeaderInfo({ roomName, avatarUrl }: RoomHeaderInfo) { /> - {roomName} + + {roomName} + ); } diff --git a/src/Modal.module.css b/src/Modal.module.css index 30c8af04..5143f8b5 100644 --- a/src/Modal.module.css +++ b/src/Modal.module.css @@ -40,7 +40,7 @@ limitations under the License. .modalHeader { display: flex; justify-content: space-between; - padding: 34px 34px 0 34px; + padding: 34px 32px 0 32px; } .modalHeader h3 { @@ -72,7 +72,7 @@ limitations under the License. .modalHeader { display: flex; justify-content: space-between; - padding: 24px 24px 0 24px; + padding: 32px 20px 0 20px; } .modal.mobileFullScreen { diff --git a/src/Modal.tsx b/src/Modal.tsx index ad4b7035..6c24f0a2 100644 --- a/src/Modal.tsx +++ b/src/Modal.tsx @@ -92,6 +92,7 @@ export function Modal({ {...closeButtonProps} ref={closeButtonRef} className={styles.closeButton} + data-testid="modal_close" title={t("Close")} > diff --git a/src/UrlParams.ts b/src/UrlParams.ts index 19fd5561..eb2b1795 100644 --- a/src/UrlParams.ts +++ b/src/UrlParams.ts @@ -79,6 +79,11 @@ interface UrlParams { * The Posthog analytics ID. It is only available if the user has given consent for sharing telemetry in element web. */ analyticsID: string | null; + /** + * Whether the app is allowed to use fallback STUN servers for ICE in case the + * user's homeserver doesn't provide any. + */ + allowIceFallback: boolean; } /** @@ -135,6 +140,7 @@ export const getUrlParams = ( fonts: getAllParams("font"), fontScale: Number.isNaN(fontScale) ? null : fontScale, analyticsID: getParam("analyticsID"), + allowIceFallback: hasParam("allowIceFallback"), }; }; diff --git a/src/UserMenu.tsx b/src/UserMenu.tsx index 36cad0de..afb4248a 100644 --- a/src/UserMenu.tsx +++ b/src/UserMenu.tsx @@ -1,5 +1,5 @@ /* -Copyright 2022 New Vector Ltd +Copyright 2022 - 2023 New Vector Ltd Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -25,6 +25,7 @@ import { Menu } from "./Menu"; import { TooltipTrigger } from "./Tooltip"; import { Avatar, Size } from "./Avatar"; import { ReactComponent as UserIcon } from "./icons/User.svg"; +import { ReactComponent as SettingsIcon } from "./icons/Settings.svg"; import { ReactComponent as LoginIcon } from "./icons/Login.svg"; import { ReactComponent as LogoutIcon } from "./icons/Logout.svg"; import { Body } from "./typography/Typography"; @@ -58,6 +59,12 @@ export function UserMenu({ key: "user", icon: UserIcon, label: displayName, + dataTestid: "usermenu_user", + }); + arr.push({ + key: "settings", + icon: SettingsIcon, + label: t("Settings"), }); if (isPasswordlessUser && !preventNavigation) { @@ -65,6 +72,7 @@ export function UserMenu({ key: "login", label: t("Sign in"), icon: LoginIcon, + dataTestid: "usermenu_login", }); } @@ -73,6 +81,7 @@ export function UserMenu({ key: "logout", label: t("Sign out"), icon: LogoutIcon, + dataTestid: "usermenu_logout", }); } } @@ -93,7 +102,11 @@ export function UserMenu({ return ( - diff --git a/src/auth/RegisterPage.tsx b/src/auth/RegisterPage.tsx index f5025b88..5eec26dc 100644 --- a/src/auth/RegisterPage.tsx +++ b/src/auth/RegisterPage.tsx @@ -38,7 +38,7 @@ import { LoadingView } from "../FullScreenView"; import { useRecaptcha } from "./useRecaptcha"; import { Caption, Link } from "../typography/Typography"; import { usePageTitle } from "../usePageTitle"; -import { PosthogAnalytics } from "../PosthogAnalytics"; +import { PosthogAnalytics } from "../analytics/PosthogAnalytics"; import { Config } from "../config/Config"; export const RegisterPage: FC = () => { @@ -166,6 +166,7 @@ export const RegisterPage: FC = () => { autoCapitalize="none" prefix="@" suffix={`:${Config.defaultServerName()}`} + data-testid="register_username" /> @@ -179,6 +180,7 @@ export const RegisterPage: FC = () => { value={password} placeholder={t("Password")} label={t("Password")} + data-testid="register_password" /> @@ -193,6 +195,7 @@ export const RegisterPage: FC = () => { placeholder={t("Confirm password")} label={t("Confirm password")} ref={confirmPasswordRef} + data-testid="register_confirm_password" /> @@ -217,7 +220,11 @@ export const RegisterPage: FC = () => { )} - diff --git a/src/button/Button.module.css b/src/button/Button.module.css index eb8f0b1b..b19db46f 100644 --- a/src/button/Button.module.css +++ b/src/button/Button.module.css @@ -39,10 +39,10 @@ limitations under the License. .secondaryHangup, .button, .copyButton { - padding: 7px 15px; + padding: 8px 20px; border-radius: 8px; font-size: var(--font-size-body); - font-weight: 700; + font-weight: 600; } .button { diff --git a/src/button/Button.tsx b/src/button/Button.tsx index dd92b2b6..289f2b9a 100644 --- a/src/button/Button.tsx +++ b/src/button/Button.tsx @@ -1,5 +1,5 @@ /* -Copyright 2022 New Vector Ltd +Copyright 2022 - 2023 New Vector Ltd Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -27,8 +27,13 @@ import { ReactComponent as VideoIcon } from "../icons/Video.svg"; import { ReactComponent as DisableVideoIcon } from "../icons/DisableVideo.svg"; import { ReactComponent as HangupIcon } from "../icons/Hangup.svg"; import { ReactComponent as ScreenshareIcon } from "../icons/Screenshare.svg"; +import { ReactComponent as SettingsIcon } from "../icons/Settings.svg"; +import { ReactComponent as AddUserIcon } from "../icons/AddUser.svg"; import { ReactComponent as ArrowDownIcon } from "../icons/ArrowDown.svg"; +import { ReactComponent as Fullscreen } from "../icons/Fullscreen.svg"; +import { ReactComponent as FullscreenExit } from "../icons/FullscreenExit.svg"; import { TooltipTrigger } from "../Tooltip"; +import { VolumeIcon } from "./VolumeIcon"; export type ButtonVariant = | "default" @@ -218,3 +223,87 @@ export function HangupButton({ ); } + +export function SettingsButton({ + className, + ...rest +}: { + className?: string; + // TODO: add all props for + + ); +} + +export function InviteButton({ + className, + variant = "toolbar", + ...rest +}: { + className?: string; + variant?: string; + // TODO: add all props for + + ); +} + +interface AudioButtonProps extends Omit { + /** + * A number between 0 and 1 + */ + volume: number; +} + +export function AudioButton({ volume, ...rest }: AudioButtonProps) { + const { t } = useTranslation(); + const tooltip = useCallback(() => t("Local volume"), [t]); + + return ( + + + + ); +} + +interface FullscreenButtonProps extends Omit { + fullscreen?: boolean; +} + +export function FullscreenButton({ + fullscreen, + ...rest +}: FullscreenButtonProps) { + const { t } = useTranslation(); + const tooltip = useCallback(() => { + return fullscreen ? t("Exit full screen") : t("Full screen"); + }, [fullscreen, t]); + + return ( + + + + ); +} diff --git a/src/button/VolumeIcon.tsx b/src/button/VolumeIcon.tsx new file mode 100644 index 00000000..d4958e48 --- /dev/null +++ b/src/button/VolumeIcon.tsx @@ -0,0 +1,35 @@ +/* +Copyright 2022 New Vector Ltd + + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import React from "react"; + +import { ReactComponent as AudioMuted } from "../icons/AudioMuted.svg"; +import { ReactComponent as AudioLow } from "../icons/AudioLow.svg"; +import { ReactComponent as Audio } from "../icons/Audio.svg"; + +interface Props { + /** + * Number between 0 and 1 + */ + volume: number; +} + +export function VolumeIcon({ volume }: Props) { + if (volume <= 0) return ; + if (volume <= 0.5) return ; + return