diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index acb224707..2a25d3f0b 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -10,7 +10,9 @@ on: # Only run for pull requests if relevant files were changed pull_request: - branches: [main] + branches: + - main + - 'release/**' paths: - Dockerfile - docker-bake.hcl @@ -31,10 +33,37 @@ env: DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index jobs: + compute-version: + name: Compute version using git describe + runs-on: ubuntu-24.04 + outputs: + describe: ${{ steps.git.outputs.describe }} + timestamp: ${{ steps.git.outputs.timestamp }} + steps: + - name: Checkout the code + uses: actions/checkout@v4.2.2 + with: + # Need a full clone so that `git describe` reports the right version + fetch-depth: 0 + + - name: Compute version and timestamp out of git history + id: git + run: | + echo "describe=$(git describe --tags --match 'v*.*.*' --always)" >> $GITHUB_OUTPUT + echo "timestamp=$(git log -1 --format=%ct)" >> $GITHUB_OUTPUT + + build-binaries: name: Build binaries runs-on: ubuntu-22.04 + needs: + - compute-version + + env: + VERGEN_GIT_DESCRIBE: ${{ needs.compute-version.outputs.describe }} + SOURCE_DATE_EPOCH: ${{ needs.compute-version.outputs.timestamp }} + permissions: contents: read @@ -136,6 +165,13 @@ jobs: packages: write id-token: write + needs: + - compute-version + + env: + VERGEN_GIT_DESCRIBE: ${{ needs.compute-version.outputs.describe }} + SOURCE_DATE_EPOCH: ${{ needs.compute-version.outputs.timestamp }} + steps: - name: Docker meta id: meta diff --git a/Cargo.lock b/Cargo.lock index 2ac638cd1..3539b0a14 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3098,7 +3098,7 @@ dependencies = [ [[package]] name = "mas-axum-utils" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "async-trait", "axum", @@ -3132,7 +3132,7 @@ dependencies = [ [[package]] name = "mas-cli" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "anyhow", "axum", @@ -3200,7 +3200,7 @@ dependencies = [ [[package]] name = "mas-config" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "anyhow", "camino", @@ -3230,7 +3230,7 @@ dependencies = [ [[package]] name = "mas-data-model" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "base64ct", "chrono", @@ -3252,7 +3252,7 @@ dependencies = [ [[package]] name = "mas-email" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "async-trait", "lettre", @@ -3263,7 +3263,7 @@ dependencies = [ [[package]] name = "mas-handlers" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "aide", "anyhow", @@ -3338,7 +3338,7 @@ dependencies = [ [[package]] name = "mas-http" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "futures-util", "headers", @@ -3358,7 +3358,7 @@ dependencies = [ [[package]] name = "mas-i18n" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "camino", "icu_calendar", @@ -3381,7 +3381,7 @@ dependencies = [ [[package]] name = "mas-i18n-scan" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "camino", "clap", @@ -3395,7 +3395,7 @@ dependencies = [ [[package]] name = "mas-iana" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "schemars", "serde", @@ -3403,7 +3403,7 @@ dependencies = [ [[package]] name = "mas-iana-codegen" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "anyhow", "async-trait", @@ -3419,7 +3419,7 @@ dependencies = [ [[package]] name = "mas-jose" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "base64ct", "chrono", @@ -3449,7 +3449,7 @@ dependencies = [ [[package]] name = "mas-keystore" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "aead", "base64ct", @@ -3477,7 +3477,7 @@ dependencies = [ [[package]] name = "mas-listener" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "anyhow", "bytes", @@ -3501,7 +3501,7 @@ dependencies = [ [[package]] name = "mas-matrix" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "anyhow", "async-trait", @@ -3510,7 +3510,7 @@ dependencies = [ [[package]] name = "mas-matrix-synapse" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "anyhow", "async-trait", @@ -3527,7 +3527,7 @@ dependencies = [ [[package]] name = "mas-oidc-client" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "assert_matches", "async-trait", @@ -3563,7 +3563,7 @@ dependencies = [ [[package]] name = "mas-policy" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "anyhow", "mas-data-model", @@ -3579,7 +3579,7 @@ dependencies = [ [[package]] name = "mas-router" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "axum", "serde", @@ -3590,7 +3590,7 @@ dependencies = [ [[package]] name = "mas-spa" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "camino", "serde", @@ -3599,7 +3599,7 @@ dependencies = [ [[package]] name = "mas-storage" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "async-trait", "chrono", @@ -3621,7 +3621,7 @@ dependencies = [ [[package]] name = "mas-storage-pg" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "async-trait", "chrono", @@ -3647,7 +3647,7 @@ dependencies = [ [[package]] name = "mas-tasks" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "anyhow", "async-trait", @@ -3678,7 +3678,7 @@ dependencies = [ [[package]] name = "mas-templates" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "anyhow", "arc-swap", @@ -3708,7 +3708,7 @@ dependencies = [ [[package]] name = "mas-tower" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "http", "opentelemetry", @@ -3965,7 +3965,7 @@ dependencies = [ [[package]] name = "oauth2-types" -version = "0.13.0-rc.1" +version = "0.13.0-rc.2" dependencies = [ "assert_matches", "chrono", diff --git a/Cargo.toml b/Cargo.toml index ec8acfd6d..8370b17c0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ members = ["crates/*"] resolver = "2" # Updated in the CI with a `sed` command -package.version = "0.13.0-rc.1" +package.version = "0.13.0-rc.2" package.license = "AGPL-3.0-only" package.authors = ["Element Backend Team"] package.edition = "2021" @@ -27,33 +27,33 @@ broken_intra_doc_links = "deny" [workspace.dependencies] # Workspace crates -mas-axum-utils = { path = "./crates/axum-utils/", version = "=0.13.0-rc.1" } -mas-cli = { path = "./crates/cli/", version = "=0.13.0-rc.1" } -mas-config = { path = "./crates/config/", version = "=0.13.0-rc.1" } -mas-data-model = { path = "./crates/data-model/", version = "=0.13.0-rc.1" } -mas-email = { path = "./crates/email/", version = "=0.13.0-rc.1" } -mas-graphql = { path = "./crates/graphql/", version = "=0.13.0-rc.1" } -mas-handlers = { path = "./crates/handlers/", version = "=0.13.0-rc.1" } -mas-http = { path = "./crates/http/", version = "=0.13.0-rc.1" } -mas-i18n = { path = "./crates/i18n/", version = "=0.13.0-rc.1" } -mas-i18n-scan = { path = "./crates/i18n-scan/", version = "=0.13.0-rc.1" } -mas-iana = { path = "./crates/iana/", version = "=0.13.0-rc.1" } -mas-iana-codegen = { path = "./crates/iana-codegen/", version = "=0.13.0-rc.1" } -mas-jose = { path = "./crates/jose/", version = "=0.13.0-rc.1" } -mas-keystore = { path = "./crates/keystore/", version = "=0.13.0-rc.1" } -mas-listener = { path = "./crates/listener/", version = "=0.13.0-rc.1" } -mas-matrix = { path = "./crates/matrix/", version = "=0.13.0-rc.1" } -mas-matrix-synapse = { path = "./crates/matrix-synapse/", version = "=0.13.0-rc.1" } -mas-oidc-client = { path = "./crates/oidc-client/", version = "=0.13.0-rc.1" } -mas-policy = { path = "./crates/policy/", version = "=0.13.0-rc.1" } -mas-router = { path = "./crates/router/", version = "=0.13.0-rc.1" } -mas-spa = { path = "./crates/spa/", version = "=0.13.0-rc.1" } -mas-storage = { path = "./crates/storage/", version = "=0.13.0-rc.1" } -mas-storage-pg = { path = "./crates/storage-pg/", version = "=0.13.0-rc.1" } -mas-tasks = { path = "./crates/tasks/", version = "=0.13.0-rc.1" } -mas-templates = { path = "./crates/templates/", version = "=0.13.0-rc.1" } -mas-tower = { path = "./crates/tower/", version = "=0.13.0-rc.1" } -oauth2-types = { path = "./crates/oauth2-types/", version = "=0.13.0-rc.1" } +mas-axum-utils = { path = "./crates/axum-utils/", version = "=0.13.0-rc.2" } +mas-cli = { path = "./crates/cli/", version = "=0.13.0-rc.2" } +mas-config = { path = "./crates/config/", version = "=0.13.0-rc.2" } +mas-data-model = { path = "./crates/data-model/", version = "=0.13.0-rc.2" } +mas-email = { path = "./crates/email/", version = "=0.13.0-rc.2" } +mas-graphql = { path = "./crates/graphql/", version = "=0.13.0-rc.2" } +mas-handlers = { path = "./crates/handlers/", version = "=0.13.0-rc.2" } +mas-http = { path = "./crates/http/", version = "=0.13.0-rc.2" } +mas-i18n = { path = "./crates/i18n/", version = "=0.13.0-rc.2" } +mas-i18n-scan = { path = "./crates/i18n-scan/", version = "=0.13.0-rc.2" } +mas-iana = { path = "./crates/iana/", version = "=0.13.0-rc.2" } +mas-iana-codegen = { path = "./crates/iana-codegen/", version = "=0.13.0-rc.2" } +mas-jose = { path = "./crates/jose/", version = "=0.13.0-rc.2" } +mas-keystore = { path = "./crates/keystore/", version = "=0.13.0-rc.2" } +mas-listener = { path = "./crates/listener/", version = "=0.13.0-rc.2" } +mas-matrix = { path = "./crates/matrix/", version = "=0.13.0-rc.2" } +mas-matrix-synapse = { path = "./crates/matrix-synapse/", version = "=0.13.0-rc.2" } +mas-oidc-client = { path = "./crates/oidc-client/", version = "=0.13.0-rc.2" } +mas-policy = { path = "./crates/policy/", version = "=0.13.0-rc.2" } +mas-router = { path = "./crates/router/", version = "=0.13.0-rc.2" } +mas-spa = { path = "./crates/spa/", version = "=0.13.0-rc.2" } +mas-storage = { path = "./crates/storage/", version = "=0.13.0-rc.2" } +mas-storage-pg = { path = "./crates/storage-pg/", version = "=0.13.0-rc.2" } +mas-tasks = { path = "./crates/tasks/", version = "=0.13.0-rc.2" } +mas-templates = { path = "./crates/templates/", version = "=0.13.0-rc.2" } +mas-tower = { path = "./crates/tower/", version = "=0.13.0-rc.2" } +oauth2-types = { path = "./crates/oauth2-types/", version = "=0.13.0-rc.2" } # OpenAPI schema generation and validation [workspace.dependencies.aide] diff --git a/Dockerfile b/Dockerfile index b7d5fc0a8..269e7946a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -142,6 +142,10 @@ RUN --network=default \ # Build the rest COPY ./ /app ENV SQLX_OFFLINE=true + +ARG VERGEN_GIT_DESCRIBE +ENV VERGEN_GIT_DESCRIBE=${VERGEN_GIT_DESCRIBE} + # Network access: cargo auditable needs it RUN --network=default \ cargo auditable build \ diff --git a/crates/cli/build.rs b/crates/cli/build.rs index 9ae5f0674..18e64cc21 100644 --- a/crates/cli/build.rs +++ b/crates/cli/build.rs @@ -1,4 +1,4 @@ -// Copyright 2024 New Vector Ltd. +// Copyright 2024, 2025 New Vector Ltd. // // SPDX-License-Identifier: AGPL-3.0-only // Please see LICENSE in the repository root for full details. @@ -6,7 +6,18 @@ use vergen_gitcl::{Emitter, GitclBuilder, RustcBuilder}; fn main() -> anyhow::Result<()> { - let gitcl = GitclBuilder::default().describe(true, true, None).build()?; + // At build time, we override the version through the environment variable + // VERGEN_GIT_DESCRIBE. In some contexts, it means this variable is set but + // empty, so we unset it here. + if let Ok(ver) = std::env::var("VERGEN_GIT_DESCRIBE") { + if ver.is_empty() { + std::env::remove_var("VERGEN_GIT_DESCRIBE"); + } + } + + let gitcl = GitclBuilder::default() + .describe(true, false, Some("v*.*.*")) + .build()?; let rustc = RustcBuilder::default().semver(true).build()?; Emitter::default() diff --git a/docker-bake.hcl b/docker-bake.hcl index 1c3e94d9c..0df1c848f 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -1,3 +1,8 @@ +// This is used to set the version reported by the binary through an environment +// variable. This is mainly useful when building out of a git context, like in +// CI, where we don't have the full commit history available +variable "VERGEN_GIT_DESCRIBE" {} + // This is what is baked by GitHub Actions group "default" { targets = ["regular", "debug", "syn2mas"] } @@ -11,8 +16,11 @@ target "docker-metadata-action-syn2mas" {} target "base" { args = { // This is set so that when we use a git context, the .git directory is - // present, as we infer the version at build time out of it + // present, as we may be infering the version at build time out of it BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1 + + // Pass down the version from an external git describe source + VERGEN_GIT_DESCRIBE = "${VERGEN_GIT_DESCRIBE}" } platforms = [ diff --git a/frontend/locales/cs.json b/frontend/locales/cs.json index 67ca92c97..b21e49621 100644 --- a/frontend/locales/cs.json +++ b/frontend/locales/cs.json @@ -62,7 +62,7 @@ "email_exists_error": "Zadaný e-mail je již přidán k tomuto účtu", "email_field_help": "Přidejte alternativní e-mail, který můžete použít pro přístup k tomuto účtu.", "email_field_label": "Přidat e-mail", - "email_in_use_error": "The entered email is already in use", + "email_in_use_error": "Zadaný e-mail se již používá", "email_invalid_alert": { "text": "Zadaný email je neplatný", "title": "Neplatný e-mail" @@ -102,7 +102,7 @@ "web": "Web" }, "email_in_use": { - "heading": "The email address {{email}} is already in use." + "heading": "E-mailová adresa {{email}} se již používá." }, "end_session_button": { "confirmation_modal_title": "Opravdu chcete ukončit tuto relaci?", @@ -338,8 +338,8 @@ }, "verify_email": { "code_expired_alert": { - "description": "The code has expired. Please request a new code.", - "title": "Code expired" + "description": "Platnost kódu vypršela. Vyžádejte si prosím nový kód.", + "title": "Kód vypršel" }, "code_field_error": "Kód nebyl rozpoznán", "code_field_label": "6místný kód", diff --git a/frontend/locales/de.json b/frontend/locales/de.json index 9167696ee..b4df32452 100644 --- a/frontend/locales/de.json +++ b/frontend/locales/de.json @@ -62,7 +62,7 @@ "email_exists_error": "Die eingegebene E-Mail-Adresse ist diesem Konto bereits zugeordnet", "email_field_help": "Fügen Sie eine alternative E-Mail-Adresse hinzu, mit der Sie auf dieses Konto zugreifen können.", "email_field_label": "E-Mail-Adresse hinzufügen", - "email_in_use_error": "The entered email is already in use", + "email_in_use_error": "Die eingegebene E-Mail-Adresse wird bereits verwendet", "email_invalid_alert": { "text": "Die eingegebene E-Mail-Adresse ist ungültig", "title": "Ungültige Email-Adresse" @@ -101,7 +101,7 @@ "web": "Web" }, "email_in_use": { - "heading": "The email address {{email}} is already in use." + "heading": "Die E-Mail-Adresse {{email}} wird bereits verwendet." }, "end_session_button": { "confirmation_modal_title": "Sind Sie sicher, dass Sie diese Sitzung abmelden möchten?", @@ -116,7 +116,7 @@ "error_boundary_title": "Etwas ist schief gelaufen", "errors": { "field_required": "Dieses Feld ist erforderlich", - "rate_limit_exceeded": "You've made too many requests in a short period. Please wait a few minutes and try again." + "rate_limit_exceeded": "Sie haben in kurzer Zeit zu viele Anfragen gestellt. Bitte warten Sie ein paar Minuten und versuchen Sie es erneut." }, "last_active": { "active_date": "Aktiv {{relativeDate}}", @@ -175,15 +175,15 @@ }, "password_reset": { "consumed": { - "subtitle": "To create a new password, start over and select ”Forgot password“.", - "title": "The link to reset your password has already been used" + "subtitle": "Um ein neues Passwort zu erstellen, beginnen Sie von vorne und wählen Sie „Passwort vergessen“.", + "title": "Der Link zum Zurücksetzen Ihres Passworts wurde bereits verwendet" }, "expired": { - "resend_email": "Resend email", - "subtitle": "Request a new email that will be sent to: {{email}}", - "title": "The link to reset your password has expired" + "resend_email": "E-Mail erneut senden", + "subtitle": "Fordern Sie eine neue E-Mail an, die gesendet wird an: {{email}}", + "title": "Der Link zum Zurücksetzen Ihres Passworts ist abgelaufen" }, - "subtitle": "Choose a new password for your account.", + "subtitle": "Wählen Sie ein neues Passwort für Ihr Konto.", "title": "Passwort zurücksetzen" }, "password_strength": { @@ -335,8 +335,8 @@ }, "verify_email": { "code_expired_alert": { - "description": "The code has expired. Please request a new code.", - "title": "Code expired" + "description": "Der Code ist abgelaufen. Bitte fordern Sie einen neuen Code an.", + "title": "Code abgelaufen" }, "code_field_error": "Code nicht erkannt", "code_field_label": "6-stelliger Code", diff --git a/frontend/locales/et.json b/frontend/locales/et.json index 8e864c096..4718b1f37 100644 --- a/frontend/locales/et.json +++ b/frontend/locales/et.json @@ -62,7 +62,7 @@ "email_exists_error": "Sisestatud e-posti aadress on juba selle kasutajakontoga seotud", "email_field_help": "Ligipääsuks sellele kasutajakontole lisa täiendav e-posti aadress.", "email_field_label": "Lisa e-posti aadress", - "email_in_use_error": "The entered email is already in use", + "email_in_use_error": "Sisestatud e-posti aadress on juba kasutusel", "email_invalid_alert": { "text": "Lisatud e-posti aadress on vigane", "title": "Vigane e-posti aadress" @@ -101,7 +101,7 @@ "web": "Veebirakendus" }, "email_in_use": { - "heading": "The email address {{email}} is already in use." + "heading": "E-posti aadress {{email}} on juba kasutusel." }, "end_session_button": { "confirmation_modal_title": "Kas sa oled kindel, et soovid selle sessiooni lõpetada?", @@ -335,8 +335,8 @@ }, "verify_email": { "code_expired_alert": { - "description": "The code has expired. Please request a new code.", - "title": "Code expired" + "description": "Kood on aegunud. Palun tee päring uue koodi saamiseks.", + "title": "Kood on aegunud" }, "code_field_error": "Kood pole õige", "code_field_label": "6-numbriline kood", diff --git a/frontend/locales/sv.json b/frontend/locales/sv.json index 3b8391ad3..2079c8db1 100644 --- a/frontend/locales/sv.json +++ b/frontend/locales/sv.json @@ -62,7 +62,7 @@ "email_exists_error": "Den angivna e-postadressen har redan lagts till i det här kontot", "email_field_help": "Lägg till en alternativ e-postadress som du kan använda för att komma åt det här kontot.", "email_field_label": "Lägg till e-post", - "email_in_use_error": "The entered email is already in use", + "email_in_use_error": "Det angivna e-postmeddelandet används redan", "email_invalid_alert": { "text": "Den angivna e-postadressen är ogiltig", "title": "Ogiltig e-postadress" @@ -101,7 +101,7 @@ "web": "Webb" }, "email_in_use": { - "heading": "The email address {{email}} is already in use." + "heading": "E-postadressen {{email}} är redan i bruk." }, "end_session_button": { "confirmation_modal_title": "Är du säker på att du vill avsluta denna session?", @@ -335,8 +335,8 @@ }, "verify_email": { "code_expired_alert": { - "description": "The code has expired. Please request a new code.", - "title": "Code expired" + "description": "Koden har upphört att gälla. Begär en ny kod.", + "title": "Koden har löpt ut" }, "code_field_error": "Koden känns inte igen", "code_field_label": "6-siffrig kod", diff --git a/frontend/locales/uk.json b/frontend/locales/uk.json index 65aec1c0c..2454eed26 100644 --- a/frontend/locales/uk.json +++ b/frontend/locales/uk.json @@ -62,7 +62,7 @@ "email_exists_error": "Введена електронна пошта вже додана до цього облікового запису", "email_field_help": "Додайте альтернативну електронну пошту, яку ви можете використовувати для доступу до цього облікового запису.", "email_field_label": "Додати електронну пошту", - "email_in_use_error": "The entered email is already in use", + "email_in_use_error": "Введена електронна пошта вже використовується", "email_invalid_alert": { "text": "Введена електронна пошта недійсна", "title": "Невірна електронна пошта" @@ -102,7 +102,7 @@ "web": "Web" }, "email_in_use": { - "heading": "The email address {{email}} is already in use." + "heading": "Адреса електронної пошти {{email}} вже використовується." }, "end_session_button": { "confirmation_modal_title": "Ви впевнені, що хочете закінчити цю сесію?", @@ -338,8 +338,8 @@ }, "verify_email": { "code_expired_alert": { - "description": "The code has expired. Please request a new code.", - "title": "Code expired" + "description": "Термін дії коду закінчився. Будь ласка, запитайте новий код.", + "title": "Термін дії коду закінчився" }, "code_field_error": "Код не розпізнано", "code_field_label": "6-значний код", diff --git a/tools/syn2mas/package-lock.json b/tools/syn2mas/package-lock.json index b5f511211..7ab7e563a 100644 --- a/tools/syn2mas/package-lock.json +++ b/tools/syn2mas/package-lock.json @@ -1,12 +1,12 @@ { "name": "@vector-im/syn2mas", - "version": "0.13.0-rc.1", + "version": "0.13.0-rc.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@vector-im/syn2mas", - "version": "0.13.0-rc.1", + "version": "0.13.0-rc.2", "license": "AGPL-3.0-only", "dependencies": { "command-line-args": "^6.0.0", diff --git a/tools/syn2mas/package.json b/tools/syn2mas/package.json index ce3d21386..44476e313 100644 --- a/tools/syn2mas/package.json +++ b/tools/syn2mas/package.json @@ -1,6 +1,6 @@ { "name": "@vector-im/syn2mas", - "version": "0.13.0-rc.1", + "version": "0.13.0-rc.2", "description": "A tool to migrate Synapse users and sessions to the Matrix Authentication Service", "license": "AGPL-3.0-only", "author": "Matrix.org", diff --git a/translations/cs.json b/translations/cs.json index 2acaa05d2..d4b3b1803 100644 --- a/translations/cs.json +++ b/translations/cs.json @@ -6,7 +6,7 @@ "create_account": "Vytvořit účet", "sign_in": "Přihlásit se", "sign_out": "Odhlásit", - "skip": "Skip", + "skip": "Přeskočit", "start_over": "Začít znovu", "submit": "Odeslat" }, @@ -55,8 +55,8 @@ "new": "Nové heslo" }, "choose_display_name": { - "description": "This is the name other people will see. You can change this at any time.", - "headline": "Choose your display name" + "description": "To je jméno, které uvidí ostatní lidé. Můžete to kdykoli změnit.", + "headline": "Zvolte zobrazované jméno" }, "consent": { "client_wants_access": "%(client_name)s na adrese %(redirect_uri)s chce získat přístup k vašemu účtu.", @@ -87,8 +87,8 @@ } }, "email_in_use": { - "description": "If you have forgotten your account credentials, you can recover your account. You can also start over and use a different email address.", - "title": "The email address %(email)s is already in use" + "description": "Pokud jste zapomněli přihlašovací údaje k účtu, můžete účet obnovit. Můžete také začít znovu a použít jinou e-mailovou adresu.", + "title": "E-mailová adresa %(email)s je již používána" }, "emails": { "greeting": "Dobrý den, %(username)s,", diff --git a/translations/de.json b/translations/de.json index 641e2929f..780f50aa5 100644 --- a/translations/de.json +++ b/translations/de.json @@ -6,7 +6,7 @@ "create_account": "Konto erstellen", "sign_in": "Anmelden", "sign_out": "Abmelden", - "skip": "Skip", + "skip": "Überspringen", "start_over": "Von vorne anfangen", "submit": "Absenden" }, @@ -55,8 +55,8 @@ "new": "Neues Passwort" }, "choose_display_name": { - "description": "This is the name other people will see. You can change this at any time.", - "headline": "Choose your display name" + "description": "Dies ist der Name, den andere Leute sehen werden. Sie können dies jederzeit ändern.", + "headline": "Wähle deinen Anzeigenamen" }, "consent": { "client_wants_access": "%(client_name)s auf %(redirect_uri)s möchte auf Ihr Konto zugreifen.", @@ -87,8 +87,8 @@ } }, "email_in_use": { - "description": "If you have forgotten your account credentials, you can recover your account. You can also start over and use a different email address.", - "title": "The email address %(email)s is already in use" + "description": "Wenn Sie Ihre Kontoinformationen vergessen haben, können Sie Ihr Konto wiederherstellen. Sie können auch von vorne beginnen und eine andere E-Mail-Adresse verwenden.", + "title": "Die E-Mail-Adresse %(email)s wird bereits verwendet" }, "emails": { "greeting": "Hallo %(username)s,", diff --git a/translations/et.json b/translations/et.json index 4c9f9ca79..9c8d3eb69 100644 --- a/translations/et.json +++ b/translations/et.json @@ -6,7 +6,7 @@ "create_account": "Loo konto", "sign_in": "Logi sisse", "sign_out": "Logi välja", - "skip": "Skip", + "skip": "Jäta vahele", "start_over": "Alusta uuesti", "submit": "Saada" }, @@ -55,8 +55,8 @@ "new": "Uus salasõna" }, "choose_display_name": { - "description": "This is the name other people will see. You can change this at any time.", - "headline": "Choose your display name" + "description": "Sellise nimena näevad sind kõik teised kasutajad. Seda saad hiljem alati muuta.", + "headline": "Vali oma kuvatav nimi" }, "consent": { "client_wants_access": "%(client_name)s aadressil %(redirect_uri)s soovib ligipääsu sinu kasutajakontole.", @@ -87,8 +87,8 @@ } }, "email_in_use": { - "description": "If you have forgotten your account credentials, you can recover your account. You can also start over and use a different email address.", - "title": "The email address %(email)s is already in use" + "description": "Kui sa oled unustanud oma konto kasutajanime ja/või salasõna, siis on sul võimalik taastada ligipääs oma kasutajakontole. Lisaks saad uue e-posti aadressi abil alustada nullist.", + "title": "E-posti aadress %(email)s on juba kasutusel" }, "emails": { "greeting": "Tere %(username)s,", @@ -186,7 +186,7 @@ "call_to_login": "Sul on kasutajakonto juba olemas?", "continue_with_email": "Jätka e-posti aadressiga", "create_account": { - "description": "Alustamiseks palun loo kasutajakonto:", + "description": "Jätkamiseks palun vali kasutajanimi.", "heading": "Loo kasutajakonto" }, "sign_in_instead": "Siis logi sisse", diff --git a/translations/sv.json b/translations/sv.json index 46f102fc9..ca0a26490 100644 --- a/translations/sv.json +++ b/translations/sv.json @@ -6,7 +6,7 @@ "create_account": "Skapa konto", "sign_in": "Logga in", "sign_out": "Logga ut", - "skip": "Skip", + "skip": "Hoppa över", "start_over": "Börja om", "submit": "Skicka in" }, @@ -55,8 +55,8 @@ "new": "Nytt lösenord" }, "choose_display_name": { - "description": "This is the name other people will see. You can change this at any time.", - "headline": "Choose your display name" + "description": "Detta är namnet andra människor kommer att se. Du kan ändra detta när som helst.", + "headline": "Välj ditt visningsnamn" }, "consent": { "client_wants_access": "%(client_name)s%(redirect_uri)s vill få tillgång till ditt konto.", @@ -87,8 +87,8 @@ } }, "email_in_use": { - "description": "If you have forgotten your account credentials, you can recover your account. You can also start over and use a different email address.", - "title": "The email address %(email)s is already in use" + "description": "Om du har glömt dina kontouppgifter kan du återställa ditt konto. Du kan också börja om och använda en annan e-postadress.", + "title": "E-postadressen %(email)s är redan i bruk" }, "emails": { "greeting": "Hej %(username)s,", diff --git a/translations/uk.json b/translations/uk.json index 9fd4c6237..37ca1733b 100644 --- a/translations/uk.json +++ b/translations/uk.json @@ -6,7 +6,7 @@ "create_account": "Створити обліковий запис", "sign_in": "Увійти", "sign_out": "Вийти", - "skip": "Skip", + "skip": "Пропустити", "start_over": "Розпочати знову", "submit": "Надіслати" }, @@ -55,8 +55,8 @@ "new": "Новий пароль" }, "choose_display_name": { - "description": "This is the name other people will see. You can change this at any time.", - "headline": "Choose your display name" + "description": "Це ім'я, яке побачать інші люди. Ви можете змінити його в будь-який час.", + "headline": "Виберіть своє ім'я для відображення" }, "consent": { "client_wants_access": "%(client_name)s за %(redirect_uri)s хоче звернутися до вашого облікового запису.", @@ -87,8 +87,8 @@ } }, "email_in_use": { - "description": "If you have forgotten your account credentials, you can recover your account. You can also start over and use a different email address.", - "title": "The email address %(email)s is already in use" + "description": "Якщо ви забули свої облікові дані, ви можете відновити обліковий запис. Ви також можете почати спочатку та використати іншу електронну адресу.", + "title": "Адреса електронної пошти %(email)s вже використовується" }, "emails": { "greeting": "Вітаю %(username)s,",