diff --git a/angular.json b/angular.json index d7367a18..ec4fff39 100644 --- a/angular.json +++ b/angular.json @@ -136,13 +136,15 @@ "extract-i18n": { "builder": "ng-extract-i18n-merge:ng-extract-i18n-merge", "options": { - "browserTarget": "glitchtip-frontend:build", "format": "xlf2", "outputPath": "src/locale", "targetFiles": [ "../locale/messages.fr.xlf", "../locale/messages.nb.xlf" - ] + ], + "buildTarget": "glitchtip-frontend:build", + "prettyNestedTags": true, + "sort": "stableAppendNew" } }, "test": { @@ -274,7 +276,11 @@ "defaultConfiguration": "development" }, "extract-i18n": { - "builder": "@angular/build:extract-i18n" + "builder": "@angular/build:extract-i18n", + "options": { + "prettyNestedTags": true, + "sort": "stableAppendNew" + } }, "test": { "builder": "@angular/build:karma", diff --git a/bin/convert-xliff.js b/bin/convert-xliff.js new file mode 100644 index 00000000..eba35dc0 --- /dev/null +++ b/bin/convert-xliff.js @@ -0,0 +1,115 @@ +const fs = require("fs"); +const path = require("path"); +const xliff = require("xliff"); + +// --- Configuration --- +const sourceDir = "src/locale"; +const destDir = "src/assets/i18n"; +const localeFileRegex = /^messages\.([a-zA-Z-]+)\.xlf$/; +// --------------------- + +/** + * Flattens the structured translation object/array from the xliff library + * into a single string with Angular-style placeholders. + */ +function flattenTranslation(target) { + if (typeof target === "string") { + return target; + } + if (!Array.isArray(target)) { + target = [target]; + } + return target + .map((part) => { + if (typeof part === "string") { + return part; + } + if (typeof part === "object" && part !== null) { + const tagType = Object.keys(part)[0]; + const tagData = part[tagType]; + if (!tagData) return ""; + if (tagData.equivStart && tagData.equivEnd) { + const startPlaceholder = `{$${tagData.equivStart}}`; + const endPlaceholder = `{$${tagData.equivEnd}}`; + const innerContent = flattenTranslation(tagData.contents || ""); + return `${startPlaceholder}${innerContent}${endPlaceholder}`; + } + if (tagData.equiv) { + return `{$${tagData.equiv}}`; + } + } + return ""; + }) + .join(""); +} + +/** + * Converts a single XLIFF file to a JSON translation file. + * @param {string} sourcePath - Full path to the source .xlf file. + * @param {string} destPath - Full path for the destination .json file. + */ +async function convertFile(sourcePath, destPath) { + console.log(`\nProcessing: ${sourcePath}`); + try { + const xliffContent = fs.readFileSync(sourcePath, "utf8"); + const xliffJs = await xliff.xliff2js(xliffContent); + + const translations = {}; + const fileKey = Object.keys(xliffJs.resources)[0]; + const file = xliffJs.resources[fileKey]; + + for (const id in file) { + if (file.hasOwnProperty(id)) { + const rawTarget = file[id].target; + if (rawTarget !== undefined && rawTarget !== null) { + translations[id] = flattenTranslation(rawTarget); + } + } + } + + fs.writeFileSync(destPath, JSON.stringify(translations, null, 2)); + console.log(`✅ Success -> ${destPath}`); + } catch (error) { + console.error(`❌ Error processing ${sourcePath}:`); + console.error(error); + } +} + +/** + * Finds and processes all locale files in the source directory. + */ +async function processAllLocales() { + console.log("Starting automated locale conversion..."); + + // Ensure the destination directory exists, create it if not. + if (!fs.existsSync(destDir)) { + fs.mkdirSync(destDir, { recursive: true }); + console.log(`Created destination directory: ${destDir}`); + } + + const files = fs.readdirSync(sourceDir); + let processedCount = 0; + + for (const filename of files) { + const match = filename.match(localeFileRegex); + if (match) { + const locale = match[1]; // e.g., "fr-FR" or "es" + const sourcePath = path.join(sourceDir, filename); + const destFilename = `messages.${locale}.json`; + const destPath = path.join(destDir, destFilename); + + await convertFile(sourcePath, destPath); + processedCount++; + } + } + + if (processedCount > 0) { + console.log(`\n🏁 Finished. Processed ${processedCount} locale file(s).`); + } else { + console.log( + `\n⚠️ No locale files found in "${sourceDir}" matching the pattern "messages..xlf".`, + ); + } +} + +processAllLocales(); diff --git a/bin/update-i18n.sh b/bin/update-i18n.sh deleted file mode 100755 index 6182c35a..00000000 --- a/bin/update-i18n.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -bin/xliff-to-json/xliff-to-json src/locale/ -mv src/locale/*.json src/assets/i18n/ diff --git a/bin/xliff-to-json/app.js b/bin/xliff-to-json/app.js deleted file mode 100644 index 02ebfea3..00000000 --- a/bin/xliff-to-json/app.js +++ /dev/null @@ -1,122 +0,0 @@ -var fs = require("fs"); -var path = require("path"); -const xliff2js = require("xliff/xliff2js"); -const targetOfjs = require("xliff/targetOfjs"); -const utils = require("./utils"); - -// function to find all files in a directory with a specific extension -function findByExt(base, exts, files, result) { - files = files || fs.readdirSync(base); - result = result || []; - - files.forEach(function (file) { - var newbase = path.join(base, file); - if (!fs.statSync(newbase).isDirectory()) { - for (let i = 0; i < exts.length; i++) { - const ext = exts[i]; - if (file.substr(-1 * (ext.length + 1)) == "." + ext) { - result.push(newbase); - break; - } - } - } - }); - return result; -} - -/** Based on https://developapa.com/angular-localize/ */ -function jsonAngularCompat(xliffContent) { - return Object.keys(xliffContent).reduce((result, current) => { - if (typeof xliffContent[current] === "string") { - result[current] = xliffContent[current]; - } else { - result[current] = xliffContent[current] - .map((entry) => { - if (typeof entry === "string") { - return entry; - } else { - if (entry.Standalone) { - return `{$${entry.Standalone["equiv"]}}`; - } else if (entry.Span) { - return `{$${entry.Span.equivStart}}${entry.Span["contents"]}{$${entry.Span.equivEnd}}`; - } else { - throw Error("Unhandled message content: ", entry) - } - } - }) - .join(""); - } - - return result; - }, {}); -} - -async function convert(input_path) { - if (!input_path) { - return; - } - - if (!fs.existsSync(input_path)) { - console.log(`ERROR: File or directory "${input_path}" not found!`); - return; - } - - const is_dir = fs.lstatSync(input_path).isDirectory(); - - let files = null; - - if (is_dir) { - // gets all files in input with extension 'xlf' or 'xliff' - files = findByExt(input_path, ["xlf", "xliff"]); - } else { - files = [input_path]; - } - - if (files.length === 0) { - console.log(`ERROR: No files found in "${input_path}"!`); - return; - } - - for (let i = 0; i < files.length; i++) { - let file = files[i]; - let base_file_name = file.replace(/^.*[\\\/]/, ""); - - let file_info = fs.readFileSync(file, "utf8"); - - // getting data - const json_obj = await xliff2js(file_info); - - // got data, now convert to JSON - const res = targetOfjs(json_obj); - const simplifiedJson = jsonAngularCompat(res); - const string_res = JSON.stringify(simplifiedJson, null, 2); - - // writes new JSON file - const new_path = path.join( - is_dir ? input_path : path.dirname(input_path), - base_file_name.substring(0, base_file_name.length - 3) + "json" - ); - if (fs.existsSync(new_path)) { - const old_file = fs.readFileSync(new_path, "utf8"); - if (old_file === string_res) { - console.log( - `INFO: Skipping converting "${file}" to "${new_path}" as the output is equivalent.` - ); - } else { - console.log(`INFO: Overwriting "${file}" with "${new_path}".`); - } - } else { - fs.writeFileSync(new_path, string_res); - console.log(`INFO: Converted "${file}" to "${new_path}".`); - } - } -} - -if (require.main === module) { - const input_path = utils.getPath(false); - convert(input_path); -} - -module.exports = { - convert: convert, -}; diff --git a/bin/xliff-to-json/utils.js b/bin/xliff-to-json/utils.js deleted file mode 100644 index fa446c14..00000000 --- a/bin/xliff-to-json/utils.js +++ /dev/null @@ -1,19 +0,0 @@ -exports.getPath = (using_npm) => { - const args_start_index = using_npm ? 2 : 2; - let input_path = null; - const args = process.argv; - switch (args.length) { - case args_start_index: - input_path = process.cwd(); - console.log('INFO: File or directory not specified, defaulting to current directory.'); - break; - case args_start_index + 1: - input_path = args[args_start_index]; - break; - default: - const base_command = using_npm ? 'xliff-to-json' : 'node app.js' - console.log(`ERROR: Args count mismatch! Usage is: ${base_command} [file or directory]`) - return null; - } - return input_path; -} diff --git a/bin/xliff-to-json/xliff-to-json b/bin/xliff-to-json/xliff-to-json deleted file mode 100755 index 61592450..00000000 --- a/bin/xliff-to-json/xliff-to-json +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env node - -const app = require('./app'); -const utils = require('./utils'); - -const dir = utils.getPath(true); -app.convert(dir); diff --git a/package-lock.json b/package-lock.json index 1372fe6d..b472433c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -85,7 +85,7 @@ "karma-coverage-istanbul-reporter": "~3.0.3", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "^2.1.0", - "ng-extract-i18n-merge": "^2.15.1", + "ng-extract-i18n-merge": "^3.0.0", "openapi-typescript": "^7.8.0", "prettier": "3.5.3", "storybook": "9.0.6", @@ -15278,23 +15278,23 @@ "license": "MIT" }, "node_modules/ng-extract-i18n-merge": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/ng-extract-i18n-merge/-/ng-extract-i18n-merge-2.15.1.tgz", - "integrity": "sha512-vNr+sVySO13imQ1Y7Jwe3JtGKP4Hck4Gzb7i4HxOq9fDLDORDIoazLTiwmZVoW4ZAyqK7kkDavjS0XD+VSMZUA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ng-extract-i18n-merge/-/ng-extract-i18n-merge-3.0.0.tgz", + "integrity": "sha512-vTWtAz6a/wVYxnUMFHp1ur6o4JSLm+LcxdSMV8o8Ml2p5oCsSB4iFd5E6h8Yb8X8D596qyBz0ELgiDmbn4YyRQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "^0.1301.0 || ^0.1401.0 || ^0.1501.0 || ^0.1601.0 || ^0.1700.0 || ^0.1800.0 || ^0.1900.0 || ^0.2000.0", - "@angular-devkit/core": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0", - "@angular-devkit/schematics": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0", - "@schematics/angular": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0", + "@angular-devkit/architect": "^0.2000.0", + "@angular-devkit/core": "^20.0.0", + "@angular-devkit/schematics": "^20.0.0", + "@schematics/angular": "^20.0.0", "xmldoc": "^1.1.3" }, "engines": { - "node": ">=14.0.0" + "node": ">=20.19.0" }, "peerDependencies": { - "@angular-devkit/build-angular": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0" + "@angular/build": "^20.0.0" } }, "node_modules/ngx-markdown": { diff --git a/package.json b/package.json index 130d7c22..70255d99 100644 --- a/package.json +++ b/package.json @@ -20,8 +20,9 @@ "build-stats": "ng build -c production --stats-json", "analyze": "webpack-bundle-analyzer dist/glitchtip-frontend/stats.json", "docs:json": "compodoc -p ./tsconfig.json -e json -d .", + "i18n": "npm run extract-i18n && npm run i18n-create-json", "extract-i18n": "ng extract-i18n", - "i18n-create-json": "bin/xliff-to-json/xliff-to-json src/locale/ && mv src/locale/*.json src/assets/i18n/", + "i18n-create-json": "node bin/convert-xliff.js", "serve:ssr:marketing": "node dist/marketing/server/server.mjs", "storybook": "ng run glitchtip-frontend:storybook", "openapi-typescript": "openapi-typescript http://localhost:8000/api/openapi.json -o src/app/api/api-schema.d.ts --empty-objects-unknown", @@ -105,7 +106,7 @@ "karma-coverage-istanbul-reporter": "~3.0.3", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "^2.1.0", - "ng-extract-i18n-merge": "^2.15.1", + "ng-extract-i18n-merge": "^3.0.0", "openapi-typescript": "^7.8.0", "prettier": "3.5.3", "storybook": "9.0.6", diff --git a/src/assets/i18n/messages.fr.json b/src/assets/i18n/messages.fr.json index 0fa274ae..d6ab6153 100644 --- a/src/assets/i18n/messages.fr.json +++ b/src/assets/i18n/messages.fr.json @@ -15,7 +15,6 @@ "7055509398589474309": "Se connecter avec un compte existant", "4648253303476880511": "Créer un nouveau compte", "4406952910598958793": "Pour continuer, vous devez soit vous connecter avec votre compte existant, soit en créer un nouveau.", - "3961541970784414950": "Une erreur s'est produite lors de la connexion à votre fournisseur d'authentification sociale.", "1095247315180807956": "Vous êtes nouveau sur GlitchTip ?", "1176990449799757498": "Problèmes", "4691887509600985309": "Membres", @@ -44,7 +43,7 @@ "4551866846795587701": "Créer une organisation", "2336550011721758066": "Se connecter", "6627551976444260400": "ou", - "315190807015121967": "Le code doit avoir une longueur de 6 ou 16", + "2152994175880724805": "Le code doit avoir une longueur de 6 ou 16", "6972105223770675605": "Réinitialiser le mot de passe", "1240739868347418586": "Ignorer", "7045123878111147511": "Obligatoire", @@ -60,7 +59,6 @@ "3301086086650990787": "S'inscrire", "5277739594710154939": "Vous avez déjà un compte?", "8520023152129279437": "Connexion", - "3517932573606350122": " Intervalle de test de disponibilité : ", "4426319772533875265": " Paramètres ", "375247309021166846": "Indisponible", "4355002072406321718": "Demande non reçue", @@ -103,26 +101,22 @@ "5715233980836936433": "Donate {$START_LINK} via Liberapay {$CLOSE_LINK}", "5349000458605027240": " Switch to {$START_LINK}Hosted GlitchTip{$CLOSE_LINK}", "3509639242131814864": " Purchase support: {$START_LINK}sales@glitchtip.com{$CLOSE_LINK}", - "1223506099460240555": "There was an error processing your request", - "6410378746872498039": "There were errors while processing your request", "1830742686550996935": "This organization has no projects.", - "79938863716203390": "To add a project to this organization, press the \"Add Project\" button.", + "79938863716203390": "To add a project to this organization, press the \"Add Project\" button.", "8267592046747299006": "You can't see issues for this project because you're not on the team.", "5183247000083361116": "Out of the projects you have selected, you are not a part of that project's team for at least one of them.", "100331146953492785": "Connect your {$INTERPOLATION} project to GlitchTip", "3647474424920112919": "Connect your project to GlitchTip", - "1120098013104989112": "If you go to this project's {$START_LINK} settings page{$CLOSE_LINK}, you can pick a platform. If you do, you'll get more specific instructions about how to get started.", - "6401078118236139749": "Most instructions will have a spot that says \"YOUR-GLITCHTIP-DSN-HERE\". Copy the DSN and paste it into that spot.", + "177080935354192505": "If you go to this project's {$START_LINK} settings page{$CLOSE_LINK}, you can pick a platform. If you do, you'll get more specific instructions about how to get started. ", + "4739937000925855165": "Most instructions will have a spot that says \"YOUR-GLITCHTIP-DSN-HERE\". Copy the DSN and paste it into that spot.", "5874780279351956748": "What's this all about?", "6481795403650848876": "This page is showing instructions on how to connect GlitchTip to your project based on the platform you specified.", "5448343062628656309": "No events match your filters.", "8251107285080064288": "Try changing your search parameters to get something to show here.", "1002135012519641907": "You have multiple projects selected. Select a single project to learn more about why there's nothing here.", - "5010578757780115993": "Settings for {$INTERPOLATION}", "4388879716045736175": "Note", "3821671973040323145": " Because you are an admin for {$INTERPOLATION}, you have access to all of its projects. However, if you want to view issues for {$INTERPOLATION_1}, you must be a member of one of its teams. ", "5621052107213107389": "Update Project", - "365917971431677426": "Enter a project name", "5923980840626905087": " Platform Documentation ", "7033296732013526864": "Client Keys (DSN)", "1744184913467319832": " Data Source Name: The code that connects your project to GlitchTip. Install a library into your project, then configure it with the DSN so that it knows how to send errors to your GlitchTip account. ", @@ -137,13 +131,13 @@ "4605329245463156030": "{$START_BOLD_TEXT}Performance:{$CLOSE_BOLD_TEXT} Each time your app sends GlitchTip a transaction report for a tracked activity on your app", "44869671307620538": "{$START_BOLD_TEXT}Releases:{$CLOSE_BOLD_TEXT} Each megabyte of file storage is counted as an event", "7819314041543176992": "Close", - "6940348790913679018": "To add a project to this organization, press the \"Create New Project\" button.", + "6940348790913679018": "To add a project to this organization, press the \"Create New Project\" button.", "3834295552674710150": "In order to use GlitchTip, you'll need to create an organization.", "6960036943669975538": "Create new project in {$INTERPOLATION}", "1935221132513179654": "Error tracking", "2336062695979702768": "Unlimited projects", "6204819636508367774": "Unlimited team members", - "4894116049835995028": "Questions about subscriptions? Need assistance, or a bigger plan? Contact us at {$START_LINK}[object Object]{$CLOSE_LINK}.", + "4894116049835995028": "Questions about subscriptions? Need assistance, or a bigger plan? Contact us at {$START_LINK}{$INTERPOLATION}{$CLOSE_LINK}.", "2506462652585445837": "You have selected the free plan. Please consider making a monthly {$START_LINK}donation{$CLOSE_LINK} to help keep open source development sustainable. Thank you for choosing GlitchTip!", "1109945939275542736": "This organization has an active subscription to GlitchTip. Thank you!", "5363625141068095814": "This organization has a trial subscription to GlitchTip.", @@ -153,21 +147,19 @@ "105639553198587677": "Uptime events:", "2333988009900140990": "Performance events:", "6168919365016053724": "File storage:", - "7229999489442894650": "Total {$START_LINK}events{$CLOSE_LINK} used in billing period: {$INTERPOLATION}", + "1651520185990416775": "Total {$START_LINK}events{$CLOSE_LINK} used in billing period: {$INTERPOLATION}", "1098433909560821849": "Start date for this plan: {$INTERPOLATION}", "1219619838898772490": "Plan cost: {$INTERPOLATION}", "5875130684997376720": "Billing", "810888510148304696": "Automatic", "2432384855929218388": "Send invoice", "5618100320383468888": "Billing period: {$INTERPOLATION} to {$INTERPOLATION_1}", - "6147245107718647120": "If you have questions about your subscription, please contact us at {$START_LINK}[object Object]{$CLOSE_LINK}.", - "6095052631454715389": "Manage Subscription", + "7486830422791899026": "If you have questions about your subscription, please contact us at {$START_LINK}{$INTERPOLATION}{$CLOSE_LINK}. ", "5799782740550832490": "This organization does not have an active subscription to GlitchTip. Pick a plan to get started.", "2115863840021276098": "Now that you have an organization and a subscription, create a project.", "2167503793894173335": "Create a New Team", "6240182255609880044": "Your team slug can only consist of letters, numbers, underscores and/or hyphens.", "182653714972067036": "Enter a valid slug to create a team", - "6234831298944462737": "Back to Teams", "5105557512709552795": "Add Member", "3348547714642337740": "No members", "5432975988429346472": "This team doesn't have any members", @@ -183,13 +175,12 @@ "4687980611669913181": "You don't have any teams set up. Teams determine which users have access to projects in your organization.", "6560990714812373531": "To create a new team, press the \"Create Team\" button in the upper right.", "4358157694468493157": "Other Teams", - "2405706490874342359": " If you ever lose access to your codes, you can recover your account with your {$START_TAG_STRONG}backup codes{$CLOSE_TAG_STRONG}. ", + "9153853260021860021": "If you ever lose access to your codes, you can recover your account with your {$START_TAG_STRONG}backup codes{$CLOSE_TAG_STRONG}.", "8951128623878467862": "Preferences", "5279770905523465379": "Select a valid time zone", - "8433883189750412090": "You have been invited to join{$START_TAG_STRONG}[object Object]{$CLOSE_TAG_STRONG} so you can keep track of errors.", + "8433883189750412090": "You have been invited to join{$START_TAG_STRONG}{$INTERPOLATION}{$CLOSE_TAG_STRONG} so you can keep track of errors.", "4185629687342786413": "The account you're logged into is already a part of this organization. You might want to {$START_LINK}log out{$CLOSE_LINK}, then create an account for or log into the account that this invite link was intended for.", "6921336596257236722": "New version available. Load New Version?", - "6813159840018659686": "Back to Members", "4768749765465246664": "Email", "4145496584631696119": "Role", "231679111972850796": "Added", @@ -203,5 +194,150 @@ "6146979090477797496": " The account owner has access to the organization's GlitchTip subscription settings. If you are the current account owner or have an owner role, you may transfer ownership to this member. ", "5909691734964157223": " This member is the organization account owner and has access to the organization's GlitchTip subscription settings. ", "3916787140877704867": "Team(s)", - "9208909205064884220": "This user isn't on any teams." -} + "9208909205064884220": "This user isn't on any teams.", + "1398754421418372278": "Monitor Name", + "7307117116794596244": "Monitor type", + "1418979860895365047": " GlitchTip will \"ping\" the specified URL using an HTTP HEAD request with no payload. ", + "4970236371480835408": " GlitchTip will send an HTTP POST request to the specified URL. If the expected response is not received, the site will be marked as Down. ", + "7679156164610222177": " GlitchTip will send an HTTP GET request to the specified URL. If the expected response is not received, the site will be marked as Down. ", + "2118666744161927873": "GlitchTip will await requests from your site to ensure it is active. If it doesn't receive the request, the site will be marked as Down.", + "1312433286376470649": "Site URL", + "1107238992361664159": "Enter a valid URL with protocol (ex. https://example.com)", + "8190727095346221313": "Associated Project", + "6910864712437104509": "Uptime email notifications are sent to the team assigned to the associated project.", + "3335933778689867657": "Expected Status", + "8098214202153793679": " The quantity needs to be greater than or equal to 100. ", + "3255939212816298806": "Enter a status code number ", + "3802089991568977129": "Interval (seconds)", + "8658719885168030493": "Must be 60 or higher.", + "2168400886938239735": "Enter an integer.", + "5956316725115867558": "Timeout", + "5049957255900483968": "Enter an integer between 1 and 60.", + "3724940541438351467": "Time in seconds GlitchTip will wait for a response from your app. Defaults to 20 seconds.", + "6164834099500157112": "Unable to log in with provided credentials.", + "4591000937604211863": "500 Server Error", + "960665565485640516": "Something went wrong", + "3221948488301825969": "Issue not found", + "5478056060243048045": "This may be because the URL is pointing to an issue that doesn't exist or was deleted.", + "6306074632981769484": "It's also possible that this issue was reported to a project that you are not able to access.", + "4841998368096526659": "View all issues in {$INTERPOLATION}", + "8916408973006340984": "GlitchTip {$INTERPOLATION}", + "6582573664846559511": "Change Password", + "1846542227840529109": "Current Password", + "8483269670688589838": "Your current is required to change your password", + "1221596867309460035": "New Password", + "6796247291544680076": "Type in your new password", + "911145468998987410": "Confirm New Password", + "2172491100431008170": "Your passwords don't match", + "7994060186123483149": "Your new password has been saved.", + "1944173575291952346": "Supports Slack, Microsoft Teams, Rocket.Chat, and more", + "7135122203377475337": "Use only letters, numbers, underscores and/or hyphens", + "3811407979880504315": "System Info", + "4052010728262248283": "Backend configuration", + "4895326106573044490": "Documentation", + "451200972202964504": "Show all checks", + "6735249038962761269": "Show incidents", + "8316175416734096923": " Uptime check interval: {$INTERPOLATION} seconds ", + "7464216857382824881": "GlitchTip will check to make sure the port at the specified URL is accessible.", + "7276967761111129879": "URL may not be more than {$INTERPOLATION} characters", + "8797007391593964199": "Enter a host name and port (ex. example.com:80)", + "2118438278570914652": "Expected Response Body", + "830996102207481987": "If string isn't found in response body, the monitor will report as down", + "7704379049286251361": "Your current password is incorrect.", + "6373761293150491680": "Return to initial login page", + "7308123627289097296": "Unknown problem using Social Authentication", + "1538995058317034003": "Device activation was unsuccessful.", + "4663796819689603423": "Regenerate backup codes", + "4622788799334711424": "If you have lost your backup codes you can generate new ones, invalidating all previous codes. {$START_TAG_STRONG}Print out these new codes or save them someplace safe.{$CLOSE_TAG_STRONG}", + "6430072333383968514": "Regenerate codes", + "2167241020391967059": "Download or copy a list of backup codes. If you ever lose your phone, each of these recovery codes can be used one time to regain access to your account. {$START_TAG_STRONG}Print them out or save them someplace safe.{$CLOSE_TAG_STRONG}", + "3099741642167775297": "Download", + "4323470180912194028": "Copy", + "2617201451708142937": "Enter one of the backup codes to confirm that you have saved them:", + "305233477996347721": "Code must be 8 digits", + "187187500641108332": "{$INTERPOLATION}", + "9053544882734151327": "Provide a name for your device to complete registration.", + "8489391551429309663": "Your security key has been registered.", + "3677197196283475273": "You have successfully disconnected your social auth account", + "8434191191397593923": "Your account has no password set up.", + "1431416938026210429": "Password", + "3782563238994348625": "Confirm password", + "1017066204420437090": "Set New Password", + "6359908116364527838": "Project Alerts", + "8222747160094057941": "If you have an account with GlitchTip, an email has been sent to the email address you provided.", + "3084686770297988088": "Return to login", + "5966633327405012171": " If an {$START_TAG_SPAN}event{$CLOSE_TAG_SPAN} happens", + "3595833482001508466": "{$INTERPOLATION} in", + "2045774391739296209": "Timespan", + "2582356557395842562": "Enter an integer greater than 0.", + "5718859187781924335": "in {$INTERPOLATION}, send an alert.", + "2342149656142683501": "If an uptime monitor is triggered.", + "3695251475145999588": "time", + "7074388989229825051": "times", + "5405071297219936776": "minute", + "982745398054129955": "minutes", + "168526128992551302": "You have been added to {$PH}.", + "8848756484835270621": " There was an error, probably because you tried to join an organization that you're already a part of. ", + "1874370182429640371": " There was an error. Try again later. ", + "8396934914861741559": " This invitation link expired or is invalid. Please issue a new invitation request. ", + "1417995330725483974": "The name of your organization has been updated to {$PH}", + "6566431624195050143": "Only users with a role of manager or above can update organizations.", + "7131676118619088880": "Only users with a role of manager or above can delete organizations.", + "5974237347502898380": "Email invites have been sent to the addresses you provided.", + "7753116604377136747": "An email invite has been sent to", + "3944070578105872601": "There was an error. Please try again.", + "7823379790822798031": "Too many invitations attempted. Not all invitations were sent. Please try again later", + "7831613273502162805": "Too many invitations attempted. Please try again later.", + "2499193577100705366": "You have left {$PH}", + "4000360891880872696": "You joined {$PH}", + "712588482447231923": "Your team slug has been changed to #{$PH}", + "2815134129784182138": "Something went wrong. Try reloading the page.", + "6270991639782521904": "There was an error deleting this comment. Please try again.", + "1655069838040430737": "Event Details", + "689538422335046890": "User Reports", + "855933412451231239": "Comments ", + "3807699453257291879": "Comments", + "1554838717931748985": "Merged", + "525202038336328287": "Issue {$PH} has been deleted.", + "3206542606001340679": "Merge", + "6318415796179463435": "Merge issues", + "9058835702501543425": "This action will merge your selected issues into a single issue.", + "2347464874722958215": "There was an error when attempting to load issues.", + "2764329308967524576": "Error, unable to update issue", + "1277316148999198227": "Unmerge", + "21729799810425671": "No title found for this merged issue", + "3869317699802216328": "Unable to unmerge selected hashes.", + "7828159368784233084": "Unmerged seleced hashes.", + "339150322539484059": "Finalizing your login", + "4461430420011995077": "Delete Auth Token", + "3333500469510040036": "Are you sure you want to delete this authentication token?", + "7022070615528435141": "Delete", + "5963361173550459881": " There was an error deleting your token, please try again. ", + "2420295336574381180": "Confirming email…", + "2047102130540283011": " This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request. ", + "344300948538394896": "Your email address has been confirmed.", + "7233514443257462364": "There was a problem. Try again later.", + "3685661039544326124": "{$PH} has been removed from your account.", + "8983558994144621668": "{$PH} is now your primary email address.", + "781140390035637726": "Connecting to @sentry/wizard…", + "1232610167578746045": "Unable to connect to @sentry/wizard", + "5521710262088082373": "Successfully connected to @sentry/wizard.", + "6776045478354313726": "Successfully updated {$PH}'s role to {$PH_1}", + "45527735672619032": "Successfully transferred organization account ownership to {$PH}.", + "627180059350047308": "Error attempting to remove {$PH} from organization", + "2323166636157815284": "Successfully removed {$PH} from organization", + "8913962995110224982": "Remove organization", + "2110065830957672842": "Are you sure you want to remove {$PH}? You will permanently lose all projects and teams associated with it.", + "4814285799071780083": "Remove", + "3976301030203826563": "You lack permission to create a new project", + "917481646578897614": "{$PH} has been created", + "6193408969997737484": "There was an error loading your alerts. Try refreshing the page.", + "806152040251876311": "Success: Your recipient has been deleted", + "8592656378036261137": "Your project has been sucessfully deleted", + "7589121772315788199": "The name of your project has been updated to {$PH}", + "8455768552389044425": "You do not have permission to create a team", + "4935617373107665748": "{$PH} has been added to #{$PH_1}", + "8781927759674212057": "{$PH} has been removed from #{$PH_1}", + "751755198881789855": "Must be less than 32768.", + "7167798427319552621": "There was an error retrieving your uptime monitors." +} \ No newline at end of file diff --git a/src/assets/i18n/messages.nb.json b/src/assets/i18n/messages.nb.json index 7c6bb0de..ee312ac6 100644 --- a/src/assets/i18n/messages.nb.json +++ b/src/assets/i18n/messages.nb.json @@ -15,7 +15,6 @@ "4406952910598958793": "For å fortsette må du enten logge inn med en eksisterende konto, eller lage en ny.", "4648253303476880511": "Lag ny konto", "7055509398589474309": "Logg inn med eksisterende konto", - "3961541970784414950": "Det oppsto en feil ved tilkobling til ekstern autentiseringstilbyder.", "1176990449799757498": "Problemer", "6312371663219634282": "Merk som løst", "6722197117273372334": "Åpne igjen", @@ -31,7 +30,7 @@ "22386476955637539": "Skriv inn koden fra autentiserings-appen på telefonen din. Hvis du har mistet telefonen, skriv inn en av gjenopprettingskodene.", "7451233168808859381": "Verifikasjonskode", "7045123878111147511": "Påkrevd", - "315190807015121967": "Koden må være 6 eller 16 tegn lang", + "2152994175880724805": "Koden må være 6 eller 16 tegn lang", "2454050363478003966": "Logg inn", "9040838861188606319": "Logg inn med sikkerhetsnøkkel i stedet", "4253861884986496315": "Epost er påkrevd for å logge inn", @@ -68,7 +67,6 @@ "4355002072406321718": "Forespørsel ikke mottatt", "663614338028506842": "Responstid", "8470311110519302542": "Ingen data", - "3517932573606350122": " Intervall for sjekk av oppetid: {$INTERPOLATION}", "4426319772533875265": " Innstillinger ", "6998318993417414160": "Responstid", "8154453727027523235": "Varsler", @@ -103,26 +101,22 @@ "5715233980836936433": "Donate {$START_LINK} via that Liberapay {$CLOSE_LINK}", "5349000458605027240": " Switch to {$START_LINK}Hosted GlitchTip{$CLOSE_LINK}", "3509639242131814864": " Purchase support: {$START_LINK}sales@glitchtip.com{$CLOSE_LINK}", - "1223506099460240555": "There was an error processing your request", - "6410378746872498039": "There were errors while processing your request", "1830742686550996935": "This organization has no projects.", - "79938863716203390": "To add a project to this organization, press the \"Add Project\" button.", + "79938863716203390": "To add a project to this organization, press the \"Add Project\" button.", "8267592046747299006": "You can't see issues for this project because you're not on the team.", "5183247000083361116": "Out of the projects you have selected, you are not a part of that project's team for at least one of them.", "100331146953492785": "Connect your {$INTERPOLATION} project to GlitchTip", "3647474424920112919": "Connect your project to GlitchTip", - "1120098013104989112": "If you go to this project's {$START_LINK} settings page{$CLOSE_LINK}, you can pick a platform. If you do, you'll get more specific instructions about how to get started.", - "6401078118236139749": "Most instructions will have a spot that says \"YOUR-GLITCHTIP-DSN-HERE\". Copy the DSN and paste it into that spot.", + "177080935354192505": "If you go to this project's {$START_LINK} settings page{$CLOSE_LINK}, you can pick a platform. If you do, you'll get more specific instructions about how to get started. ", + "4739937000925855165": "Most instructions will have a spot that says \"YOUR-GLITCHTIP-DSN-HERE\". Copy the DSN and paste it into that spot.", "5874780279351956748": "What's this all about?", "6481795403650848876": "This page is showing instructions on how to connect GlitchTip to your project based on the platform you specified.", "5448343062628656309": "No events match your filters.", "8251107285080064288": "Try changing your search parameters to get something to show here.", "1002135012519641907": "You have multiple projects selected. Select a single project to learn more about why there's nothing here.", - "5010578757780115993": "Settings for {$INTERPOLATION}", "4388879716045736175": "Note", "3821671973040323145": " Because you are an admin for {$INTERPOLATION}, you have access to all of its projects. However, if you want to view issues for {$INTERPOLATION_1}, you must be a member of one of its teams. ", "5621052107213107389": "Update Project", - "365917971431677426": "Enter a project name", "5923980840626905087": " Platform Documentation ", "7033296732013526864": "Client Keys (DSN)", "1744184913467319832": " Data Source Name: The code that connects your project to GlitchTip. Install a library into your project, then configure it with the DSN so that it knows how to send errors to your GlitchTip account. ", @@ -137,13 +131,13 @@ "4605329245463156030": "{$START_BOLD_TEXT}Performance:{$CLOSE_BOLD_TEXT} Each time your app sends GlitchTip a transaction report for a tracked activity on your app", "44869671307620538": "{$START_BOLD_TEXT}Releases:{$CLOSE_BOLD_TEXT} Each megabyte of file storage is counted as an event", "7819314041543176992": "Close", - "6940348790913679018": "To add a project to this organization, press the \"Create New Project\" button.", + "6940348790913679018": "To add a project to this organization, press the \"Create New Project\" button.", "3834295552674710150": "In order to use GlitchTip, you'll need to create an organization.", "6960036943669975538": "Create new project in {$INTERPOLATION}", "1935221132513179654": "Error tracking", "2336062695979702768": "Unlimited projects", "6204819636508367774": "Unlimited team members", - "4894116049835995028": "Questions about subscriptions? Need assistance, or a bigger plan? Contact us at {$START_LINK}[object Object]{$CLOSE_LINK}.", + "4894116049835995028": "Questions about subscriptions? Need assistance, or a bigger plan? Contact us at {$START_LINK}{$INTERPOLATION}{$CLOSE_LINK}.", "2506462652585445837": "You have selected the free plan. Please consider making a monthly {$START_LINK}donation{$CLOSE_LINK} to help keep open source development sustainable. Thank you for choosing GlitchTip!", "1109945939275542736": "This organization has an active subscription to GlitchTip. Thank you!", "5363625141068095814": "This organization has a trial subscription to GlitchTip.", @@ -153,21 +147,19 @@ "105639553198587677": "Uptime events:", "2333988009900140990": "Performance events:", "6168919365016053724": "File storage:", - "7229999489442894650": "Total {$START_LINK}events{$CLOSE_LINK} used in billing period: {$INTERPOLATION}", + "1651520185990416775": "Total {$START_LINK}events{$CLOSE_LINK} used in billing period: {$INTERPOLATION}", "1098433909560821849": "Start date for this plan: {$INTERPOLATION}", "1219619838898772490": "Plan cost: {$INTERPOLATION}", "5875130684997376720": "Billing", "810888510148304696": "Automatic", "2432384855929218388": "Send invoice", "5618100320383468888": "Billing period: {$INTERPOLATION} to {$INTERPOLATION_1}", - "6147245107718647120": "If you have questions about your subscription, please contact us at {$START_LINK}[object Object]{$CLOSE_LINK}.", - "6095052631454715389": "Manage Subscription", + "7486830422791899026": "If you have questions about your subscription, please contact us at {$START_LINK}{$INTERPOLATION}{$CLOSE_LINK}. ", "5799782740550832490": "This organization does not have an active subscription to GlitchTip. Pick a plan to get started.", "2115863840021276098": "Now that you have an organization and a subscription, create a project.", "2167503793894173335": "Create a New Team", "6240182255609880044": "Your team slug can only consist of letters, numbers, underscores and/or hyphens.", "182653714972067036": "Enter a valid slug to create a team", - "6234831298944462737": "Back to Teams", "5105557512709552795": "Add Member", "3348547714642337740": "No members", "5432975988429346472": "This team doesn't have any members", @@ -183,13 +175,12 @@ "4687980611669913181": "You don't have any teams set up. Teams determine which users have access to projects in your organization.", "6560990714812373531": "To create a new team, press the \"Create Team\" button in the upper right.", "4358157694468493157": "Other Teams", - "2405706490874342359": " If you ever lose access to your codes, you can recover your account with your {$START_TAG_STRONG}backup codes{$CLOSE_TAG_STRONG}. ", + "9153853260021860021": "If you ever lose access to your codes, you can recover your account with your {$START_TAG_STRONG}backup codes{$CLOSE_TAG_STRONG}.", "8951128623878467862": "Preferences", "5279770905523465379": "Select a valid time zone", - "8433883189750412090": "You have been invited to join{$START_TAG_STRONG}[object Object]{$CLOSE_TAG_STRONG} so you can keep track of errors.", + "8433883189750412090": "You have been invited to join{$START_TAG_STRONG}{$INTERPOLATION}{$CLOSE_TAG_STRONG} so you can keep track of errors.", "4185629687342786413": "The account you're logged into is already a part of this organization. You might want to {$START_LINK}log out{$CLOSE_LINK}, then create an account for or log into the account that this invite link was intended for.", "6921336596257236722": "New version available. Load New Version?", - "6813159840018659686": "Back to Members", "4768749765465246664": "Email", "4145496584631696119": "Role", "231679111972850796": "Added", @@ -203,5 +194,150 @@ "6146979090477797496": " The account owner has access to the organization's GlitchTip subscription settings. If you are the current account owner or have an owner role, you may transfer ownership to this member. ", "5909691734964157223": " This member is the organization account owner and has access to the organization's GlitchTip subscription settings. ", "3916787140877704867": "Team(s)", - "9208909205064884220": "This user isn't on any teams." -} + "9208909205064884220": "This user isn't on any teams.", + "1398754421418372278": "Monitor Name", + "7307117116794596244": "Monitor type", + "1418979860895365047": " GlitchTip will \"ping\" the specified URL using an HTTP HEAD request with no payload. ", + "4970236371480835408": " GlitchTip will send an HTTP POST request to the specified URL. If the expected response is not received, the site will be marked as Down. ", + "7679156164610222177": " GlitchTip will send an HTTP GET request to the specified URL. If the expected response is not received, the site will be marked as Down. ", + "2118666744161927873": "GlitchTip will await requests from your site to ensure it is active. If it doesn't receive the request, the site will be marked as Down.", + "1312433286376470649": "Site URL", + "1107238992361664159": "Enter a valid URL with protocol (ex. https://example.com)", + "8190727095346221313": "Associated Project", + "6910864712437104509": "Uptime email notifications are sent to the team assigned to the associated project.", + "3335933778689867657": "Expected Status", + "8098214202153793679": " The quantity needs to be greater than or equal to 100. ", + "3255939212816298806": "Enter a status code number ", + "3802089991568977129": "Interval (seconds)", + "8658719885168030493": "Must be 60 or higher.", + "2168400886938239735": "Enter an integer.", + "5956316725115867558": "Timeout", + "5049957255900483968": "Enter an integer between 1 and 60.", + "3724940541438351467": "Time in seconds GlitchTip will wait for a response from your app. Defaults to 20 seconds.", + "6164834099500157112": "Unable to log in with provided credentials.", + "4591000937604211863": "500 Server Error", + "960665565485640516": "Something went wrong", + "3221948488301825969": "Issue not found", + "5478056060243048045": "This may be because the URL is pointing to an issue that doesn't exist or was deleted.", + "6306074632981769484": "It's also possible that this issue was reported to a project that you are not able to access.", + "4841998368096526659": "View all issues in {$INTERPOLATION}", + "8916408973006340984": "GlitchTip {$INTERPOLATION}", + "6582573664846559511": "Change Password", + "1846542227840529109": "Current Password", + "8483269670688589838": "Your current is required to change your password", + "1221596867309460035": "New Password", + "6796247291544680076": "Type in your new password", + "911145468998987410": "Confirm New Password", + "2172491100431008170": "Your passwords don't match", + "7994060186123483149": "Your new password has been saved.", + "1944173575291952346": "Supports Slack, Microsoft Teams, Rocket.Chat, and more", + "7135122203377475337": "Use only letters, numbers, underscores and/or hyphens", + "3811407979880504315": "System Info", + "4052010728262248283": "Backend configuration", + "4895326106573044490": "Documentation", + "451200972202964504": "Show all checks", + "6735249038962761269": "Show incidents", + "8316175416734096923": " Uptime check interval: {$INTERPOLATION} seconds ", + "7464216857382824881": "GlitchTip will check to make sure the port at the specified URL is accessible.", + "7276967761111129879": "URL may not be more than {$INTERPOLATION} characters", + "8797007391593964199": "Enter a host name and port (ex. example.com:80)", + "2118438278570914652": "Expected Response Body", + "830996102207481987": "If string isn't found in response body, the monitor will report as down", + "7704379049286251361": "Your current password is incorrect.", + "6373761293150491680": "Return to initial login page", + "7308123627289097296": "Unknown problem using Social Authentication", + "1538995058317034003": "Device activation was unsuccessful.", + "4663796819689603423": "Regenerate backup codes", + "4622788799334711424": "If you have lost your backup codes you can generate new ones, invalidating all previous codes. {$START_TAG_STRONG}Print out these new codes or save them someplace safe.{$CLOSE_TAG_STRONG}", + "6430072333383968514": "Regenerate codes", + "2167241020391967059": "Download or copy a list of backup codes. If you ever lose your phone, each of these recovery codes can be used one time to regain access to your account. {$START_TAG_STRONG}Print them out or save them someplace safe.{$CLOSE_TAG_STRONG}", + "3099741642167775297": "Download", + "4323470180912194028": "Copy", + "2617201451708142937": "Enter one of the backup codes to confirm that you have saved them:", + "305233477996347721": "Code must be 8 digits", + "187187500641108332": "{$INTERPOLATION}", + "9053544882734151327": "Provide a name for your device to complete registration.", + "8489391551429309663": "Your security key has been registered.", + "3677197196283475273": "You have successfully disconnected your social auth account", + "8434191191397593923": "Your account has no password set up.", + "1431416938026210429": "Password", + "3782563238994348625": "Confirm password", + "1017066204420437090": "Set New Password", + "6359908116364527838": "Project Alerts", + "8222747160094057941": "If you have an account with GlitchTip, an email has been sent to the email address you provided.", + "3084686770297988088": "Return to login", + "5966633327405012171": " If an {$START_TAG_SPAN}event{$CLOSE_TAG_SPAN} happens", + "3595833482001508466": "{$INTERPOLATION} in", + "2045774391739296209": "Timespan", + "2582356557395842562": "Enter an integer greater than 0.", + "5718859187781924335": "in {$INTERPOLATION}, send an alert.", + "2342149656142683501": "If an uptime monitor is triggered.", + "3695251475145999588": "time", + "7074388989229825051": "times", + "5405071297219936776": "minute", + "982745398054129955": "minutes", + "168526128992551302": "You have been added to {$PH}.", + "8848756484835270621": " There was an error, probably because you tried to join an organization that you're already a part of. ", + "1874370182429640371": " There was an error. Try again later. ", + "8396934914861741559": " This invitation link expired or is invalid. Please issue a new invitation request. ", + "1417995330725483974": "The name of your organization has been updated to {$PH}", + "6566431624195050143": "Only users with a role of manager or above can update organizations.", + "7131676118619088880": "Only users with a role of manager or above can delete organizations.", + "5974237347502898380": "Email invites have been sent to the addresses you provided.", + "7753116604377136747": "An email invite has been sent to", + "3944070578105872601": "There was an error. Please try again.", + "7823379790822798031": "Too many invitations attempted. Not all invitations were sent. Please try again later", + "7831613273502162805": "Too many invitations attempted. Please try again later.", + "2499193577100705366": "You have left {$PH}", + "4000360891880872696": "You joined {$PH}", + "712588482447231923": "Your team slug has been changed to #{$PH}", + "2815134129784182138": "Something went wrong. Try reloading the page.", + "6270991639782521904": "There was an error deleting this comment. Please try again.", + "1655069838040430737": "Event Details", + "689538422335046890": "User Reports", + "855933412451231239": "Comments ", + "3807699453257291879": "Comments", + "1554838717931748985": "Merged", + "525202038336328287": "Issue {$PH} has been deleted.", + "3206542606001340679": "Merge", + "6318415796179463435": "Merge issues", + "9058835702501543425": "This action will merge your selected issues into a single issue.", + "2347464874722958215": "There was an error when attempting to load issues.", + "2764329308967524576": "Error, unable to update issue", + "1277316148999198227": "Unmerge", + "21729799810425671": "No title found for this merged issue", + "3869317699802216328": "Unable to unmerge selected hashes.", + "7828159368784233084": "Unmerged seleced hashes.", + "339150322539484059": "Finalizing your login", + "4461430420011995077": "Delete Auth Token", + "3333500469510040036": "Are you sure you want to delete this authentication token?", + "7022070615528435141": "Delete", + "5963361173550459881": " There was an error deleting your token, please try again. ", + "2420295336574381180": "Confirming email…", + "2047102130540283011": " This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request. ", + "344300948538394896": "Your email address has been confirmed.", + "7233514443257462364": "There was a problem. Try again later.", + "3685661039544326124": "{$PH} has been removed from your account.", + "8983558994144621668": "{$PH} is now your primary email address.", + "781140390035637726": "Connecting to @sentry/wizard…", + "1232610167578746045": "Unable to connect to @sentry/wizard", + "5521710262088082373": "Successfully connected to @sentry/wizard.", + "6776045478354313726": "Successfully updated {$PH}'s role to {$PH_1}", + "45527735672619032": "Successfully transferred organization account ownership to {$PH}.", + "627180059350047308": "Error attempting to remove {$PH} from organization", + "2323166636157815284": "Successfully removed {$PH} from organization", + "8913962995110224982": "Remove organization", + "2110065830957672842": "Are you sure you want to remove {$PH}? You will permanently lose all projects and teams associated with it.", + "4814285799071780083": "Remove", + "3976301030203826563": "You lack permission to create a new project", + "917481646578897614": "{$PH} has been created", + "6193408969997737484": "There was an error loading your alerts. Try refreshing the page.", + "806152040251876311": "Success: Your recipient has been deleted", + "8592656378036261137": "Your project has been sucessfully deleted", + "7589121772315788199": "The name of your project has been updated to {$PH}", + "8455768552389044425": "You do not have permission to create a team", + "4935617373107665748": "{$PH} has been added to #{$PH_1}", + "8781927759674212057": "{$PH} has been removed from #{$PH_1}", + "751755198881789855": "Must be less than 32768.", + "7167798427319552621": "There was an error retrieving your uptime monitors." +} \ No newline at end of file diff --git a/src/locale/messages.fr.xlf b/src/locale/messages.fr.xlf index 30a7aabe..825c4f81 100644 --- a/src/locale/messages.fr.xlf +++ b/src/locale/messages.fr.xlf @@ -619,18 +619,6 @@ Purchase support: sales@glitchtip.com - - - There was an error processing your request - There was an error processing your request - - - - - There were errors while processing your request - There were errors while processing your request - - This organization has no projects. @@ -657,8 +645,8 @@ - Connect your project to GlitchTip - Connect your project to GlitchTip + Connect your project to GlitchTip + Connect your project to GlitchTip @@ -667,10 +655,10 @@ Connect your project to GlitchTip - + - If you go to this project's settings page, you can pick a platform. If you do, you'll get more specific instructions about how to get started. - If you go to this project's settings page, you can pick a platform. If you do, you'll get more specific instructions about how to get started. + If you go to this project's settings page, you can pick a platform. If you do, you'll get more specific instructions about how to get started. + If you go to this project's settings page, you can pick a platform. If you do, you'll get more specific instructions about how to get started. @@ -907,22 +895,22 @@ File storage: - + - Total events used in billing period: - Total events used in billing period: + Total events used in billing period: + Total events used in billing period: - Start date for this plan: - Start date for this plan: + Start date for this plan: + Start date for this plan: - Plan cost: - Plan cost: + Plan cost: + Plan cost: @@ -945,20 +933,14 @@ - Billing period: to - Billing period: to + Billing period: to + Billing period: to - + - If you have questions about your subscription, please contact us at . - If you have questions about your subscription, please contact us at . - - - - - Manage Subscription - Manage Subscription + If you have questions about your subscription, please contact us at . + If you have questions about your subscription, please contact us at . @@ -1285,22 +1267,16 @@ Interval (seconds) - + - Must be 60 or higher. - Must be 60 or higher. + Must be 60 or higher. + Must be 60 or higher. - + - Must be less than 86400 (24 hours). - Must be less than 86400 (24 hours). - - - - - Enter an integer. - Enter an integer. + Enter an integer. + Enter an integer. @@ -1365,8 +1341,8 @@ - GlitchTip - GlitchTip + GlitchTip + GlitchTip @@ -1697,5 +1673,389 @@ minutes + + + You have been added to . + You have been added to . + + + + + There was an error, probably because you tried to join an organization that you're already a part of. + There was an error, probably because you tried to join an organization that you're already a part of. + + + + + There was an error. Try again later. + There was an error. Try again later. + + + + + This invitation link expired or is invalid. Please issue a new invitation request. + This invitation link expired or is invalid. Please issue a new invitation request. + + + + + The name of your organization has been updated to + The name of your organization has been updated to + + + + + Only users with a role of manager or above can update organizations. + Only users with a role of manager or above can update organizations. + + + + + Only users with a role of manager or above can delete organizations. + Only users with a role of manager or above can delete organizations. + + + + + Email invites have been sent to the addresses you provided. + Email invites have been sent to the addresses you provided. + + + + + An email invite has been sent to + An email invite has been sent to + + + + + There was an error. Please try again. + There was an error. Please try again. + + + + + Too many invitations attempted. Not all invitations were sent. Please try again later + Too many invitations attempted. Not all invitations were sent. Please try again later + + + + + Too many invitations attempted. Please try again later. + Too many invitations attempted. Please try again later. + + + + + You have left + You have left + + + + + You joined + You joined + + + + + Your team slug has been changed to # + Your team slug has been changed to # + + + + + Something went wrong. Try reloading the page. + Something went wrong. Try reloading the page. + + + + + There was an error deleting this comment. Please try again. + There was an error deleting this comment. Please try again. + + + + + Event Details + Event Details + + + + + User Reports + User Reports + + + + + Comments + Comments + + + + + Comments + Comments + + + + + Merged + Merged + + + + + Issue has been deleted. + Issue has been deleted. + + + + + Merge + Merge + + + + + Merge issues + Merge issues + + + + + This action will merge your selected issues into a single issue. + This action will merge your selected issues into a single issue. + + + + + There was an error when attempting to load issues. + There was an error when attempting to load issues. + + + + + Error, unable to update issue + Error, unable to update issue + + + + + Unmerge + Unmerge + + + + + No title found for this merged issue + No title found for this merged issue + + + + + Unable to unmerge selected hashes. + Unable to unmerge selected hashes. + + + + + Unmerged seleced hashes. + Unmerged seleced hashes. + + + + + Finalizing your login + Finalizing your login + + + + + Delete Auth Token + Delete Auth Token + + + + + Are you sure you want to delete this authentication token? + Are you sure you want to delete this authentication token? + + + + + Delete + Delete + + + + + There was an error deleting your token, please try again. + There was an error deleting your token, please try again. + + + + + Confirming email… + Confirming email… + + + + + This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request. + This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request. + + + + + Your email address has been confirmed. + Your email address has been confirmed. + + + + + There was a problem. Try again later. + There was a problem. Try again later. + + + + + has been removed from your account. + has been removed from your account. + + + + + is now your primary email address. + is now your primary email address. + + + + + Connecting to @sentry/wizard… + Connecting to @sentry/wizard… + + + + + Unable to connect to @sentry/wizard + Unable to connect to @sentry/wizard + + + + + Successfully connected to @sentry/wizard. + Successfully connected to @sentry/wizard. + + + + + Successfully updated 's role to + Successfully updated 's role to + + + + + Successfully transferred organization account ownership to . + Successfully transferred organization account ownership to . + + + + + Error attempting to remove from organization + Error attempting to remove from organization + + + + + Successfully removed from organization + Successfully removed from organization + + + + + Remove organization + Remove organization + + + + + Are you sure you want to remove ? You will permanently lose all projects and teams associated with it. + Are you sure you want to remove ? You will permanently lose all projects and teams associated with it. + + + + + Remove + Remove + + + + + You lack permission to create a new project + You lack permission to create a new project + + + + + has been created + has been created + + + + + There was an error loading your alerts. Try refreshing the page. + There was an error loading your alerts. Try refreshing the page. + + + + + Success: Your recipient has been deleted + Success: Your recipient has been deleted + + + + + Your project has been sucessfully deleted + Your project has been sucessfully deleted + + + + + The name of your project has been updated to + The name of your project has been updated to + + + + + You do not have permission to create a team + You do not have permission to create a team + + + + + has been added to # + has been added to # + + + + + has been removed from # + has been removed from # + + + + + Must be less than 32768. + Must be less than 32768. + + + + + There was an error retrieving your uptime monitors. + There was an error retrieving your uptime monitors. + + \ No newline at end of file diff --git a/src/locale/messages.nb.xlf b/src/locale/messages.nb.xlf index 47101c64..f158c0ae 100644 --- a/src/locale/messages.nb.xlf +++ b/src/locale/messages.nb.xlf @@ -619,18 +619,6 @@ Purchase support: sales@glitchtip.com - - - There was an error processing your request - There was an error processing your request - - - - - There were errors while processing your request - There were errors while processing your request - - This organization has no projects. @@ -657,8 +645,8 @@ - Connect your project to GlitchTip - Connect your project to GlitchTip + Connect your project to GlitchTip + Connect your project to GlitchTip @@ -667,10 +655,10 @@ Connect your project to GlitchTip - + - If you go to this project's settings page, you can pick a platform. If you do, you'll get more specific instructions about how to get started. - If you go to this project's settings page, you can pick a platform. If you do, you'll get more specific instructions about how to get started. + If you go to this project's settings page, you can pick a platform. If you do, you'll get more specific instructions about how to get started. + If you go to this project's settings page, you can pick a platform. If you do, you'll get more specific instructions about how to get started. @@ -907,22 +895,22 @@ File storage: - + - Total events used in billing period: - Total events used in billing period: + Total events used in billing period: + Total events used in billing period: - Start date for this plan: - Start date for this plan: + Start date for this plan: + Start date for this plan: - Plan cost: - Plan cost: + Plan cost: + Plan cost: @@ -945,20 +933,14 @@ - Billing period: to - Billing period: to + Billing period: to + Billing period: to - + - If you have questions about your subscription, please contact us at . - If you have questions about your subscription, please contact us at . - - - - - Manage Subscription - Manage Subscription + If you have questions about your subscription, please contact us at . + If you have questions about your subscription, please contact us at . @@ -1285,22 +1267,16 @@ Interval (seconds) - + - Must be 60 or higher. - Must be 60 or higher. + Must be 60 or higher. + Must be 60 or higher. - + - Must be less than 86400 (24 hours). - Must be less than 86400 (24 hours). - - - - - Enter an integer. - Enter an integer. + Enter an integer. + Enter an integer. @@ -1365,8 +1341,8 @@ - GlitchTip - GlitchTip + GlitchTip + GlitchTip @@ -1697,5 +1673,389 @@ minutes + + + You have been added to . + You have been added to . + + + + + There was an error, probably because you tried to join an organization that you're already a part of. + There was an error, probably because you tried to join an organization that you're already a part of. + + + + + There was an error. Try again later. + There was an error. Try again later. + + + + + This invitation link expired or is invalid. Please issue a new invitation request. + This invitation link expired or is invalid. Please issue a new invitation request. + + + + + The name of your organization has been updated to + The name of your organization has been updated to + + + + + Only users with a role of manager or above can update organizations. + Only users with a role of manager or above can update organizations. + + + + + Only users with a role of manager or above can delete organizations. + Only users with a role of manager or above can delete organizations. + + + + + Email invites have been sent to the addresses you provided. + Email invites have been sent to the addresses you provided. + + + + + An email invite has been sent to + An email invite has been sent to + + + + + There was an error. Please try again. + There was an error. Please try again. + + + + + Too many invitations attempted. Not all invitations were sent. Please try again later + Too many invitations attempted. Not all invitations were sent. Please try again later + + + + + Too many invitations attempted. Please try again later. + Too many invitations attempted. Please try again later. + + + + + You have left + You have left + + + + + You joined + You joined + + + + + Your team slug has been changed to # + Your team slug has been changed to # + + + + + Something went wrong. Try reloading the page. + Something went wrong. Try reloading the page. + + + + + There was an error deleting this comment. Please try again. + There was an error deleting this comment. Please try again. + + + + + Event Details + Event Details + + + + + User Reports + User Reports + + + + + Comments + Comments + + + + + Comments + Comments + + + + + Merged + Merged + + + + + Issue has been deleted. + Issue has been deleted. + + + + + Merge + Merge + + + + + Merge issues + Merge issues + + + + + This action will merge your selected issues into a single issue. + This action will merge your selected issues into a single issue. + + + + + There was an error when attempting to load issues. + There was an error when attempting to load issues. + + + + + Error, unable to update issue + Error, unable to update issue + + + + + Unmerge + Unmerge + + + + + No title found for this merged issue + No title found for this merged issue + + + + + Unable to unmerge selected hashes. + Unable to unmerge selected hashes. + + + + + Unmerged seleced hashes. + Unmerged seleced hashes. + + + + + Finalizing your login + Finalizing your login + + + + + Delete Auth Token + Delete Auth Token + + + + + Are you sure you want to delete this authentication token? + Are you sure you want to delete this authentication token? + + + + + Delete + Delete + + + + + There was an error deleting your token, please try again. + There was an error deleting your token, please try again. + + + + + Confirming email… + Confirming email… + + + + + This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request. + This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request. + + + + + Your email address has been confirmed. + Your email address has been confirmed. + + + + + There was a problem. Try again later. + There was a problem. Try again later. + + + + + has been removed from your account. + has been removed from your account. + + + + + is now your primary email address. + is now your primary email address. + + + + + Connecting to @sentry/wizard… + Connecting to @sentry/wizard… + + + + + Unable to connect to @sentry/wizard + Unable to connect to @sentry/wizard + + + + + Successfully connected to @sentry/wizard. + Successfully connected to @sentry/wizard. + + + + + Successfully updated 's role to + Successfully updated 's role to + + + + + Successfully transferred organization account ownership to . + Successfully transferred organization account ownership to . + + + + + Error attempting to remove from organization + Error attempting to remove from organization + + + + + Successfully removed from organization + Successfully removed from organization + + + + + Remove organization + Remove organization + + + + + Are you sure you want to remove ? You will permanently lose all projects and teams associated with it. + Are you sure you want to remove ? You will permanently lose all projects and teams associated with it. + + + + + Remove + Remove + + + + + You lack permission to create a new project + You lack permission to create a new project + + + + + has been created + has been created + + + + + There was an error loading your alerts. Try refreshing the page. + There was an error loading your alerts. Try refreshing the page. + + + + + Success: Your recipient has been deleted + Success: Your recipient has been deleted + + + + + Your project has been sucessfully deleted + Your project has been sucessfully deleted + + + + + The name of your project has been updated to + The name of your project has been updated to + + + + + You do not have permission to create a team + You do not have permission to create a team + + + + + has been added to # + has been added to # + + + + + has been removed from # + has been removed from # + + + + + Must be less than 32768. + Must be less than 32768. + + + + + There was an error retrieving your uptime monitors. + There was an error retrieving your uptime monitors. + + \ No newline at end of file diff --git a/src/locale/messages.xlf b/src/locale/messages.xlf index 96efbfcd..7987e72b 100644 --- a/src/locale/messages.xlf +++ b/src/locale/messages.xlf @@ -524,17 +524,12 @@ - Connect your project to GlitchTip + Connect your project to GlitchTip - + - If you go to this project's settings page, you can pick a platform. If you do, you'll get more specific instructions about how to get started. - - - - - There was an error processing your request + If you go to this project's settings page, you can pick a platform. If you do, you'll get more specific instructions about how to get started. @@ -632,11 +627,6 @@ Most instructions will have a spot that says "YOUR-GLITCHTIP-DSN-HERE". Copy the DSN and paste it into that spot. - - - There were errors while processing your request - - This page is showing instructions on how to connect GlitchTip to your project based on the platform you specified. @@ -699,7 +689,7 @@ - Start date for this plan: + Start date for this plan: @@ -709,7 +699,7 @@ - Plan cost: + Plan cost: @@ -839,7 +829,7 @@ - Billing period: to + Billing period: to @@ -852,14 +842,9 @@ Billing - + - Manage Subscription - - - - - If you have questions about your subscription, please contact us at . + If you have questions about your subscription, please contact us at . @@ -882,9 +867,9 @@ To create a new team, press the "Create Team" button in the upper right. - + - Total events used in billing period: + Total events used in billing period: @@ -1032,11 +1017,6 @@ Expected Status - - - Must be less than 86400 (24 hours). - - Time in seconds GlitchTip will wait for a response from your app. Defaults to 20 seconds. @@ -1047,14 +1027,14 @@ Interval (seconds) - + - Enter an integer. + Enter an integer. - + - Must be 60 or higher. + Must be 60 or higher. @@ -1234,7 +1214,7 @@ - GlitchTip + GlitchTip @@ -1414,5 +1394,325 @@ minutes + + + Unable to connect to @sentry/wizard + + + + + Unmerge + + + + + The name of your organization has been updated to + + + + + Merged + + + + + Event Details + + + + + You have been added to . + + + + + There was an error. Try again later. + + + + + This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request. + + + + + Are you sure you want to remove ? You will permanently lose all projects and teams associated with it. + + + + + No title found for this merged issue + + + + + Successfully removed from organization + + + + + There was an error when attempting to load issues. + + + + + Confirming email… + + + + + You have left + + + + + Error, unable to update issue + + + + + Something went wrong. Try reloading the page. + + + + + Merge + + + + + Are you sure you want to delete this authentication token? + + + + + Finalizing your login + + + + + Your email address has been confirmed. + + + + + has been removed from your account. + + + + + Comments + + + + + Unable to unmerge selected hashes. + + + + + There was an error. Please try again. + + + + + You lack permission to create a new project + + + + + You joined + + + + + Delete Auth Token + + + + + Successfully transferred organization account ownership to . + + + + + Remove + + + + + has been added to # + + + + + Issue has been deleted. + + + + + Successfully connected to @sentry/wizard. + + + + + There was an error deleting your token, please try again. + + + + + Email invites have been sent to the addresses you provided. + + + + + There was an error loading your alerts. Try refreshing the page. + + + + + There was an error deleting this comment. Please try again. + + + + + Error attempting to remove from organization + + + + + Merge issues + + + + + Only users with a role of manager or above can update organizations. + + + + + Successfully updated 's role to + + + + + User Reports + + + + + Delete + + + + + Your team slug has been changed to # + + + + + Only users with a role of manager or above can delete organizations. + + + + + There was an error retrieving your uptime monitors. + + + + + There was a problem. Try again later. + + + + + Must be less than 32768. + + + + + The name of your project has been updated to + + + + + An email invite has been sent to + + + + + Connecting to @sentry/wizard… + + + + + Too many invitations attempted. Not all invitations were sent. Please try again later + + + + + Unmerged seleced hashes. + + + + + Too many invitations attempted. Please try again later. + + + + + Success: Your recipient has been deleted + + + + + This invitation link expired or is invalid. Please issue a new invitation request. + + + + + You do not have permission to create a team + + + + + Comments + + + + + Your project has been sucessfully deleted + + + + + has been removed from # + + + + + There was an error, probably because you tried to join an organization that you're already a part of. + + + + + Remove organization + + + + + is now your primary email address. + + + + + This action will merge your selected issues into a single issue. + + + + + has been created + + - \ No newline at end of file +