diff --git a/.github/workflows/main2prod.yml b/.github/workflows/main2prod.yml index 0f78df2c0..46fd92b24 100644 --- a/.github/workflows/main2prod.yml +++ b/.github/workflows/main2prod.yml @@ -1,9 +1,13 @@ -name: Pull Request to `main` from `production` +name: Pull Request into `production` from `main` on: push: branches: - main + pull_request: + types: [closed] + branches: + - main jobs: auto-pull-request: diff --git a/README.md b/README.md index 1c2f7c075..4543ef792 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ Everything is designed and engineered following my taste and vision. This is a p ## Development -Prerequisites: Node.js 18+ +Prerequisites: Node.js 20+ - `npm install` - Install dependencies - `npm run dev` - Start development server and `messages:extract` (`clean` + ``watch`) in parallel @@ -233,6 +233,11 @@ Available variables: - `PHANPY_DEFAULT_LANG` (optional): - Default language is English (`en`) if not specified. - Fallback language after multiple detection methods (`lang` query parameter, `lang` key in `localStorage` and `navigator.language`) +- `PHANPY_REFERRER_POLICY` (optional, default: `origin`): + - Referrer policy for the site. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy). + - This is applied with the `` tag on the client-side. + - The policy can also be set with `Referrer-Policy` header configured on the server-side (not this variable). + - Note that since Phanpy uses hash-based URLs, the referrer does not include the hash part. - `PHANPY_LINGVA_INSTANCES` (optional, space-separated list, default: `lingva.phanpy.social [...hard-coded list of fallback instances]`): - Specify a space-separated list of instances. First will be used as default before falling back to the subsequent instances. If there's only 1 instance, means no fallback. - May specify a self-hosted Lingva instance, powered by either [lingva-translate](https://github.com/thedaviddelta/lingva-translate) or [lingva-api](https://github.com/cheeaun/lingva-api) @@ -313,6 +318,7 @@ Costs involved in running and developing this web app: - drydenwu (Chinese Traditional) - elissarc (French) - ElPamplina (Spanish) +- filipesmedeiros (Portuguese) - Fitik (Esperanto, Hebrew) - Freeesia (Japanese) - ghose (Galician) @@ -328,6 +334,7 @@ Costs involved in running and developing this web app: - LukeHong (Chinese Traditional) - Mannivu (Italian) - marcin.kozinski (Polish) +- martinmodrak (Czech) - mkljczkk (Polish) - mojosoeun (Korean) - moreal (Korean) @@ -348,9 +355,11 @@ Costs involved in running and developing this web app: - Sky_NiniKo (French) - Steffo99 (Italian) - Su5hicz (Czech) +- svetlemodry (Czech) - tferrermo (Spanish) - tkbremnes (Norwegian Bokmal) - tux93 (German) +- uzaylul (Turkish) - Vac31. (Lithuanian) - valtlai (Finnish) - vasiriri (Polish) diff --git a/package-lock.json b/package-lock.json index 3a0254561..3d63bd143 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,8 +8,8 @@ "name": "phanpy", "version": "0.1.0", "dependencies": { - "@formatjs/intl-localematcher": "~0.5.9", - "@formatjs/intl-segmenter": "~11.7.7", + "@formatjs/intl-localematcher": "~0.5.10", + "@formatjs/intl-segmenter": "~11.7.8", "@formkit/auto-animate": "~0.8.2", "@github/text-expander-element": "~2.8.0", "@iconify-icons/mingcute": "~1.2.9", @@ -17,11 +17,11 @@ "@lingui/detect-locale": "~5.1.2", "@lingui/macro": "~5.1.2", "@lingui/react": "~5.1.2", - "@szhsin/react-menu": "~4.2.3", + "@szhsin/react-menu": "~4.3.0", "chroma-js": "~3.1.2", "compare-versions": "~6.1.1", "fast-blurhash": "~1.1.4", - "fast-equals": "~5.0.1", + "fast-equals": "~5.2.2", "fuse.js": "~7.0.0", "html-prettify": "~1.0.7", "idb-keyval": "~6.2.1", @@ -29,14 +29,14 @@ "js-cookie": "~3.0.5", "just-debounce-it": "~3.2.0", "lz-string": "~1.5.0", - "masto": "~6.10.1", + "masto": "~6.10.3", "moize": "~6.1.6", "p-retry": "~6.2.1", "p-throttle": "~7.0.0", - "preact": "~10.25.3", + "preact": "~10.25.4", "punycode": "~2.3.1", "react-hotkeys-hook": "~4.6.1", - "react-intersection-observer": "~9.14.0", + "react-intersection-observer": "~9.15.1", "react-quick-pinch-zoom": "~5.1.0", "react-router-dom": "6.6.2", "string-length": "6.0.0", @@ -50,18 +50,18 @@ "valtio": "2.1.2" }, "devDependencies": { - "@ianvs/prettier-plugin-sort-imports": "~4.4.0", + "@ianvs/prettier-plugin-sort-imports": "~4.4.1", "@lingui/cli": "~5.1.2", "@lingui/vite-plugin": "~5.1.2", - "@preact/preset-vite": "~2.9.3", + "@preact/preset-vite": "~2.10.0", "babel-plugin-macros": "~3.1.0", - "postcss": "~8.4.49", + "postcss": "~8.5.1", "postcss-dark-theme-class": "~1.3.0", - "postcss-preset-env": "~10.1.2", + "postcss-preset-env": "~10.1.3", "prettier": "3.4.2", - "sonda": "~0.6.2", + "sonda": "~0.7.1", "twitter-text": "~3.1.0", - "vite": "~6.0.5", + "vite": "~6.0.11", "vite-plugin-generate-file": "~0.2.0", "vite-plugin-html-config": "~2.0.2", "vite-plugin-pwa": "~0.21.1", @@ -1645,9 +1645,9 @@ } }, "node_modules/@csstools/css-calc": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.0.tgz", - "integrity": "sha512-X69PmFOrjTZfN5ijxtI8hZ9kRADFSLrmmQ6hgDJ272Il049WGKpDY64KhrFm/7rbWve0z81QepawzjkKlqkNGw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.1.tgz", + "integrity": "sha512-rL7kaUnTkL9K+Cvo2pnCieqNpTKgQzy5f+N+5Iuko9HAoasP+xgprVh7KN/MaJVvVL1l0EzQq2MoqBHKSrDrag==", "dev": true, "funding": [ { @@ -1668,9 +1668,9 @@ } }, "node_modules/@csstools/css-color-parser": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.6.tgz", - "integrity": "sha512-S/IjXqTHdpI4EtzGoNCHfqraXF37x12ZZHA1Lk7zoT5pm2lMjFuqhX/89L7dqX4CcMacKK+6ZCs5TmEGb/+wKw==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.7.tgz", + "integrity": "sha512-nkMp2mTICw32uE5NN+EsJ4f5N+IGFeCFu4bGpiKgb2Pq/7J/MpyLBeQ5ry4KKtRFZaYs6sTmcMYrSRIyj5DFKA==", "dev": true, "funding": [ { @@ -1684,7 +1684,7 @@ ], "dependencies": { "@csstools/color-helpers": "^5.0.1", - "@csstools/css-calc": "^2.1.0" + "@csstools/css-calc": "^2.1.1" }, "engines": { "node": ">=18" @@ -1785,9 +1785,9 @@ } }, "node_modules/@csstools/postcss-color-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.6.tgz", - "integrity": "sha512-EcvXfC60cTIumzpsxWuvVjb7rsJEHPvqn3jeMEBUaE3JSc4FRuP7mEQ+1eicxWmIrs3FtzMH9gR3sgA5TH+ebQ==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.7.tgz", + "integrity": "sha512-aDHYmhNIHR6iLw4ElWhf+tRqqaXwKnMl0YsQ/X105Zc4dQwe6yJpMrTN6BwOoESrkDjOYMOfORviSSLeDTJkdQ==", "dev": true, "funding": [ { @@ -1800,7 +1800,7 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "@csstools/postcss-progressive-custom-properties": "^4.0.0", @@ -1814,9 +1814,9 @@ } }, "node_modules/@csstools/postcss-color-mix-function": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.6.tgz", - "integrity": "sha512-jVKdJn4+JkASYGhyPO+Wa5WXSx1+oUgaXb3JsjJn/BlrtFh5zjocCY7pwWi0nuP24V1fY7glQsxEYcYNy0dMFg==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.7.tgz", + "integrity": "sha512-e68Nev4CxZYCLcrfWhHH4u/N1YocOfTmw67/kVX5Rb7rnguqqLyxPjhHWjSBX8o4bmyuukmNf3wrUSU3//kT7g==", "dev": true, "funding": [ { @@ -1829,7 +1829,7 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "@csstools/postcss-progressive-custom-properties": "^4.0.0", @@ -1871,9 +1871,9 @@ } }, "node_modules/@csstools/postcss-exponential-functions": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.5.tgz", - "integrity": "sha512-mi8R6dVfA2nDoKM3wcEi64I8vOYEgQVtVKCfmLHXupeLpACfGAided5ddMt5f+CnEodNu4DifuVwb0I6fQDGGQ==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.6.tgz", + "integrity": "sha512-IgJA5DQsQLu/upA3HcdvC6xEMR051ufebBTIXZ5E9/9iiaA7juXWz1ceYj814lnDYP/7eWjZnw0grRJlX4eI6g==", "dev": true, "funding": [ { @@ -1886,7 +1886,7 @@ } ], "dependencies": { - "@csstools/css-calc": "^2.1.0", + "@csstools/css-calc": "^2.1.1", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3" }, @@ -1924,9 +1924,9 @@ } }, "node_modules/@csstools/postcss-gamut-mapping": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.6.tgz", - "integrity": "sha512-0ke7fmXfc8H+kysZz246yjirAH6JFhyX9GTlyRnM0exHO80XcA9zeJpy5pOp5zo/AZiC/q5Pf+Hw7Pd6/uAoYA==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.7.tgz", + "integrity": "sha512-gzFEZPoOkY0HqGdyeBXR3JP218Owr683u7KOZazTK7tQZBE8s2yhg06W1tshOqk7R7SWvw9gkw2TQogKpIW8Xw==", "dev": true, "funding": [ { @@ -1939,7 +1939,7 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3" }, @@ -1951,9 +1951,9 @@ } }, "node_modules/@csstools/postcss-gradients-interpolation-method": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.6.tgz", - "integrity": "sha512-Itrbx6SLUzsZ6Mz3VuOlxhbfuyLTogG5DwEF1V8dAi24iMuvQPIHd7Ti+pNDp7j6WixndJGZaoNR0f9VSzwuTg==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.7.tgz", + "integrity": "sha512-WgEyBeg6glUeTdS2XT7qeTFBthTJuXlS9GFro/DVomj7W7WMTamAwpoP4oQCq/0Ki2gvfRYFi/uZtmRE14/DFA==", "dev": true, "funding": [ { @@ -1966,7 +1966,7 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "@csstools/postcss-progressive-custom-properties": "^4.0.0", @@ -1980,9 +1980,9 @@ } }, "node_modules/@csstools/postcss-hwb-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.6.tgz", - "integrity": "sha512-927Pqy3a1uBP7U8sTfaNdZVB0mNXzIrJO/GZ8us9219q9n06gOqCdfZ0E6d1P66Fm0fYHvxfDbfcUuwAn5UwhQ==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.7.tgz", + "integrity": "sha512-LKYqjO+wGwDCfNIEllessCBWfR4MS/sS1WXO+j00KKyOjm7jDW2L6jzUmqASEiv/kkJO39GcoIOvTTfB3yeBUA==", "dev": true, "funding": [ { @@ -1995,7 +1995,7 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "@csstools/postcss-progressive-custom-properties": "^4.0.0", @@ -2229,9 +2229,9 @@ } }, "node_modules/@csstools/postcss-media-minmax": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.5.tgz", - "integrity": "sha512-sdh5i5GToZOIAiwhdntRWv77QDtsxP2r2gXW/WbLSCoLr00KTq/yiF1qlQ5XX2+lmiFa8rATKMcbwl3oXDMNew==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.6.tgz", + "integrity": "sha512-J1+4Fr2W3pLZsfxkFazK+9kr96LhEYqoeBszLmFjb6AjYs+g9oDAw3J5oQignLKk3rC9XHW+ebPTZ9FaW5u5pg==", "dev": true, "funding": [ { @@ -2244,7 +2244,7 @@ } ], "dependencies": { - "@csstools/css-calc": "^2.1.0", + "@csstools/css-calc": "^2.1.1", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "@csstools/media-query-list-parser": "^4.0.2" @@ -2335,9 +2335,9 @@ } }, "node_modules/@csstools/postcss-oklab-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.6.tgz", - "integrity": "sha512-Hptoa0uX+XsNacFBCIQKTUBrFKDiplHan42X73EklG6XmQLG7/aIvxoNhvZ7PvOWMt67Pw3bIlUY2nD6p5vL8A==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.7.tgz", + "integrity": "sha512-I6WFQIbEKG2IO3vhaMGZDkucbCaUSXMxvHNzDdnfsTCF5tc0UlV3Oe2AhamatQoKFjBi75dSEMrgWq3+RegsOQ==", "dev": true, "funding": [ { @@ -2350,7 +2350,7 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "@csstools/postcss-progressive-custom-properties": "^4.0.0", @@ -2389,9 +2389,9 @@ } }, "node_modules/@csstools/postcss-random-function": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-random-function/-/postcss-random-function-1.0.1.tgz", - "integrity": "sha512-Ab/tF8/RXktQlFwVhiC70UNfpFQRhtE5fQQoP2pO+KCPGLsLdWFiOuHgSRtBOqEshCVAzR4H6o38nhvRZq8deA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-random-function/-/postcss-random-function-1.0.2.tgz", + "integrity": "sha512-vBCT6JvgdEkvRc91NFoNrLjgGtkLWt47GKT6E2UDn3nd8ZkMBiziQ1Md1OiKoSsgzxsSnGKG3RVdhlbdZEkHjA==", "dev": true, "funding": [ { @@ -2404,7 +2404,7 @@ } ], "dependencies": { - "@csstools/css-calc": "^2.1.0", + "@csstools/css-calc": "^2.1.1", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3" }, @@ -2416,9 +2416,9 @@ } }, "node_modules/@csstools/postcss-relative-color-syntax": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.6.tgz", - "integrity": "sha512-yxP618Xb+ji1I624jILaYM62uEmZcmbdmFoZHoaThw896sq0vU39kqTTF+ZNic9XyPtPMvq0vyvbgmHaszq8xg==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.7.tgz", + "integrity": "sha512-apbT31vsJVd18MabfPOnE977xgct5B1I+Jpf+Munw3n6kKb1MMuUmGGH+PT9Hm/fFs6fe61Q/EWnkrb4bNoNQw==", "dev": true, "funding": [ { @@ -2431,7 +2431,7 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "@csstools/postcss-progressive-custom-properties": "^4.0.0", @@ -2470,9 +2470,9 @@ } }, "node_modules/@csstools/postcss-sign-functions": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.0.tgz", - "integrity": "sha512-SLcc20Nujx/kqbSwDmj6oaXgpy3UjFhBy1sfcqPgDkHfOIfUtUVH7OXO+j7BU4v/At5s61N5ZX6shvgPwluhsA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.1.tgz", + "integrity": "sha512-MslYkZCeMQDxetNkfmmQYgKCy4c+w9pPDfgOBCJOo/RI1RveEUdZQYtOfrC6cIZB7sD7/PHr2VGOcMXlZawrnA==", "dev": true, "funding": [ { @@ -2485,7 +2485,7 @@ } ], "dependencies": { - "@csstools/css-calc": "^2.1.0", + "@csstools/css-calc": "^2.1.1", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3" }, @@ -2497,9 +2497,9 @@ } }, "node_modules/@csstools/postcss-stepped-value-functions": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.5.tgz", - "integrity": "sha512-G6SJ6hZJkhxo6UZojVlLo14MohH4J5J7z8CRBrxxUYy9JuZiIqUo5TBYyDGcE0PLdzpg63a7mHSJz3VD+gMwqw==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.6.tgz", + "integrity": "sha512-/dwlO9w8vfKgiADxpxUbZOWlL5zKoRIsCymYoh1IPuBsXODKanKnfuZRr32DEqT0//3Av1VjfNZU9yhxtEfIeA==", "dev": true, "funding": [ { @@ -2512,7 +2512,7 @@ } ], "dependencies": { - "@csstools/css-calc": "^2.1.0", + "@csstools/css-calc": "^2.1.1", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3" }, @@ -2550,9 +2550,9 @@ } }, "node_modules/@csstools/postcss-trigonometric-functions": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.5.tgz", - "integrity": "sha512-/YQThYkt5MLvAmVu7zxjhceCYlKrYddK6LEmK5I4ojlS6BmO9u2yO4+xjXzu2+NPYmHSTtP4NFSamBCMmJ1NJA==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.6.tgz", + "integrity": "sha512-c4Y1D2Why/PeccaSouXnTt6WcNHJkoJRidV2VW9s5gJ97cNxnLgQ4Qj8qOqkIR9VmTQKJyNcbF4hy79ZQnWD7A==", "dev": true, "funding": [ { @@ -2565,7 +2565,7 @@ } ], "dependencies": { - "@csstools/css-calc": "^2.1.0", + "@csstools/css-calc": "^2.1.1", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3" }, @@ -2936,6 +2936,22 @@ "node": ">=12" } }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", + "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/netbsd-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", @@ -2953,9 +2969,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz", - "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", + "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", "cpu": [ "arm64" ], @@ -3049,39 +3065,39 @@ } }, "node_modules/@formatjs/ecma402-abstract": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.1.tgz", - "integrity": "sha512-Ip9uV+/MpLXWRk03U/GzeJMuPeOXpJBSB5V1tjA6kJhvqssye5J5LoYLc7Z5IAHb7nR62sRoguzrFiVCP/hnzw==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.2.tgz", + "integrity": "sha512-6sE5nyvDloULiyOMbOTJEEgWL32w+VHkZQs8S02Lnn8Y/O5aQhjOEXwWzvR7SsBE/exxlSpY2EsWZgqHbtLatg==", "dependencies": { - "@formatjs/fast-memoize": "2.2.5", - "@formatjs/intl-localematcher": "0.5.9", + "@formatjs/fast-memoize": "2.2.6", + "@formatjs/intl-localematcher": "0.5.10", "decimal.js": "10", "tslib": "2" } }, "node_modules/@formatjs/fast-memoize": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.5.tgz", - "integrity": "sha512-6PoewUMrrcqxSoBXAOJDiW1m+AmkrAj0RiXnOMD59GRaswjXhm3MDhgepXPBgonc09oSirAJTsAggzAGQf6A6g==", + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.6.tgz", + "integrity": "sha512-luIXeE2LJbQnnzotY1f2U2m7xuQNj2DA8Vq4ce1BY9ebRZaoPB1+8eZ6nXpLzsxuW5spQxr7LdCg+CApZwkqkw==", "dependencies": { "tslib": "2" } }, "node_modules/@formatjs/intl-localematcher": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.9.tgz", - "integrity": "sha512-8zkGu/sv5euxbjfZ/xmklqLyDGQSxsLqg8XOq88JW3cmJtzhCP8EtSJXlaKZnVO4beEaoiT9wj4eIoCQ9smwxA==", + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.10.tgz", + "integrity": "sha512-af3qATX+m4Rnd9+wHcjJ4w2ijq+rAVP3CCinJQvFv1kgSu1W6jypUmvleJxcewdxmutM8dmIRZFxO/IQBZmP2Q==", "dependencies": { "tslib": "2" } }, "node_modules/@formatjs/intl-segmenter": { - "version": "11.7.7", - "resolved": "https://registry.npmjs.org/@formatjs/intl-segmenter/-/intl-segmenter-11.7.7.tgz", - "integrity": "sha512-610J5xz5DxtEpa16zNR89CrvA9qWHxQFkUB3FKiGao0Nwn7i8cl+oyBhuH9SvtXF9j2LUOM9VMdVCMzJkVANNw==", + "version": "11.7.8", + "resolved": "https://registry.npmjs.org/@formatjs/intl-segmenter/-/intl-segmenter-11.7.8.tgz", + "integrity": "sha512-+nqMCJ6LNLl+qXldE2uthF82O/2Yo6GZlyWbOY25fe3066iaHjmrR4nXd6AKRMCHNeBBx3rANFLm2B5cNTBzTQ==", "dependencies": { - "@formatjs/ecma402-abstract": "2.3.1", - "@formatjs/intl-localematcher": "0.5.9", + "@formatjs/ecma402-abstract": "2.3.2", + "@formatjs/intl-localematcher": "0.5.10", "tslib": "2" } }, @@ -3106,9 +3122,9 @@ } }, "node_modules/@ianvs/prettier-plugin-sort-imports": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@ianvs/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.4.0.tgz", - "integrity": "sha512-f4/e+/ANGk3tHuwRW0uh2YuBR50I4h1ZjGQ+5uD8sWfinHTivQsnieR5cz24t8M6Vx4rYvZ5v/IEKZhYpzQm9Q==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@ianvs/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.4.1.tgz", + "integrity": "sha512-F0/Hrcfpy8WuxlQyAWJTEren/uxKhYonOGY4OyWmwRdeTvkh9mMSCxowZLjNkhwi/2ipqCgtXwwOk7tW0mWXkA==", "dev": true, "dependencies": { "@babel/generator": "^7.26.2", @@ -3599,12 +3615,11 @@ } }, "node_modules/@preact/preset-vite": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/@preact/preset-vite/-/preset-vite-2.9.3.tgz", - "integrity": "sha512-uVDSKsFnPa/bmRTAcPiYpTvC04T1lhIH2ho3CJZLYibwcwliElS/i64iyATZkgR4DJxSc/JwOCSQS4IF/a03OQ==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@preact/preset-vite/-/preset-vite-2.10.0.tgz", + "integrity": "sha512-U49rFSfF5h4rL1IYSmtiCe+lHDave9es3JzVnCMKoKF5ZW3Adua34/pkU2bT5vKQ02ek142RUjTwLhwLSgFp6g==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.13", "@babel/plugin-transform-react-jsx": "^7.22.15", "@babel/plugin-transform-react-jsx-development": "^7.22.5", "@prefresh/vite": "^2.4.1", @@ -3612,37 +3627,13 @@ "babel-plugin-transform-hook-names": "^1.0.2", "debug": "^4.3.4", "kolorist": "^1.8.0", - "magic-string": "0.30.5", - "node-html-parser": "^6.1.10", - "source-map": "^0.7.4", - "stack-trace": "^1.0.0-pre2" + "vite-prerender-plugin": "^0.5.3" }, "peerDependencies": { "@babel/core": "7.x", "vite": "2.x || 3.x || 4.x || 5.x || 6.x" } }, - "node_modules/@preact/preset-vite/node_modules/magic-string": { - "version": "0.30.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", - "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@preact/preset-vite/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, "node_modules/@prefresh/babel-plugin": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/@prefresh/babel-plugin/-/babel-plugin-0.5.0.tgz", @@ -3963,12 +3954,11 @@ } }, "node_modules/@szhsin/react-menu": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@szhsin/react-menu/-/react-menu-4.2.3.tgz", - "integrity": "sha512-pLbjaR1XNu8rnHnmkf7eCotKFheumcxVrLQUxRRJB+P8XAc7LusAv4Rd6krhkGbeI4NsLFxNCvNq+wmx3/y/Wg==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@szhsin/react-menu/-/react-menu-4.3.0.tgz", + "integrity": "sha512-TklTnPT6cYZcOO0GYnBQX6qVvpsdHvI0GkWsL90/fisIMlFfv+rpEPy4YNm+qNTUuCPeOkcRYVU7ooH0yUFTgQ==", "dependencies": { - "prop-types": "^15.7.2", - "react-transition-state": "^2.1.2" + "react-transition-state": "^2.2.0" }, "peerDependencies": { "react": ">=16.14.0", @@ -5296,9 +5286,9 @@ } }, "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", "dev": true, "dependencies": { "dom-serializer": "^2.0.0", @@ -5624,9 +5614,9 @@ "dev": true }, "node_modules/fast-equals": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.0.1.tgz", - "integrity": "sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.2.2.tgz", + "integrity": "sha512-V7/RktU11J3I36Nwq2JnZEM7tNm17eBJz+u25qdxBZeCKiX6BkVSZQjwWIr+IobgnZy+ag73tTZgZi7tr0LrBw==", "engines": { "node": ">=6.0.0" } @@ -6912,6 +6902,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "license": "MIT", + "peer": true, "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -6957,9 +6948,9 @@ } }, "node_modules/masto": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/masto/-/masto-6.10.1.tgz", - "integrity": "sha512-CBEAvWJfMLMgk0cURSGU/fRJDcFEZWo1LBfVYztBNEOyijoedQh4htKaon+XCE4aT7TLYPqOLmcllXwMjOvztA==", + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/masto/-/masto-6.10.3.tgz", + "integrity": "sha512-/ajJpdH0jXEqEBgSDTzYc4RS5CcDR0AGtweQmWNAaaFagdBHiNtJZHr7xFvdhR88C83qxispIGYNkLaL2GWumg==", "dependencies": { "change-case": "^4.1.2", "events-to-async": "^2.0.1", @@ -7080,9 +7071,9 @@ "dev": true }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "dev": true, "funding": [ { @@ -7108,9 +7099,9 @@ } }, "node_modules/node-html-parser": { - "version": "6.1.12", - "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.12.tgz", - "integrity": "sha512-/bT/Ncmv+fbMGX96XG9g05vFt43m/+SYKIs9oAemQVYyVcZmDAI2Xq/SbNcpOA35eF0Zk2av3Ksf+Xk8Vt8abA==", + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.13.tgz", + "integrity": "sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==", "dev": true, "dependencies": { "css-select": "^5.1.0", @@ -7170,6 +7161,8 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=0.10.0" } @@ -7558,9 +7551,9 @@ } }, "node_modules/postcss": { - "version": "8.4.49", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", - "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", + "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", "dev": true, "funding": [ { @@ -7577,7 +7570,7 @@ } ], "dependencies": { - "nanoid": "^3.3.7", + "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -7627,9 +7620,9 @@ } }, "node_modules/postcss-color-functional-notation": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.6.tgz", - "integrity": "sha512-wLXvm8RmLs14Z2nVpB4CWlnvaWPRcOZFltJSlcbYwSJ1EDZKsKDhPKIMecCnuU054KSmlmubkqczmm6qBPCBhA==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.7.tgz", + "integrity": "sha512-EZvAHsvyASX63vXnyXOIynkxhaHRSsdb7z6yiXKIovGXAolW4cMZ3qoh7k3VdTsLBS6VGdksGfIo3r6+waLoOw==", "dev": true, "funding": [ { @@ -7642,7 +7635,7 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "@csstools/postcss-progressive-custom-properties": "^4.0.0", @@ -7978,9 +7971,9 @@ } }, "node_modules/postcss-lab-function": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.6.tgz", - "integrity": "sha512-HPwvsoK7C949vBZ+eMyvH2cQeMr3UREoHvbtra76/UhDuiViZH6pir+z71UaJQohd7VDSVUdR6TkWYKExEc9aQ==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.7.tgz", + "integrity": "sha512-+ONj2bpOQfsCKZE2T9VGMyVVdGcGUpr7u3SVfvkJlvhTRmDCfY25k4Jc8fubB9DclAPR4+w8uVtDZmdRgdAHig==", "dev": true, "funding": [ { @@ -7993,7 +7986,7 @@ } ], "dependencies": { - "@csstools/css-color-parser": "^3.0.6", + "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "@csstools/postcss-progressive-custom-properties": "^4.0.0", @@ -8141,9 +8134,9 @@ } }, "node_modules/postcss-preset-env": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.1.2.tgz", - "integrity": "sha512-OqUBZ9ByVfngWhMNuBEMy52Izj07oIFA6K/EOGBlaSv+P12MiE1+S2cqXtS1VuW82demQ/Tzc7typYk3uHunkA==", + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.1.3.tgz", + "integrity": "sha512-9qzVhcMFU/MnwYHyYpJz4JhGku/4+xEiPTmhn0hj3IxnUYlEF9vbh7OC1KoLAnenS6Fgg43TKNp9xcuMeAi4Zw==", "dev": true, "funding": [ { @@ -8157,14 +8150,14 @@ ], "dependencies": { "@csstools/postcss-cascade-layers": "^5.0.1", - "@csstools/postcss-color-function": "^4.0.6", - "@csstools/postcss-color-mix-function": "^3.0.6", + "@csstools/postcss-color-function": "^4.0.7", + "@csstools/postcss-color-mix-function": "^3.0.7", "@csstools/postcss-content-alt-text": "^2.0.4", - "@csstools/postcss-exponential-functions": "^2.0.5", + "@csstools/postcss-exponential-functions": "^2.0.6", "@csstools/postcss-font-format-keywords": "^4.0.0", - "@csstools/postcss-gamut-mapping": "^2.0.6", - "@csstools/postcss-gradients-interpolation-method": "^5.0.6", - "@csstools/postcss-hwb-function": "^4.0.6", + "@csstools/postcss-gamut-mapping": "^2.0.7", + "@csstools/postcss-gradients-interpolation-method": "^5.0.7", + "@csstools/postcss-hwb-function": "^4.0.7", "@csstools/postcss-ic-unit": "^4.0.0", "@csstools/postcss-initial": "^2.0.0", "@csstools/postcss-is-pseudo-class": "^5.0.1", @@ -8174,19 +8167,19 @@ "@csstools/postcss-logical-overscroll-behavior": "^2.0.0", "@csstools/postcss-logical-resize": "^3.0.0", "@csstools/postcss-logical-viewport-units": "^3.0.3", - "@csstools/postcss-media-minmax": "^2.0.5", + "@csstools/postcss-media-minmax": "^2.0.6", "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.4", "@csstools/postcss-nested-calc": "^4.0.0", "@csstools/postcss-normalize-display-values": "^4.0.0", - "@csstools/postcss-oklab-function": "^4.0.6", + "@csstools/postcss-oklab-function": "^4.0.7", "@csstools/postcss-progressive-custom-properties": "^4.0.0", - "@csstools/postcss-random-function": "^1.0.1", - "@csstools/postcss-relative-color-syntax": "^3.0.6", + "@csstools/postcss-random-function": "^1.0.2", + "@csstools/postcss-relative-color-syntax": "^3.0.7", "@csstools/postcss-scope-pseudo-class": "^4.0.1", - "@csstools/postcss-sign-functions": "^1.1.0", - "@csstools/postcss-stepped-value-functions": "^4.0.5", + "@csstools/postcss-sign-functions": "^1.1.1", + "@csstools/postcss-stepped-value-functions": "^4.0.6", "@csstools/postcss-text-decoration-shorthand": "^4.0.1", - "@csstools/postcss-trigonometric-functions": "^4.0.5", + "@csstools/postcss-trigonometric-functions": "^4.0.6", "@csstools/postcss-unset-value": "^4.0.0", "autoprefixer": "^10.4.19", "browserslist": "^4.23.1", @@ -8196,7 +8189,7 @@ "cssdb": "^8.2.3", "postcss-attribute-case-insensitive": "^7.0.1", "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^7.0.6", + "postcss-color-functional-notation": "^7.0.7", "postcss-color-hex-alpha": "^10.0.0", "postcss-color-rebeccapurple": "^10.0.0", "postcss-custom-media": "^11.0.5", @@ -8209,7 +8202,7 @@ "postcss-font-variant": "^5.0.0", "postcss-gap-properties": "^6.0.0", "postcss-image-set-function": "^7.0.0", - "postcss-lab-function": "^7.0.6", + "postcss-lab-function": "^7.0.7", "postcss-logical": "^8.0.0", "postcss-nesting": "^13.0.1", "postcss-opacity-percentage": "^3.0.0", @@ -8314,9 +8307,9 @@ "dev": true }, "node_modules/preact": { - "version": "10.25.3", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.25.3.tgz", - "integrity": "sha512-dzQmIFtM970z+fP9ziQ3yG4e3ULIbwZzJ734vaMVUTaKQ2+Ru1Ou/gjshOYVHCcd1rpAelC6ngjvjDXph98unQ==", + "version": "10.25.4", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.25.4.tgz", + "integrity": "sha512-jLdZDb+Q+odkHJ+MpW/9U5cODzqnB+fy2EiHSZES7ldV5LK7yjlVzTp7R8Xy6W6y75kfK8iWYtFVH7lvjwrCMA==", "funding": { "type": "opencollective", "url": "https://opencollective.com/preact" @@ -8387,6 +8380,8 @@ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -8482,9 +8477,9 @@ } }, "node_modules/react-intersection-observer": { - "version": "9.14.0", - "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.14.0.tgz", - "integrity": "sha512-AYqlmDZn85VUmlODwYym9y5OlqY2cFyIu41dkN0GJWvhdbd19Mh16mz5IH6fO1gp5V4FfQOO4m0zGc04Tj13rQ==", + "version": "9.15.1", + "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.15.1.tgz", + "integrity": "sha512-vGrqYEVWXfH+AGu241uzfUpNK4HAdhCkSAyFdkMb9VWWXs6mxzBLpWCxEy9YcnDNY2g9eO6z7qUtTBdA9hc8pA==", "peerDependencies": { "react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" @@ -8499,7 +8494,9 @@ "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/react-quick-pinch-zoom": { "version": "5.1.0", @@ -8979,6 +8976,15 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, + "node_modules/simple-code-frame": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/simple-code-frame/-/simple-code-frame-1.3.0.tgz", + "integrity": "sha512-MB4pQmETUBlNs62BBeRjIFGeuy/x6gGKh7+eRUemn1rCFhqo7K+4slPqsyizCbcbYLnaYqaoZ2FWsZ/jN06D8w==", + "dev": true, + "dependencies": { + "kolorist": "^1.6.0" + } + }, "node_modules/smob": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz", @@ -8996,14 +9002,17 @@ } }, "node_modules/sonda": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/sonda/-/sonda-0.6.2.tgz", - "integrity": "sha512-YD+3qKnB6Tov0aHH/pbWFXeppu51Aqg3Ih5t3zambwLhO5kIwb70m7qNcItK1ocfvCdFtb0uPuWczI7c0E3grA==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/sonda/-/sonda-0.7.1.tgz", + "integrity": "sha512-PCdSdBvspoJXA0uY5GFeRzAolTHDP7gVnnMnr/O74IYIB8CiOFaEbTGNkEmShG6HBtmmFdQfPxdXbI+2vAgjYw==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.3.0", "@jridgewell/sourcemap-codec": "^1.5.0", "open": "^10.1.0" + }, + "bin": { + "sonda-angular": "bin/sonda-angular.js" } }, "node_modules/source-map": { @@ -9803,12 +9812,12 @@ } }, "node_modules/vite": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.5.tgz", - "integrity": "sha512-akD5IAH/ID5imgue2DYhzsEwCi0/4VKY31uhMLEYJwPP4TiUp8pL5PIK+Wo7H8qT8JY9i+pVfPydcFPYD1EL7g==", + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.11.tgz", + "integrity": "sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==", "dev": true, "dependencies": { - "esbuild": "0.24.0", + "esbuild": "^0.24.2", "postcss": "^8.4.49", "rollup": "^4.23.0" }, @@ -9970,10 +9979,41 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/vite-prerender-plugin": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/vite-prerender-plugin/-/vite-prerender-plugin-0.5.4.tgz", + "integrity": "sha512-nGcAiKbjBodQIkqN8g0iZ8CQyaNC5KcbVLhoJtj8oFddmfTDBP4CuFIW1dX2zAw9NFWfwoftevJP2x3HAmNjDw==", + "dev": true, + "dependencies": { + "magic-string": "^0.30.6", + "node-html-parser": "^6.1.12", + "simple-code-frame": "^1.3.0", + "source-map": "^0.7.4", + "stack-trace": "^1.0.0-pre2" + } + }, + "node_modules/vite-prerender-plugin/node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/vite-prerender-plugin/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/vite/node_modules/@esbuild/aix-ppc64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz", - "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", + "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", "cpu": [ "ppc64" ], @@ -9987,9 +10027,9 @@ } }, "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz", - "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", + "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", "cpu": [ "arm" ], @@ -10003,9 +10043,9 @@ } }, "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz", - "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", + "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", "cpu": [ "arm64" ], @@ -10019,9 +10059,9 @@ } }, "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz", - "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", + "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", "cpu": [ "x64" ], @@ -10035,9 +10075,9 @@ } }, "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz", - "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", + "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", "cpu": [ "arm64" ], @@ -10051,9 +10091,9 @@ } }, "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz", - "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", + "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", "cpu": [ "x64" ], @@ -10067,9 +10107,9 @@ } }, "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz", - "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", + "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", "cpu": [ "arm64" ], @@ -10083,9 +10123,9 @@ } }, "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz", - "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", + "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", "cpu": [ "x64" ], @@ -10099,9 +10139,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz", - "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", + "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", "cpu": [ "arm" ], @@ -10115,9 +10155,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz", - "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", + "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", "cpu": [ "arm64" ], @@ -10131,9 +10171,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz", - "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", + "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", "cpu": [ "ia32" ], @@ -10147,9 +10187,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz", - "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", + "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", "cpu": [ "loong64" ], @@ -10163,9 +10203,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz", - "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", + "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", "cpu": [ "mips64el" ], @@ -10179,9 +10219,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz", - "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", + "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", "cpu": [ "ppc64" ], @@ -10195,9 +10235,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz", - "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", + "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", "cpu": [ "riscv64" ], @@ -10211,9 +10251,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz", - "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", + "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", "cpu": [ "s390x" ], @@ -10227,9 +10267,9 @@ } }, "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz", - "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", + "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", "cpu": [ "x64" ], @@ -10243,9 +10283,9 @@ } }, "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz", - "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", + "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", "cpu": [ "x64" ], @@ -10259,9 +10299,9 @@ } }, "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz", - "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", + "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", "cpu": [ "x64" ], @@ -10275,9 +10315,9 @@ } }, "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz", - "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", + "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", "cpu": [ "x64" ], @@ -10291,9 +10331,9 @@ } }, "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz", - "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", + "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", "cpu": [ "arm64" ], @@ -10307,9 +10347,9 @@ } }, "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz", - "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", + "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", "cpu": [ "ia32" ], @@ -10323,9 +10363,9 @@ } }, "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz", - "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", + "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", "cpu": [ "x64" ], @@ -10339,9 +10379,9 @@ } }, "node_modules/vite/node_modules/esbuild": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz", - "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==", + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", + "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", "dev": true, "hasInstallScript": true, "bin": { @@ -10351,30 +10391,31 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.24.0", - "@esbuild/android-arm": "0.24.0", - "@esbuild/android-arm64": "0.24.0", - "@esbuild/android-x64": "0.24.0", - "@esbuild/darwin-arm64": "0.24.0", - "@esbuild/darwin-x64": "0.24.0", - "@esbuild/freebsd-arm64": "0.24.0", - "@esbuild/freebsd-x64": "0.24.0", - "@esbuild/linux-arm": "0.24.0", - "@esbuild/linux-arm64": "0.24.0", - "@esbuild/linux-ia32": "0.24.0", - "@esbuild/linux-loong64": "0.24.0", - "@esbuild/linux-mips64el": "0.24.0", - "@esbuild/linux-ppc64": "0.24.0", - "@esbuild/linux-riscv64": "0.24.0", - "@esbuild/linux-s390x": "0.24.0", - "@esbuild/linux-x64": "0.24.0", - "@esbuild/netbsd-x64": "0.24.0", - "@esbuild/openbsd-arm64": "0.24.0", - "@esbuild/openbsd-x64": "0.24.0", - "@esbuild/sunos-x64": "0.24.0", - "@esbuild/win32-arm64": "0.24.0", - "@esbuild/win32-ia32": "0.24.0", - "@esbuild/win32-x64": "0.24.0" + "@esbuild/aix-ppc64": "0.24.2", + "@esbuild/android-arm": "0.24.2", + "@esbuild/android-arm64": "0.24.2", + "@esbuild/android-x64": "0.24.2", + "@esbuild/darwin-arm64": "0.24.2", + "@esbuild/darwin-x64": "0.24.2", + "@esbuild/freebsd-arm64": "0.24.2", + "@esbuild/freebsd-x64": "0.24.2", + "@esbuild/linux-arm": "0.24.2", + "@esbuild/linux-arm64": "0.24.2", + "@esbuild/linux-ia32": "0.24.2", + "@esbuild/linux-loong64": "0.24.2", + "@esbuild/linux-mips64el": "0.24.2", + "@esbuild/linux-ppc64": "0.24.2", + "@esbuild/linux-riscv64": "0.24.2", + "@esbuild/linux-s390x": "0.24.2", + "@esbuild/linux-x64": "0.24.2", + "@esbuild/netbsd-arm64": "0.24.2", + "@esbuild/netbsd-x64": "0.24.2", + "@esbuild/openbsd-arm64": "0.24.2", + "@esbuild/openbsd-x64": "0.24.2", + "@esbuild/sunos-x64": "0.24.2", + "@esbuild/win32-arm64": "0.24.2", + "@esbuild/win32-ia32": "0.24.2", + "@esbuild/win32-x64": "0.24.2" } }, "node_modules/wcwidth": { diff --git a/package.json b/package.json index 10be46929..917cd2b30 100644 --- a/package.json +++ b/package.json @@ -16,8 +16,8 @@ "readme:i18n-volunteers": "node scripts/update-i18n-volunteers-readme.js" }, "dependencies": { - "@formatjs/intl-localematcher": "~0.5.9", - "@formatjs/intl-segmenter": "~11.7.7", + "@formatjs/intl-localematcher": "~0.5.10", + "@formatjs/intl-segmenter": "~11.7.8", "@formkit/auto-animate": "~0.8.2", "@github/text-expander-element": "~2.8.0", "@iconify-icons/mingcute": "~1.2.9", @@ -25,11 +25,11 @@ "@lingui/detect-locale": "~5.1.2", "@lingui/macro": "~5.1.2", "@lingui/react": "~5.1.2", - "@szhsin/react-menu": "~4.2.3", + "@szhsin/react-menu": "~4.3.0", "chroma-js": "~3.1.2", "compare-versions": "~6.1.1", "fast-blurhash": "~1.1.4", - "fast-equals": "~5.0.1", + "fast-equals": "~5.2.2", "fuse.js": "~7.0.0", "html-prettify": "~1.0.7", "idb-keyval": "~6.2.1", @@ -37,14 +37,14 @@ "js-cookie": "~3.0.5", "just-debounce-it": "~3.2.0", "lz-string": "~1.5.0", - "masto": "~6.10.1", + "masto": "~6.10.3", "moize": "~6.1.6", "p-retry": "~6.2.1", "p-throttle": "~7.0.0", - "preact": "~10.25.3", + "preact": "~10.25.4", "punycode": "~2.3.1", "react-hotkeys-hook": "~4.6.1", - "react-intersection-observer": "~9.14.0", + "react-intersection-observer": "~9.15.1", "react-quick-pinch-zoom": "~5.1.0", "react-router-dom": "6.6.2", "string-length": "6.0.0", @@ -58,18 +58,18 @@ "valtio": "2.1.2" }, "devDependencies": { - "@ianvs/prettier-plugin-sort-imports": "~4.4.0", + "@ianvs/prettier-plugin-sort-imports": "~4.4.1", "@lingui/cli": "~5.1.2", "@lingui/vite-plugin": "~5.1.2", - "@preact/preset-vite": "~2.9.3", + "@preact/preset-vite": "~2.10.0", "babel-plugin-macros": "~3.1.0", - "postcss": "~8.4.49", + "postcss": "~8.5.1", "postcss-dark-theme-class": "~1.3.0", - "postcss-preset-env": "~10.1.2", + "postcss-preset-env": "~10.1.3", "prettier": "3.4.2", - "sonda": "~0.6.2", + "sonda": "~0.7.1", "twitter-text": "~3.1.0", - "vite": "~6.0.5", + "vite": "~6.0.11", "vite-plugin-generate-file": "~0.2.0", "vite-plugin-html-config": "~2.0.2", "vite-plugin-pwa": "~0.21.1", diff --git a/src/app.css b/src/app.css index 7046cacbe..bb7adb624 100644 --- a/src/app.css +++ b/src/app.css @@ -459,7 +459,9 @@ a[href^='http'][rel*='nofollow']:visited:not(:has(div)) { transparent var(--curves-radius) ); background-size: var(--curves-radius); - background-position: top var(--backward), bottom var(--forward); + background-position: + top var(--backward), + bottom var(--forward); } } .timeline.contextual > li { @@ -519,7 +521,8 @@ a[href^='http'][rel*='nofollow']:visited:not(:has(div)) { } .timeline.contextual .replies[data-scroll-left]:not([data-scroll-left='0']) { background-color: var(--bg-color); - box-shadow: inset 0 -3px var(--comment-line-color), + box-shadow: + inset 0 -3px var(--comment-line-color), inset 0 3px var(--comment-line-color); overscroll-behavior-x: contain; /* touch-action: pan-x; */ @@ -1655,7 +1658,8 @@ body:has(.media-modal-container + .status-deck) .media-post-link { background-color: var(--button-bg-blur-color); /* backdrop-filter: blur(16px); */ z-index: 10; - box-shadow: 0 3px 8px -1px var(--drop-shadow-color), + box-shadow: + 0 3px 8px -1px var(--drop-shadow-color), 0 10px 36px -4px var(--button-bg-blur-color); transition: all 0.3s ease-in-out; } @@ -1815,7 +1819,8 @@ body:has(.media-modal-container + .status-deck) .media-post-link { box-shadow: none; } 100% { - box-shadow: 0 0 0 1px var(--outline-color), + box-shadow: + 0 0 0 1px var(--outline-color), 0 8px 16px -8px var(--drop-shadow-color); } } @@ -1944,7 +1949,8 @@ body > .szh-menu-container { background-color: var(--bg-color); border: 1px solid var(--outline-stronger-color); border-radius: 8px; - box-shadow: 0 3px 8px var(--drop-shadow-color), + box-shadow: + 0 3px 8px var(--drop-shadow-color), 0 6px 32px -6px var(--drop-shadow-color); text-align: start; /* animation: appear-smooth 0.15s ease-in-out; */ @@ -1978,8 +1984,10 @@ body > .szh-menu-container { } .szh-menu.menu-emphasized { border-color: var(--outline-hover-color); - box-shadow: 0 3px 16px -3px var(--drop-shadow-color), - 0 3px 32px var(--drop-shadow-color), 0 3px 48px var(--drop-shadow-color); + box-shadow: + 0 3px 16px -3px var(--drop-shadow-color), + 0 3px 32px var(--drop-shadow-color), + 0 3px 48px var(--drop-shadow-color); background-color: var(--bg-color); animation-duration: 0.3s; animation-timing-function: ease-in-out; @@ -1987,7 +1995,7 @@ body > .szh-menu-container { min-width: min(12em, 90vw); } .szh-menu .footer { - margin: 8px 0 -8px; + margin: 8px 0 -4px; padding: 8px 16px; color: var(--text-insignificant-color); font-size: 90%; @@ -2262,7 +2270,9 @@ body > .szh-menu-container { background-color: var(--bg-blur-color); backdrop-filter: blur(8px) saturate(3); border: var(--hairline-width) solid var(--bg-color); - text-shadow: 0 var(--hairline-width) var(--bg-color), 0 0 8px var(--bg-color); + text-shadow: + 0 var(--hairline-width) var(--bg-color), + 0 0 8px var(--bg-color); } .glass-menu .szh-menu__item--hover { /* background-color: var(--button-bg-blur-color); */ @@ -2363,14 +2373,16 @@ body > .szh-menu-container { text-shadow: 0 1px var(--bg-color); background-color: var(--bg-color); border: 2px solid var(--link-faded-color); - box-shadow: 0 3px 16px var(--drop-shadow-color), + box-shadow: + 0 3px 16px var(--drop-shadow-color), 0 6px 16px -3px var(--drop-shadow-color); } :is(.shiny-pill, :root .toastify.shiny-pill):hover:not(:active) { color: var(--text-color); border-color: var(--link-color); filter: none !important; - box-shadow: 0 3px 16px var(--drop-shadow-color), + box-shadow: + 0 3px 16px var(--drop-shadow-color), 0 6px 16px -3px var(--drop-shadow-color), 0 6px 16px var(--drop-shadow-color); } @@ -2386,7 +2398,8 @@ body > .szh-menu-container { text-shadow: 0 calc(var(--hairline-width) * -1) var(--drop-shadow-color); background-color: var(--button-bg-color); background-image: none; - box-shadow: 0 3px 8px -1px var(--drop-shadow-color), + box-shadow: + 0 3px 8px -1px var(--drop-shadow-color), 0 10px 36px -4px var(--button-bg-blur-color); text-align: center; width: fit-content; @@ -2551,10 +2564,14 @@ ul.link-list li a .icon { filter: none !important; } .nav-menu-button .avatar { - box-shadow: 0 0 0 2px var(--bg-color), 0 0 0 4px var(--link-light-color) !important; + box-shadow: + 0 0 0 2px var(--bg-color), + 0 0 0 4px var(--link-light-color) !important; } .nav-menu-button:is(:hover, :focus, .active) .avatar { - box-shadow: 0 0 0 2px var(--bg-color), 0 0 0 4px var(--link-color) !important; + box-shadow: + 0 0 0 2px var(--bg-color), + 0 0 0 4px var(--link-color) !important; } .nav-menu-button.with-avatar .icon { position: absolute; @@ -2598,10 +2615,14 @@ ul.link-list li a .icon { overscroll-behavior: auto; flex-basis: min(100vw, var(--column-size)); flex-shrink: 0; - box-shadow: -1px 0 var(--bg-color), -2px 0 var(--drop-shadow-color), + box-shadow: + -1px 0 var(--bg-color), + -2px 0 var(--drop-shadow-color), -3px 0 var(--bg-color); &:dir(rtl) { - box-shadow: 1px 0 var(--bg-color), 2px 0 var(--drop-shadow-color), + box-shadow: + 1px 0 var(--bg-color), + 2px 0 var(--drop-shadow-color), 3px 0 var(--bg-color); } } diff --git a/src/components/account-info.jsx b/src/components/account-info.jsx index fe30bf0d0..d809be5ff 100644 --- a/src/components/account-info.jsx +++ b/src/components/account-info.jsx @@ -378,15 +378,17 @@ function AccountInfo({

Unable to load account.

-

- - Go to account page - -

+ {isString ? ( +

+ {account} +

+ ) : ( +

+ + Go to account page + +

+ )} )} {uiState === 'loading' ? ( diff --git a/src/components/embed-modal.jsx b/src/components/embed-modal.jsx index 28bf22d3b..fdd9c3ed7 100644 --- a/src/components/embed-modal.jsx +++ b/src/components/embed-modal.jsx @@ -13,12 +13,7 @@ function EmbedModal({ html, url, width, height, onClose = () => {} }) { {url && ( - + Open in new window {' '} diff --git a/src/components/keyboard-shortcuts-help.jsx b/src/components/keyboard-shortcuts-help.jsx index 7d717aa59..e41d16d69 100644 --- a/src/components/keyboard-shortcuts-help.jsx +++ b/src/components/keyboard-shortcuts-help.jsx @@ -26,8 +26,10 @@ export default memo(function KeyboardShortcutsHelp() { }, { ignoreEventWhen: (e) => { - const hasModal = !!document.querySelector('#modal-container > *'); - return hasModal; + const isCatchUpPage = /\/catchup/i.test(location.hash); + return isCatchUpPage; + // const hasModal = !!document.querySelector('#modal-container > *'); + // return hasModal; }, }, ); diff --git a/src/components/notification.jsx b/src/components/notification.jsx index 6e3f93faf..c7f11a40e 100644 --- a/src/components/notification.jsx +++ b/src/components/notification.jsx @@ -510,7 +510,7 @@ function Notification({ Learn more @@ -526,7 +526,7 @@ function Notification({ Learn more @@ -550,7 +550,7 @@ function Notification({ { e.preventDefault(); @@ -654,7 +654,7 @@ function Notification({ { e.preventDefault(); diff --git a/src/components/status.jsx b/src/components/status.jsx index 924bfcd67..9d1da4966 100644 --- a/src/components/status.jsx +++ b/src/components/status.jsx @@ -918,6 +918,25 @@ function Status({ const actionsRef = useRef(); const isPublic = ['public', 'unlisted'].includes(visibility); const isPinnable = ['public', 'unlisted', 'private'].includes(visibility); + const menuFooter = + mediaNoDesc && !reblogged ? ( + + ) : ( + statusMonthsAgo >= 3 && ( + + ) + ); const StatusMenuItems = ( <> {!isSizeLarge && sameInstance && ( @@ -954,29 +973,7 @@ function Status({ } - menuFooter={ - mediaNoDesc && !reblogged ? ( - - ) : ( - statusMonthsAgo >= 3 && ( - - ) - ) - } + menuFooter={menuFooter} disabled={!canBoost} onClick={async () => { try { @@ -2282,7 +2279,7 @@ function Status({ alt={visibilityText[visibility]} /> */} {_(visibilityText[visibility])} •{' '} - + { // within a day new Date().getTime() - createdAtDate.getTime() < @@ -2429,15 +2426,7 @@ function Status({ } - menuFooter={ - mediaNoDesc && - !reblogged && ( - - ) - } + menuFooter={menuFooter} > @@ -2930,7 +2919,7 @@ function Card({ card, selfReferential, selfAuthor, instance }) { !!item.offsetHeight); if ( activeItem && activeItemRect.top < scrollableRef.current.clientHeight && @@ -188,7 +188,7 @@ function Timeline({ const activeItemRect = activeItem?.getBoundingClientRect(); const allItems = Array.from( scrollableRef.current.querySelectorAll(itemsSelector), - ); + ).filter((item) => !!item.offsetHeight); if ( activeItem && activeItemRect.top < scrollableRef.current.clientHeight && diff --git a/src/data/catalogs.json b/src/data/catalogs.json index ac841595e..03c253f8f 100644 --- a/src/data/catalogs.json +++ b/src/data/catalogs.json @@ -15,7 +15,7 @@ "code": "cs-CZ", "nativeName": "čeština", "name": "Czech", - "completion": 74 + "completion": 84 }, { "code": "de-DE", diff --git a/src/locales/ca-ES.po b/src/locales/ca-ES.po index cd4db69e7..f4f08dc7a 100644 --- a/src/locales/ca-ES.po +++ b/src/locales/ca-ES.po @@ -8,7 +8,7 @@ msgstr "" "Language: ca\n" "Project-Id-Version: phanpy\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-12-27 18:00\n" +"PO-Revision-Date: 2025-01-14 18:50\n" "Last-Translator: \n" "Language-Team: Catalan\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -76,7 +76,7 @@ msgstr "Verificat" #: src/components/account-block.jsx:223 #: src/components/account-info.jsx:782 msgid "Joined <0>{0}" -msgstr "S'hi va unir <0>{0}" +msgstr "S'hi va unir el <0>{0}" #: src/components/account-info.jsx:58 msgid "Forever" @@ -1410,6 +1410,7 @@ msgid "Accounts…" msgstr "Comptes…" #: src/components/nav-menu.jsx:315 +#: src/pages/login.jsx:27 #: src/pages/login.jsx:190 #: src/pages/status.jsx:837 #: src/pages/welcome.jsx:65 @@ -2708,7 +2709,7 @@ msgstr "Grups" #: src/pages/catchup.jsx:596 msgid "Showing {selectedFilterCategory, select, all {all posts} original {original posts} replies {replies} boosts {boosts} followedTags {followed tags} groups {groups} filtered {filtered posts}}, {sortBy, select, createdAt {{sortOrder, select, asc {oldest} desc {latest}}} reblogsCount {{sortOrder, select, asc {fewest boosts} desc {most boosts}}} favouritesCount {{sortOrder, select, asc {fewest likes} desc {most likes}}} repliesCount {{sortOrder, select, asc {fewest replies} desc {most replies}}} density {{sortOrder, select, asc {least dense} desc {most dense}}}} first{groupBy, select, account {, grouped by authors} other {}}" -msgstr "Es mostren {selectedFilterCategory, select, all {totes les publicacions} original {publicacions originals} replies {respostes} boosts {impulsos} followedTags {etiquetes seguides} groups {grups} filtered {publicacions filtrades}}, {sortBy, select, createdAt {{sortOrder, select, asc {més antic} desc {més recent}}} reblogsCount {{sortOrder, select, asc {amb menys impulsos} desc {amb més impulsos}}} favouritesCount {{sortOrder, select, asc {amb menys favorits} desc {amb més favorits}}} repliesCount {{sortOrder, select, asc {amb menys respostes} desc {amb més respostes}}} density {{sortOrder, select, asc {amb menys densitat} desc {amb més densitat}}}} primer{groupBy, select, account {, agrupat per autors} other {}}" +msgstr "Es mostren {selectedFilterCategory, select, all {totes les publicacions} original {publicacions originals} replies {respostes} boosts {impulsos} followedTags {etiquetes seguides} groups {grups} filtered {publicacions filtrades}}, {sortBy, select, createdAt {{sortOrder, select, asc {més antiga} desc {més recent}}} reblogsCount {{sortOrder, select, asc {amb menys impulsos} desc {amb més impulsos}}} favouritesCount {{sortOrder, select, asc {amb menys favorits} desc {amb més favorits}}} repliesCount {{sortOrder, select, asc {amb menys respostes} desc {amb més respostes}}} density {{sortOrder, select, asc {amb menys densitat} desc {amb més densitat}}}} primer{groupBy, select, account {, agrupat per autors} other {}}" #: src/pages/catchup.jsx:882 #: src/pages/catchup.jsx:906 diff --git a/src/locales/cs-CZ.po b/src/locales/cs-CZ.po index cb93913ef..3fbde706a 100644 --- a/src/locales/cs-CZ.po +++ b/src/locales/cs-CZ.po @@ -8,7 +8,7 @@ msgstr "" "Language: cs\n" "Project-Id-Version: phanpy\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-12-21 12:46\n" +"PO-Revision-Date: 2025-01-06 21:33\n" "Last-Translator: \n" "Language-Team: Czech\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -113,7 +113,7 @@ msgstr "Příspěvky" #: src/components/account-info.jsx:429 #: src/components/account-info.jsx:1120 -#: src/components/compose.jsx:2592 +#: src/components/compose.jsx:2624 #: src/components/media-alt-modal.jsx:46 #: src/components/media-modal.jsx:358 #: src/components/status.jsx:1737 @@ -241,7 +241,7 @@ msgstr "Blokováno" #: src/components/account-info.jsx:1096 msgid "Private note" -msgstr "" +msgstr "Soukromá poznámka" #: src/components/account-info.jsx:1153 msgid "Mention <0>@{username}" @@ -253,43 +253,43 @@ msgstr "Přeložit bio" #: src/components/account-info.jsx:1176 msgid "Edit private note" -msgstr "" +msgstr "Upravit soukromou poznámku" #: src/components/account-info.jsx:1176 msgid "Add private note" -msgstr "" +msgstr "Přidat soukromou poznámku" #: src/components/account-info.jsx:1196 msgid "Notifications enabled for @{username}'s posts." -msgstr "" +msgstr "Upozornění pro příspěvky od @{username} povolena." #: src/components/account-info.jsx:1197 msgid " Notifications disabled for @{username}'s posts." -msgstr "" +msgstr " Upozornění pro příspěvky od @{username} zakázána." #: src/components/account-info.jsx:1209 msgid "Disable notifications" -msgstr "" +msgstr "Vypnout upozornění" #: src/components/account-info.jsx:1210 msgid "Enable notifications" -msgstr "" +msgstr "Zapnout upozornění" #: src/components/account-info.jsx:1227 msgid "Boosts from @{username} enabled." -msgstr "" +msgstr "Boosty od @{username} povoleny." #: src/components/account-info.jsx:1228 msgid "Boosts from @{username} disabled." -msgstr "" +msgstr "Boosty od @{username} zakázány." #: src/components/account-info.jsx:1239 msgid "Disable boosts" -msgstr "" +msgstr "Zakázat boosty" #: src/components/account-info.jsx:1239 msgid "Enable boosts" -msgstr "" +msgstr "Povolit boosty" #: src/components/account-info.jsx:1255 #: src/components/account-info.jsx:1265 @@ -327,7 +327,7 @@ msgstr "Sdílet…" #: src/components/account-info.jsx:1354 msgid "Unmuted @{username}" -msgstr "" +msgstr "Zrušeno ztlumení @{username}" #: src/components/account-info.jsx:1366 msgid "Unmute <0>@{username}" @@ -340,11 +340,11 @@ msgstr "Ztišit <0>@{username}…" #. placeholder {0}: typeof MUTE_DURATIONS_LABELS[duration] === 'function' ? MUTE_DURATIONS_LABELS[duration]() : _(MUTE_DURATIONS_LABELS[duration]) #: src/components/account-info.jsx:1414 msgid "Muted @{username} for {0}" -msgstr "" +msgstr "Ztlumený @{username} na {0}" #: src/components/account-info.jsx:1426 msgid "Unable to mute @{username}" -msgstr "" +msgstr "Nelze ztlumit @{username}" #: src/components/account-info.jsx:1447 msgid "Remove <0>@{username} from followers?" @@ -352,7 +352,7 @@ msgstr "Odstranit <0>@{username} ze sledujících?" #: src/components/account-info.jsx:1467 msgid "@{username} removed from followers" -msgstr "" +msgstr "@{username} odebrán/a ze sledujících" #: src/components/account-info.jsx:1479 msgid "Remove follower…" @@ -364,19 +364,19 @@ msgstr "Blokovat <0>@{username}?" #: src/components/account-info.jsx:1514 msgid "Unblocked @{username}" -msgstr "" +msgstr "Odblokován @{username}" #: src/components/account-info.jsx:1522 msgid "Blocked @{username}" -msgstr "" +msgstr "Zablokován @{username}" #: src/components/account-info.jsx:1530 msgid "Unable to unblock @{username}" -msgstr "" +msgstr "Nelze odblokovat uživatele @{username}" #: src/components/account-info.jsx:1532 msgid "Unable to block @{username}" -msgstr "" +msgstr "Nelze zablokovat uživatele @{username}" #: src/components/account-info.jsx:1542 msgid "Unblock <0>@{username}" @@ -397,12 +397,12 @@ msgstr "Upravit profil" #: src/components/account-info.jsx:1624 msgid "Withdraw follow request?" -msgstr "" +msgstr "Zrušit žádost o sledování?" #. placeholder {1}: info.acct || info.username #: src/components/account-info.jsx:1625 msgid "Unfollow @{1}?" -msgstr "" +msgstr "Přestat sledovat @{1}?" #: src/components/account-info.jsx:1676 msgid "Unfollow…" @@ -424,10 +424,10 @@ msgstr "Sledovat" #: src/components/account-info.jsx:2098 #: src/components/account-sheet.jsx:38 #: src/components/compose.jsx:859 -#: src/components/compose.jsx:2548 -#: src/components/compose.jsx:3022 -#: src/components/compose.jsx:3231 -#: src/components/compose.jsx:3461 +#: src/components/compose.jsx:2580 +#: src/components/compose.jsx:3054 +#: src/components/compose.jsx:3263 +#: src/components/compose.jsx:3493 #: src/components/drafts.jsx:59 #: src/components/embed-modal.jsx:13 #: src/components/generic-accounts.jsx:143 @@ -459,11 +459,11 @@ msgstr "Přeložit bio" #: src/components/account-info.jsx:1908 msgid "Unable to remove from list." -msgstr "" +msgstr "Nelze odstranit ze seznamu." #: src/components/account-info.jsx:1909 msgid "Unable to add to list." -msgstr "" +msgstr "Nelze přidat do seznamu." #: src/components/account-info.jsx:1928 #: src/pages/lists.jsx:105 @@ -487,7 +487,7 @@ msgstr "Soukromá poznámka o <0> @{0}" #: src/components/account-info.jsx:2032 msgid "Unable to update private note." -msgstr "" +msgstr "Nelze aktualizovat soukromou poznámku." #: src/components/account-info.jsx:2055 #: src/components/account-info.jsx:2226 @@ -500,7 +500,7 @@ msgstr "Uložit a zavřít" #: src/components/account-info.jsx:2154 msgid "Unable to update profile." -msgstr "" +msgstr "Nelze aktualizovat profil." #: src/components/account-info.jsx:2161 #: src/components/list-add-edit.jsx:105 @@ -566,7 +566,7 @@ msgstr "Vytvořit" #: src/components/compose.jsx:206 msgid "Add media" -msgstr "" +msgstr "Přidat média" #: src/components/compose.jsx:207 msgid "Add custom emoji" @@ -574,7 +574,7 @@ msgstr "Přidat vlastní emoji" #: src/components/compose.jsx:208 msgid "Add GIF" -msgstr "" +msgstr "Přidat GIF" #: src/components/compose.jsx:209 msgid "Add poll" @@ -711,7 +711,7 @@ msgid "Mark media as sensitive" msgstr "Označit média jako citlivá" #: src/components/compose.jsx:1381 -#: src/components/compose.jsx:3080 +#: src/components/compose.jsx:3112 #: src/components/shortcuts-settings.jsx:715 #: src/pages/list.jsx:362 msgid "Add" @@ -743,31 +743,31 @@ msgstr "Stahování GIFu…" msgid "Failed to download GIF" msgstr "Nepodařilo se stáhnout GIF" -#: src/components/compose.jsx:1879 -#: src/components/compose.jsx:1956 +#: src/components/compose.jsx:1884 +#: src/components/compose.jsx:1961 #: src/components/nav-menu.jsx:239 msgid "More…" msgstr "Více…" -#: src/components/compose.jsx:2361 +#: src/components/compose.jsx:2393 msgid "Uploaded" msgstr "Odesláno" -#: src/components/compose.jsx:2374 +#: src/components/compose.jsx:2406 msgid "Image description" msgstr "Popis obrázku" -#: src/components/compose.jsx:2375 +#: src/components/compose.jsx:2407 msgid "Video description" msgstr "Popis videa" -#: src/components/compose.jsx:2376 +#: src/components/compose.jsx:2408 msgid "Audio description" msgstr "Popis audia" #. placeholder {0}: prettyBytes( imageSize, ) #. placeholder {1}: prettyBytes(imageSizeLimit) -#: src/components/compose.jsx:2412 +#: src/components/compose.jsx:2444 msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {0} to {1} or lower." msgstr "Velikost souboru je příliš velká. Při nahrávání mohou vzniknout problémy. Zkuste zmenšit velikost souboru z {0} na {1} nebo nižší." @@ -775,163 +775,163 @@ msgstr "Velikost souboru je příliš velká. Při nahrávání mohou vzniknout #. placeholder {3}: i18n.number(height) #. placeholder {4}: i18n.number(newWidth) #. placeholder {5}: i18n.number( newHeight, ) -#: src/components/compose.jsx:2424 +#: src/components/compose.jsx:2456 msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {2}×{3}px to {4}×{5}px." -msgstr "" +msgstr "Rozlišení je příliš velké. Při nahrávání mohou vzniknout problémy. Zkuste zmenšit rozlišení z {2}×{3}px na {4}×{5}px." #. placeholder {6}: prettyBytes( videoSize, ) #. placeholder {7}: prettyBytes(videoSizeLimit) -#: src/components/compose.jsx:2432 +#: src/components/compose.jsx:2464 msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {6} to {7} or lower." -msgstr "" +msgstr "Velikost souboru je příliš velká. Při nahrávání mohou vzniknout problémy. Zkuste zmenšit velikost souboru z {6} na {7} nebo nižší." #. placeholder {8}: i18n.number( width, ) #. placeholder {9}: i18n.number(height) #. placeholder {10}: i18n.number(newWidth) #. placeholder {11}: i18n.number( newHeight, ) -#: src/components/compose.jsx:2444 +#: src/components/compose.jsx:2476 msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {8}×{9}px to {10}×{11}px." -msgstr "" +msgstr "Rozměr je příliš velký. Při nahrávání mohou vzniknout problémy. Zkuste zmenšit velikost z {8}×{9}px na {10}×{11}px." -#: src/components/compose.jsx:2452 +#: src/components/compose.jsx:2484 msgid "Frame rate too high. Uploading might encounter issues." msgstr "Snímková frekvence je příliš vysoká. Při nahrávání mohou vzniknout problémy." -#: src/components/compose.jsx:2512 -#: src/components/compose.jsx:2762 +#: src/components/compose.jsx:2544 +#: src/components/compose.jsx:2794 #: src/components/shortcuts-settings.jsx:726 #: src/pages/catchup.jsx:1074 #: src/pages/filters.jsx:412 msgid "Remove" msgstr "Odstranit" -#: src/components/compose.jsx:2529 +#: src/components/compose.jsx:2561 #: src/compose.jsx:84 msgid "Error" msgstr "Chyba" -#: src/components/compose.jsx:2554 +#: src/components/compose.jsx:2586 msgid "Edit image description" msgstr "Upravit popis obrázku" -#: src/components/compose.jsx:2555 +#: src/components/compose.jsx:2587 msgid "Edit video description" msgstr "Upravit popis videa" -#: src/components/compose.jsx:2556 +#: src/components/compose.jsx:2588 msgid "Edit audio description" msgstr "Upravit popis audia" -#: src/components/compose.jsx:2601 -#: src/components/compose.jsx:2650 +#: src/components/compose.jsx:2633 +#: src/components/compose.jsx:2682 msgid "Generating description. Please wait…" msgstr "Generování popisu. Počkejte prosím…" #. placeholder {12}: e.message -#: src/components/compose.jsx:2621 +#: src/components/compose.jsx:2653 msgid "Failed to generate description: {12}" -msgstr "" +msgstr "Nepodařilo se vytvořit popisek: {12}" -#: src/components/compose.jsx:2622 +#: src/components/compose.jsx:2654 msgid "Failed to generate description" msgstr "Nepodařilo se vytvořit popis" -#: src/components/compose.jsx:2634 -#: src/components/compose.jsx:2640 -#: src/components/compose.jsx:2686 +#: src/components/compose.jsx:2666 +#: src/components/compose.jsx:2672 +#: src/components/compose.jsx:2718 msgid "Generate description…" msgstr "Vytvořit popis…" #. placeholder {13}: e?.message ? `: ${e.message}` : '' -#: src/components/compose.jsx:2673 +#: src/components/compose.jsx:2705 msgid "Failed to generate description{13}" -msgstr "" +msgstr "Nepodařilo se vytvořit popisek{13}" #. placeholder {0}: localeCode2Text(lang) -#: src/components/compose.jsx:2688 +#: src/components/compose.jsx:2720 msgid "({0}) <0>— experimental" msgstr "({0}) <0>– experimentální" -#: src/components/compose.jsx:2707 +#: src/components/compose.jsx:2739 msgid "Done" msgstr "Hotovo" #. placeholder {0}: i + 1 -#: src/components/compose.jsx:2743 +#: src/components/compose.jsx:2775 msgid "Choice {0}" -msgstr "" +msgstr "Volba {0}" -#: src/components/compose.jsx:2790 +#: src/components/compose.jsx:2822 msgid "Multiple choices" msgstr "Více možností" -#: src/components/compose.jsx:2793 +#: src/components/compose.jsx:2825 msgid "Duration" msgstr "Trvání" -#: src/components/compose.jsx:2824 +#: src/components/compose.jsx:2856 msgid "Remove poll" msgstr "Odstranit anketu" -#: src/components/compose.jsx:3039 +#: src/components/compose.jsx:3071 msgid "Search accounts" -msgstr "" +msgstr "Hledat účty" -#: src/components/compose.jsx:3093 +#: src/components/compose.jsx:3125 #: src/components/generic-accounts.jsx:228 msgid "Error loading accounts" msgstr "Chyba při načítání účtů" -#: src/components/compose.jsx:3237 +#: src/components/compose.jsx:3269 msgid "Custom emojis" msgstr "Vlastní emoji" -#: src/components/compose.jsx:3257 +#: src/components/compose.jsx:3289 msgid "Search emoji" -msgstr "" +msgstr "Hledat emoji" -#: src/components/compose.jsx:3288 +#: src/components/compose.jsx:3320 msgid "Error loading custom emojis" msgstr "Chyba při načítání vlastních emoji" -#: src/components/compose.jsx:3299 +#: src/components/compose.jsx:3331 msgid "Recently used" -msgstr "" +msgstr "Nedávno použité" -#: src/components/compose.jsx:3300 +#: src/components/compose.jsx:3332 msgid "Others" -msgstr "" +msgstr "Ostatní" #. placeholder {0}: i18n.number(emojis.length - max) -#: src/components/compose.jsx:3338 +#: src/components/compose.jsx:3370 msgid "{0} more…" msgstr "{0} další…" -#: src/components/compose.jsx:3476 +#: src/components/compose.jsx:3508 msgid "Search GIFs" -msgstr "" +msgstr "Hledat GIFy" -#: src/components/compose.jsx:3491 +#: src/components/compose.jsx:3523 msgid "Powered by GIPHY" -msgstr "" +msgstr "Běží na GIPHY" -#: src/components/compose.jsx:3499 +#: src/components/compose.jsx:3531 msgid "Type to search GIFs" msgstr "Zadejte pro vyhledávání GIFů" -#: src/components/compose.jsx:3597 +#: src/components/compose.jsx:3629 #: src/components/media-modal.jsx:462 #: src/components/timeline.jsx:893 msgid "Previous" msgstr "Zpět" -#: src/components/compose.jsx:3615 +#: src/components/compose.jsx:3647 #: src/components/media-modal.jsx:481 #: src/components/timeline.jsx:910 msgid "Next" msgstr "Další" -#: src/components/compose.jsx:3632 +#: src/components/compose.jsx:3664 msgid "Error loading GIFs" msgstr "Chyba při načítání GIFů" @@ -1109,11 +1109,11 @@ msgstr "<0>1 do <1>9" #: src/components/keyboard-shortcuts-help.jsx:118 msgid "Focus next column in multi-column mode" -msgstr "" +msgstr "Zaměřit se na další sloupec v režimu více sloupců" #: src/components/keyboard-shortcuts-help.jsx:122 msgid "Focus previous column in multi-column mode" -msgstr "" +msgstr "Zaměřit se na předchozí sloupec v režimu více sloupců" #: src/components/keyboard-shortcuts-help.jsx:126 msgid "Compose new post" @@ -1534,7 +1534,7 @@ msgstr "Upozornění na moderování" #: src/components/notification.jsx:265 msgid "Your {year} #Wrapstodon is here!" -msgstr "" +msgstr "Tvůj {year} #Wrapstodon je tady!" #: src/components/notification.jsx:271 msgid "An admin from <0>{from} has suspended <1>{targetName}, which means you can no longer receive updates from them or interact with them." @@ -1605,7 +1605,7 @@ msgstr "Další informace <0/>" #: src/components/notification.jsx:540 msgid "View #Wrapstodon" -msgstr "" +msgstr "Zobrazit #Wrapstodon" #: src/components/notification.jsx:770 #: src/components/status.jsx:267 @@ -2124,17 +2124,17 @@ msgstr "Nelíbí se @{0}" #. placeholder {1}: username || acct #: src/components/status.jsx:791 msgid "Liked @{1}'s post" -msgstr "" +msgstr "Líbí se příspěvek od @{1}" #. placeholder {2}: username || acct #: src/components/status.jsx:830 msgid "Unbookmarked @{2}'s post" -msgstr "" +msgstr "Odebrali jste záložku z příspěvku od @{2}" #. placeholder {3}: username || acct #: src/components/status.jsx:831 msgid "Bookmarked @{3}'s post" -msgstr "" +msgstr "Přidali jste příspěvek od @{3} do záložek" #: src/components/status.jsx:937 #: src/components/status.jsx:999 @@ -2161,12 +2161,12 @@ msgstr "Starý příspěvek (<0>{0})" #. placeholder {4}: username || acct #: src/components/status.jsx:987 msgid "Unboosted @{4}'s post" -msgstr "" +msgstr "Zrušili jste boostnutí příspěvku od @{4}" #. placeholder {5}: username || acct #: src/components/status.jsx:988 msgid "Boosted @{5}'s post" -msgstr "" +msgstr "Boostnuli jste příspěvek od @{5}" #: src/components/status.jsx:1000 msgid "Boost…" @@ -2276,12 +2276,12 @@ msgstr "Nahlásit příspěvek…" #. placeholder {6}: username || acct #: src/components/status.jsx:1442 msgid "Unboosted @{6}'s post" -msgstr "" +msgstr "Zrušili jste boostnutí příspěvku od @{6}" #. placeholder {7}: username || acct #: src/components/status.jsx:1443 msgid "Boosted @{7}'s post" -msgstr "" +msgstr "Boostnuli jste příspěvek od @{7}" #: src/components/status.jsx:1728 #: src/components/status.jsx:1764 @@ -2343,7 +2343,7 @@ msgstr "Komentáře" #. More from [Author] #: src/components/status.jsx:2696 msgid "More from <0/>" -msgstr "" +msgstr "Více od <0/>" #: src/components/status.jsx:2998 msgid "Edit History" @@ -2436,7 +2436,7 @@ msgstr "Zkuste to znovu" #. placeholder {0}: fItems.length #: src/components/timeline.jsx:591 msgid "{0, plural, one {# Boost} other {# Boosts}}" -msgstr "" +msgstr "{0, plural, one {# Boostnutí} other {# Boostnutí}}" #: src/components/timeline.jsx:596 msgid "Pinned posts" @@ -2610,7 +2610,7 @@ msgstr "Přepněte na tento účet" #: src/pages/accounts.jsx:133 msgid "Switch in new tab/window" -msgstr "" +msgstr "Přepnout v novém panelu/okně" #: src/pages/accounts.jsx:147 msgid "View profile…" @@ -2904,7 +2904,7 @@ msgstr "Filtrováno: {0}" #: src/pages/favourites.jsx:26 msgid "No likes yet. Go like something!" -msgstr "" +msgstr "Neudělili jste žádné \"líbí se mi\". Označte něco, co se vám líbí!" #: src/pages/favourites.jsx:27 msgid "Unable to load likes." @@ -3007,7 +3007,7 @@ msgstr "Vypršení platnosti" #: src/pages/filters.jsx:526 msgid "Filtered post will be…" -msgstr "" +msgstr "Filtrovaný příspěvek bude…" #: src/pages/filters.jsx:536 msgid "minimized" @@ -3031,11 +3031,11 @@ msgstr "Vypršelo" #: src/pages/filters.jsx:611 msgid "Expiring <0/>" -msgstr "" +msgstr "Vyprší <0/>" #: src/pages/filters.jsx:615 msgid "Never expires" -msgstr "" +msgstr "Nikdy nevyprší" #. placeholder {0}: followedHashtags.length #: src/pages/followed-hashtags.jsx:71 @@ -3061,19 +3061,19 @@ msgstr "Nelze načíst příspěvky." #: src/pages/hashtag.jsx:56 msgid "{hashtagTitle} (Media only) on {instance}" -msgstr "" +msgstr "{hashtagTitle} (pouze média) na {instance}" #: src/pages/hashtag.jsx:57 msgid "{hashtagTitle} on {instance}" -msgstr "" +msgstr "{hashtagTitle} na {instance}" #: src/pages/hashtag.jsx:59 msgid "{hashtagTitle} (Media only)" -msgstr "" +msgstr "{hashtagTitle} (pouze média)" #: src/pages/hashtag.jsx:60 msgid "{hashtagTitle}" -msgstr "" +msgstr "{hashtagTitle}" #: src/pages/hashtag.jsx:182 msgid "No one has posted anything with this tag yet." @@ -3085,7 +3085,7 @@ msgstr "Nepodařilo se načíst příspěvky s tímto štítkem" #: src/pages/hashtag.jsx:209 msgid "Unfollow #{hashtag}?" -msgstr "" +msgstr "Přestat sledovat #{hashtag}?" #: src/pages/hashtag.jsx:224 msgid "Unfollowed #{hashtag}" @@ -3093,28 +3093,28 @@ msgstr "#{hashtag} již není sledován" #: src/pages/hashtag.jsx:239 msgid "Followed #{hashtag}" -msgstr "" +msgstr "Sledován #{hashtag}" #: src/pages/hashtag.jsx:255 msgid "Following…" -msgstr "" +msgstr "Sleduji…" #: src/pages/hashtag.jsx:283 msgid "Unfeatured on profile" -msgstr "" +msgstr "Odebráno z profilu" #: src/pages/hashtag.jsx:297 msgid "Unable to unfeature on profile" -msgstr "" +msgstr "Nepodařilo se odebrat z profilu" #: src/pages/hashtag.jsx:306 #: src/pages/hashtag.jsx:322 msgid "Featured on profile" -msgstr "" +msgstr "Zmíněno v profilu" #: src/pages/hashtag.jsx:329 msgid "Feature on profile" -msgstr "" +msgstr "Zmínit v profilu" #: src/pages/hashtag.jsx:394 msgid "{TOTAL_TAGS_LIMIT, plural, other {Max # tags}}" @@ -3134,7 +3134,7 @@ msgstr "" #: src/pages/hashtag.jsx:472 msgid "This shortcut already exists" -msgstr "" +msgstr "Tato zkratka již existuje" #: src/pages/hashtag.jsx:475 msgid "Hashtag shortcut added" @@ -3170,37 +3170,37 @@ msgstr "Přejít na moji instanci (<0>{currentInstance})" #: src/pages/home.jsx:210 msgid "Unable to fetch notifications." -msgstr "" +msgstr "Nelze načíst oznámení." #: src/pages/home.jsx:230 msgid "<0>New <1>Follow Requests" -msgstr "" +msgstr "<0>Nové <1>Žádosti o sledování" #: src/pages/home.jsx:236 msgid "See all" -msgstr "" +msgstr "Zobrazit vše" #: src/pages/http-route.jsx:68 msgid "Resolving…" -msgstr "" +msgstr "Připojování…" #: src/pages/http-route.jsx:79 msgid "Unable to resolve URL" -msgstr "" +msgstr "Nelze najít URL adresu" #: src/pages/list.jsx:108 msgid "Nothing yet." -msgstr "" +msgstr "Zatím nic." #: src/pages/list.jsx:177 #: src/pages/list.jsx:281 msgid "Manage members" -msgstr "" +msgstr "Spravovat členy" #. placeholder {0}: account.username #: src/pages/list.jsx:316 msgid "Remove <0>@{0} from list?" -msgstr "" +msgstr "Odstranit <0>@{0} ze seznamu?" #: src/pages/list.jsx:362 msgid "Remove…" @@ -3213,12 +3213,12 @@ msgstr "" #: src/pages/lists.jsx:109 msgid "No lists yet." -msgstr "" +msgstr "Nemáte žádné seznamy." #: src/pages/login.jsx:110 #: src/pages/login.jsx:123 msgid "Failed to register application" -msgstr "" +msgstr "Nepodařilo se zaregistrovat aplikaci" #: src/pages/login.jsx:209 msgid "instance domain" @@ -3226,7 +3226,7 @@ msgstr "" #: src/pages/login.jsx:233 msgid "e.g. “mastodon.social”" -msgstr "" +msgstr "např. “mastodon.social”" #: src/pages/login.jsx:244 msgid "Failed to log in. Please try again or try another instance." @@ -3238,7 +3238,7 @@ msgstr "" #: src/pages/login.jsx:257 msgid "Continue" -msgstr "" +msgstr "Pokračovat" #: src/pages/login.jsx:265 msgid "Don't have an account? Create one!" @@ -3319,7 +3319,7 @@ msgstr "Dnes" #: src/pages/notifications.jsx:796 msgid "You're all caught up." -msgstr "" +msgstr "Přečetli jste všechny komentáře." #: src/pages/notifications.jsx:819 msgid "Yesterday" @@ -3483,11 +3483,11 @@ msgstr "Vzhled" #: src/pages/settings.jsx:168 msgid "Light" -msgstr "" +msgstr "Světlý" #: src/pages/settings.jsx:179 msgid "Dark" -msgstr "" +msgstr "Tmavý" #: src/pages/settings.jsx:192 msgid "Auto" @@ -3518,12 +3518,12 @@ msgstr "" #: src/pages/settings.jsx:273 msgid "Default visibility" -msgstr "" +msgstr "Výchozí viditelnost" #: src/pages/settings.jsx:274 #: src/pages/settings.jsx:320 msgid "Synced" -msgstr "" +msgstr "Synchronizováno" #: src/pages/settings.jsx:299 msgid "Failed to update posting privacy" @@ -3551,7 +3551,7 @@ msgstr "" #: src/pages/settings.jsx:389 msgid "Translate to " -msgstr "" +msgstr "Přeložit do " #: src/pages/settings.jsx:400 msgid "System language ({systemTargetLanguageText})" @@ -3839,15 +3839,15 @@ msgstr "" #: src/pages/welcome.jsx:65 msgid "Log in with Mastodon" -msgstr "" +msgstr "Přihlásit účtem Mastodon" #: src/pages/welcome.jsx:71 msgid "Sign up" -msgstr "" +msgstr "Vytvořit účet" #: src/pages/welcome.jsx:78 msgid "Connect your existing Mastodon/Fediverse account.<0/>Your credentials are not stored on this server." -msgstr "" +msgstr "Připojte svůj existující Mastodon/Fediverse účet.<0/>Vaše přihlašovací údaje nejsou uloženy na tomto serveru." #: src/pages/welcome.jsx:95 msgid "<0>Built by <1>@cheeaun. <2>Privacy Policy." diff --git a/src/locales/en.po b/src/locales/en.po index 22a5b8829..b1a3de440 100644 --- a/src/locales/en.po +++ b/src/locales/en.po @@ -28,12 +28,12 @@ msgid "Last posted: {0}" msgstr "" #: src/components/account-block.jsx:162 -#: src/components/account-info.jsx:636 +#: src/components/account-info.jsx:638 msgid "Automated" msgstr "" #: src/components/account-block.jsx:169 -#: src/components/account-info.jsx:641 +#: src/components/account-info.jsx:643 #: src/components/status.jsx:514 msgid "Group" msgstr "" @@ -43,17 +43,17 @@ msgid "Mutual" msgstr "" #: src/components/account-block.jsx:183 -#: src/components/account-info.jsx:1682 +#: src/components/account-info.jsx:1684 msgid "Requested" msgstr "" #: src/components/account-block.jsx:187 -#: src/components/account-info.jsx:1673 +#: src/components/account-info.jsx:1675 msgid "Following" msgstr "" #: src/components/account-block.jsx:191 -#: src/components/account-info.jsx:1064 +#: src/components/account-info.jsx:1066 msgid "Follows you" msgstr "" @@ -62,14 +62,14 @@ msgid "{followersCount, plural, one {# follower} other {# followers}}" msgstr "" #: src/components/account-block.jsx:208 -#: src/components/account-info.jsx:682 +#: src/components/account-info.jsx:684 msgid "Verified" msgstr "" #. placeholder {0}: niceDateTime(createdAt, { hideTime: true, }) #. placeholder {0}: niceDateTime(createdAt, { hideTime: true, }) #: src/components/account-block.jsx:223 -#: src/components/account-info.jsx:782 +#: src/components/account-info.jsx:784 msgid "Joined <0>{0}" msgstr "" @@ -81,41 +81,41 @@ msgstr "" msgid "Unable to load account." msgstr "" -#: src/components/account-info.jsx:387 +#: src/components/account-info.jsx:388 msgid "Go to account page" msgstr "" -#: src/components/account-info.jsx:415 -#: src/components/account-info.jsx:704 -#: src/components/account-info.jsx:734 +#: src/components/account-info.jsx:417 +#: src/components/account-info.jsx:706 +#: src/components/account-info.jsx:736 msgid "Followers" msgstr "" #. js-lingui-explicit-id -#: src/components/account-info.jsx:418 -#: src/components/account-info.jsx:744 -#: src/components/account-info.jsx:761 +#: src/components/account-info.jsx:420 +#: src/components/account-info.jsx:746 +#: src/components/account-info.jsx:763 msgid "following.stats" msgstr "Following" -#: src/components/account-info.jsx:421 -#: src/components/account-info.jsx:778 +#: src/components/account-info.jsx:423 +#: src/components/account-info.jsx:780 #: src/pages/account-statuses.jsx:483 #: src/pages/search.jsx:328 #: src/pages/search.jsx:475 msgid "Posts" msgstr "" -#: src/components/account-info.jsx:429 -#: src/components/account-info.jsx:1120 +#: src/components/account-info.jsx:431 +#: src/components/account-info.jsx:1122 #: src/components/compose.jsx:2624 #: src/components/media-alt-modal.jsx:46 #: src/components/media-modal.jsx:358 -#: src/components/status.jsx:1737 -#: src/components/status.jsx:1754 -#: src/components/status.jsx:1878 -#: src/components/status.jsx:2490 -#: src/components/status.jsx:2493 +#: src/components/status.jsx:1734 +#: src/components/status.jsx:1751 +#: src/components/status.jsx:1875 +#: src/components/status.jsx:2479 +#: src/components/status.jsx:2482 #: src/pages/account-statuses.jsx:527 #: src/pages/accounts.jsx:110 #: src/pages/hashtag.jsx:200 @@ -126,50 +126,50 @@ msgstr "" msgid "More" msgstr "" -#: src/components/account-info.jsx:441 +#: src/components/account-info.jsx:443 msgid "<0>{displayName} has indicated that their new account is now:" msgstr "" -#: src/components/account-info.jsx:586 -#: src/components/account-info.jsx:1278 +#: src/components/account-info.jsx:588 +#: src/components/account-info.jsx:1280 msgid "Handle copied" msgstr "Handle copied" -#: src/components/account-info.jsx:589 -#: src/components/account-info.jsx:1281 +#: src/components/account-info.jsx:591 +#: src/components/account-info.jsx:1283 msgid "Unable to copy handle" msgstr "Unable to copy handle" -#: src/components/account-info.jsx:595 -#: src/components/account-info.jsx:1287 +#: src/components/account-info.jsx:597 +#: src/components/account-info.jsx:1289 msgid "Copy handle" msgstr "" -#: src/components/account-info.jsx:601 +#: src/components/account-info.jsx:603 msgid "Go to original profile page" msgstr "" -#: src/components/account-info.jsx:608 +#: src/components/account-info.jsx:610 msgid "View profile image" msgstr "" -#: src/components/account-info.jsx:614 +#: src/components/account-info.jsx:616 msgid "View profile header" msgstr "" -#: src/components/account-info.jsx:631 +#: src/components/account-info.jsx:633 msgid "In Memoriam" msgstr "" -#: src/components/account-info.jsx:711 -#: src/components/account-info.jsx:752 +#: src/components/account-info.jsx:713 +#: src/components/account-info.jsx:754 msgid "This user has chosen to not make this information available." msgstr "This user has chosen to not make this information available." #. placeholder {0}: ( postingStats.originals / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', }) #. placeholder {1}: ( postingStats.replies / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', }) #. placeholder {2}: ( postingStats.boosts / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', }) -#: src/components/account-info.jsx:807 +#: src/components/account-info.jsx:809 msgid "{0} original posts, {1} replies, {2} boosts" msgstr "{0} original posts, {1} replies, {2} boosts" @@ -180,23 +180,23 @@ msgstr "{0} original posts, {1} replies, {2} boosts" #. placeholder {4}: postingStats.total #. placeholder {5}: postingStats.total #. placeholder {6}: postingStats.daysSinceLastPost -#: src/components/account-info.jsx:823 +#: src/components/account-info.jsx:825 msgid "{0, plural, one {{1, plural, one {Last 1 post in the past 1 day} other {Last 1 post in the past {2} days}}} other {{3, plural, one {Last {4} posts in the past 1 day} other {Last {5} posts in the past {6} days}}}}" msgstr "" #. placeholder {0}: postingStats.total #. placeholder {1}: postingStats.total -#: src/components/account-info.jsx:836 +#: src/components/account-info.jsx:838 msgid "{0, plural, one {Last 1 post in the past year(s)} other {Last {1} posts in the past year(s)}}" msgstr "" -#: src/components/account-info.jsx:860 +#: src/components/account-info.jsx:862 #: src/pages/catchup.jsx:70 msgid "Original" msgstr "" -#: src/components/account-info.jsx:864 -#: src/components/status.jsx:2268 +#: src/components/account-info.jsx:866 +#: src/components/status.jsx:2265 #: src/pages/catchup.jsx:71 #: src/pages/catchup.jsx:1445 #: src/pages/catchup.jsx:2058 @@ -205,218 +205,218 @@ msgstr "" msgid "Replies" msgstr "" -#: src/components/account-info.jsx:868 +#: src/components/account-info.jsx:870 #: src/pages/catchup.jsx:72 #: src/pages/catchup.jsx:1447 #: src/pages/catchup.jsx:2070 -#: src/pages/settings.jsx:1155 +#: src/pages/settings.jsx:1151 msgid "Boosts" msgstr "" -#: src/components/account-info.jsx:874 +#: src/components/account-info.jsx:876 msgid "Post stats unavailable." msgstr "" -#: src/components/account-info.jsx:905 +#: src/components/account-info.jsx:907 msgid "View post stats" msgstr "" #. placeholder {0}: niceDateTime(lastStatusAt, { hideTime: true, }) -#: src/components/account-info.jsx:1068 +#: src/components/account-info.jsx:1070 msgid "Last post: <0>{0}" msgstr "" -#: src/components/account-info.jsx:1082 +#: src/components/account-info.jsx:1084 msgid "Muted" msgstr "" -#: src/components/account-info.jsx:1087 +#: src/components/account-info.jsx:1089 msgid "Blocked" msgstr "" -#: src/components/account-info.jsx:1096 +#: src/components/account-info.jsx:1098 msgid "Private note" msgstr "Private note" -#: src/components/account-info.jsx:1153 +#: src/components/account-info.jsx:1155 msgid "Mention <0>@{username}" msgstr "" -#: src/components/account-info.jsx:1165 +#: src/components/account-info.jsx:1167 msgid "Translate bio" msgstr "" -#: src/components/account-info.jsx:1176 +#: src/components/account-info.jsx:1178 msgid "Edit private note" msgstr "Edit private note" -#: src/components/account-info.jsx:1176 +#: src/components/account-info.jsx:1178 msgid "Add private note" msgstr "Add private note" -#: src/components/account-info.jsx:1196 +#: src/components/account-info.jsx:1198 msgid "Notifications enabled for @{username}'s posts." msgstr "Notifications enabled for @{username}'s posts." -#: src/components/account-info.jsx:1197 +#: src/components/account-info.jsx:1199 msgid " Notifications disabled for @{username}'s posts." msgstr " Notifications disabled for @{username}'s posts." -#: src/components/account-info.jsx:1209 +#: src/components/account-info.jsx:1211 msgid "Disable notifications" msgstr "Disable notifications" -#: src/components/account-info.jsx:1210 +#: src/components/account-info.jsx:1212 msgid "Enable notifications" msgstr "Enable notifications" -#: src/components/account-info.jsx:1227 +#: src/components/account-info.jsx:1229 msgid "Boosts from @{username} enabled." msgstr "Boosts from @{username} enabled." -#: src/components/account-info.jsx:1228 +#: src/components/account-info.jsx:1230 msgid "Boosts from @{username} disabled." msgstr "Boosts from @{username} disabled." -#: src/components/account-info.jsx:1239 +#: src/components/account-info.jsx:1241 msgid "Disable boosts" msgstr "Disable boosts" -#: src/components/account-info.jsx:1239 +#: src/components/account-info.jsx:1241 msgid "Enable boosts" msgstr "Enable boosts" -#: src/components/account-info.jsx:1255 -#: src/components/account-info.jsx:1265 -#: src/components/account-info.jsx:1868 +#: src/components/account-info.jsx:1257 +#: src/components/account-info.jsx:1267 +#: src/components/account-info.jsx:1870 msgid "Add/Remove from Lists" msgstr "" -#: src/components/account-info.jsx:1304 -#: src/components/status.jsx:1177 +#: src/components/account-info.jsx:1306 +#: src/components/status.jsx:1174 msgid "Link copied" msgstr "" -#: src/components/account-info.jsx:1307 -#: src/components/status.jsx:1180 +#: src/components/account-info.jsx:1309 +#: src/components/status.jsx:1177 msgid "Unable to copy link" msgstr "" -#: src/components/account-info.jsx:1313 +#: src/components/account-info.jsx:1315 #: src/components/shortcuts-settings.jsx:1059 -#: src/components/status.jsx:1186 -#: src/components/status.jsx:3269 +#: src/components/status.jsx:1183 +#: src/components/status.jsx:3258 msgid "Copy" msgstr "" -#: src/components/account-info.jsx:1328 +#: src/components/account-info.jsx:1330 #: src/components/shortcuts-settings.jsx:1077 -#: src/components/status.jsx:1202 +#: src/components/status.jsx:1199 msgid "Sharing doesn't seem to work." msgstr "" -#: src/components/account-info.jsx:1334 -#: src/components/status.jsx:1208 +#: src/components/account-info.jsx:1336 +#: src/components/status.jsx:1205 msgid "Share…" msgstr "" -#: src/components/account-info.jsx:1354 +#: src/components/account-info.jsx:1356 msgid "Unmuted @{username}" msgstr "Unmuted @{username}" -#: src/components/account-info.jsx:1366 +#: src/components/account-info.jsx:1368 msgid "Unmute <0>@{username}" msgstr "" -#: src/components/account-info.jsx:1382 +#: src/components/account-info.jsx:1384 msgid "Mute <0>@{username}…" msgstr "" #. placeholder {0}: typeof MUTE_DURATIONS_LABELS[duration] === 'function' ? MUTE_DURATIONS_LABELS[duration]() : _(MUTE_DURATIONS_LABELS[duration]) -#: src/components/account-info.jsx:1414 +#: src/components/account-info.jsx:1416 msgid "Muted @{username} for {0}" msgstr "Muted @{username} for {0}" -#: src/components/account-info.jsx:1426 +#: src/components/account-info.jsx:1428 msgid "Unable to mute @{username}" msgstr "Unable to mute @{username}" -#: src/components/account-info.jsx:1447 +#: src/components/account-info.jsx:1449 msgid "Remove <0>@{username} from followers?" msgstr "" -#: src/components/account-info.jsx:1467 +#: src/components/account-info.jsx:1469 msgid "@{username} removed from followers" msgstr "@{username} removed from followers" -#: src/components/account-info.jsx:1479 +#: src/components/account-info.jsx:1481 msgid "Remove follower…" msgstr "" -#: src/components/account-info.jsx:1490 +#: src/components/account-info.jsx:1492 msgid "Block <0>@{username}?" msgstr "" -#: src/components/account-info.jsx:1514 +#: src/components/account-info.jsx:1516 msgid "Unblocked @{username}" msgstr "Unblocked @{username}" -#: src/components/account-info.jsx:1522 +#: src/components/account-info.jsx:1524 msgid "Blocked @{username}" msgstr "Blocked @{username}" -#: src/components/account-info.jsx:1530 +#: src/components/account-info.jsx:1532 msgid "Unable to unblock @{username}" msgstr "Unable to unblock @{username}" -#: src/components/account-info.jsx:1532 +#: src/components/account-info.jsx:1534 msgid "Unable to block @{username}" msgstr "Unable to block @{username}" -#: src/components/account-info.jsx:1542 +#: src/components/account-info.jsx:1544 msgid "Unblock <0>@{username}" msgstr "" -#: src/components/account-info.jsx:1551 +#: src/components/account-info.jsx:1553 msgid "Block <0>@{username}…" msgstr "" -#: src/components/account-info.jsx:1568 +#: src/components/account-info.jsx:1570 msgid "Report <0>@{username}…" msgstr "" -#: src/components/account-info.jsx:1588 -#: src/components/account-info.jsx:2103 +#: src/components/account-info.jsx:1590 +#: src/components/account-info.jsx:2105 msgid "Edit profile" msgstr "" -#: src/components/account-info.jsx:1624 +#: src/components/account-info.jsx:1626 msgid "Withdraw follow request?" msgstr "Withdraw follow request?" #. placeholder {1}: info.acct || info.username -#: src/components/account-info.jsx:1625 +#: src/components/account-info.jsx:1627 msgid "Unfollow @{1}?" msgstr "Unfollow @{1}?" -#: src/components/account-info.jsx:1676 +#: src/components/account-info.jsx:1678 msgid "Unfollow…" msgstr "" -#: src/components/account-info.jsx:1685 +#: src/components/account-info.jsx:1687 msgid "Withdraw…" msgstr "" -#: src/components/account-info.jsx:1692 -#: src/components/account-info.jsx:1696 +#: src/components/account-info.jsx:1694 +#: src/components/account-info.jsx:1698 #: src/pages/hashtag.jsx:262 msgid "Follow" msgstr "" -#: src/components/account-info.jsx:1808 -#: src/components/account-info.jsx:1863 -#: src/components/account-info.jsx:1997 -#: src/components/account-info.jsx:2098 +#: src/components/account-info.jsx:1810 +#: src/components/account-info.jsx:1865 +#: src/components/account-info.jsx:1999 +#: src/components/account-info.jsx:2100 #: src/components/account-sheet.jsx:38 #: src/components/compose.jsx:859 #: src/components/compose.jsx:2580 @@ -426,7 +426,7 @@ msgstr "" #: src/components/drafts.jsx:59 #: src/components/embed-modal.jsx:13 #: src/components/generic-accounts.jsx:143 -#: src/components/keyboard-shortcuts-help.jsx:40 +#: src/components/keyboard-shortcuts-help.jsx:42 #: src/components/list-add-edit.jsx:36 #: src/components/media-alt-modal.jsx:34 #: src/components/media-modal.jsx:322 @@ -435,9 +435,9 @@ msgstr "" #: src/components/shortcuts-settings.jsx:230 #: src/components/shortcuts-settings.jsx:583 #: src/components/shortcuts-settings.jsx:783 -#: src/components/status.jsx:2993 -#: src/components/status.jsx:3233 -#: src/components/status.jsx:3733 +#: src/components/status.jsx:2982 +#: src/components/status.jsx:3222 +#: src/components/status.jsx:3722 #: src/pages/accounts.jsx:37 #: src/pages/catchup.jsx:1581 #: src/pages/filters.jsx:224 @@ -448,77 +448,77 @@ msgstr "" msgid "Close" msgstr "" -#: src/components/account-info.jsx:1813 +#: src/components/account-info.jsx:1815 msgid "Translated Bio" msgstr "" -#: src/components/account-info.jsx:1908 +#: src/components/account-info.jsx:1910 msgid "Unable to remove from list." msgstr "Unable to remove from list." -#: src/components/account-info.jsx:1909 +#: src/components/account-info.jsx:1911 msgid "Unable to add to list." msgstr "Unable to add to list." -#: src/components/account-info.jsx:1928 +#: src/components/account-info.jsx:1930 #: src/pages/lists.jsx:105 msgid "Unable to load lists." msgstr "" -#: src/components/account-info.jsx:1932 +#: src/components/account-info.jsx:1934 msgid "No lists." msgstr "" -#: src/components/account-info.jsx:1943 +#: src/components/account-info.jsx:1945 #: src/components/list-add-edit.jsx:40 #: src/pages/lists.jsx:59 msgid "New list" msgstr "" #. placeholder {0}: account?.username || account?.acct -#: src/components/account-info.jsx:2002 +#: src/components/account-info.jsx:2004 msgid "Private note about <0>@{0}" msgstr "" -#: src/components/account-info.jsx:2032 +#: src/components/account-info.jsx:2034 msgid "Unable to update private note." msgstr "Unable to update private note." -#: src/components/account-info.jsx:2055 -#: src/components/account-info.jsx:2226 +#: src/components/account-info.jsx:2057 +#: src/components/account-info.jsx:2228 msgid "Cancel" msgstr "" -#: src/components/account-info.jsx:2060 +#: src/components/account-info.jsx:2062 msgid "Save & close" msgstr "" -#: src/components/account-info.jsx:2154 +#: src/components/account-info.jsx:2156 msgid "Unable to update profile." msgstr "Unable to update profile." -#: src/components/account-info.jsx:2161 +#: src/components/account-info.jsx:2163 #: src/components/list-add-edit.jsx:105 msgid "Name" msgstr "" -#: src/components/account-info.jsx:2174 +#: src/components/account-info.jsx:2176 msgid "Bio" msgstr "" -#: src/components/account-info.jsx:2187 +#: src/components/account-info.jsx:2189 msgid "Extra fields" msgstr "" -#: src/components/account-info.jsx:2193 +#: src/components/account-info.jsx:2195 msgid "Label" msgstr "" -#: src/components/account-info.jsx:2196 +#: src/components/account-info.jsx:2198 msgid "Content" msgstr "" -#: src/components/account-info.jsx:2229 +#: src/components/account-info.jsx:2231 #: src/components/list-add-edit.jsx:150 #: src/components/shortcuts-settings.jsx:715 #: src/pages/filters.jsx:554 @@ -526,11 +526,11 @@ msgstr "" msgid "Save" msgstr "" -#: src/components/account-info.jsx:2283 +#: src/components/account-info.jsx:2285 msgid "username" msgstr "" -#: src/components/account-info.jsx:2287 +#: src/components/account-info.jsx:2289 msgid "server domain name" msgstr "" @@ -649,7 +649,7 @@ msgid "Attachment #{i} failed" msgstr "Attachment #{i} failed" #: src/components/compose.jsx:1180 -#: src/components/status.jsx:2063 +#: src/components/status.jsx:2060 #: src/components/timeline.jsx:989 msgid "Content warning" msgstr "" @@ -685,7 +685,7 @@ msgstr "" #: src/components/compose.jsx:1247 #: src/components/status.jsx:97 -#: src/components/status.jsx:1941 +#: src/components/status.jsx:1938 msgid "Private mention" msgstr "" @@ -713,11 +713,11 @@ msgid "Add" msgstr "" #: src/components/compose.jsx:1555 -#: src/components/keyboard-shortcuts-help.jsx:152 -#: src/components/status.jsx:929 -#: src/components/status.jsx:1717 -#: src/components/status.jsx:1718 -#: src/components/status.jsx:2386 +#: src/components/keyboard-shortcuts-help.jsx:154 +#: src/components/status.jsx:948 +#: src/components/status.jsx:1714 +#: src/components/status.jsx:1715 +#: src/components/status.jsx:2383 msgid "Reply" msgstr "" @@ -949,7 +949,7 @@ msgstr "" #: src/components/drafts.jsx:128 #: src/components/list-add-edit.jsx:186 -#: src/components/status.jsx:1352 +#: src/components/status.jsx:1349 #: src/pages/filters.jsx:587 msgid "Delete…" msgstr "" @@ -984,7 +984,7 @@ msgstr "" msgid "Media" msgstr "" -#: src/components/embed-modal.jsx:23 +#: src/components/embed-modal.jsx:18 msgid "Open in new window" msgstr "" @@ -1033,104 +1033,104 @@ msgstr "" msgid "Nothing to show" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:44 +#: src/components/keyboard-shortcuts-help.jsx:46 #: src/components/nav-menu.jsx:357 #: src/pages/catchup.jsx:1619 msgid "Keyboard shortcuts" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:52 +#: src/components/keyboard-shortcuts-help.jsx:54 msgid "Keyboard shortcuts help" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:56 +#: src/components/keyboard-shortcuts-help.jsx:58 #: src/pages/catchup.jsx:1644 msgid "Next post" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:60 +#: src/components/keyboard-shortcuts-help.jsx:62 #: src/pages/catchup.jsx:1652 msgid "Previous post" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:64 +#: src/components/keyboard-shortcuts-help.jsx:66 msgid "Skip carousel to next post" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:66 +#: src/components/keyboard-shortcuts-help.jsx:68 msgid "<0>Shift + <1>j" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:72 +#: src/components/keyboard-shortcuts-help.jsx:74 msgid "Skip carousel to previous post" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:74 +#: src/components/keyboard-shortcuts-help.jsx:76 msgid "<0>Shift + <1>k" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:80 +#: src/components/keyboard-shortcuts-help.jsx:82 msgid "Load new posts" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:84 +#: src/components/keyboard-shortcuts-help.jsx:86 #: src/pages/catchup.jsx:1676 msgid "Open post details" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:86 +#: src/components/keyboard-shortcuts-help.jsx:88 msgid "<0>Enter or <1>o" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:93 +#: src/components/keyboard-shortcuts-help.jsx:95 msgid "Expand content warning or<0/>toggle expanded/collapsed thread" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:102 +#: src/components/keyboard-shortcuts-help.jsx:104 msgid "Close post or dialogs" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:104 +#: src/components/keyboard-shortcuts-help.jsx:106 msgid "<0>Esc or <1>Backspace" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:110 +#: src/components/keyboard-shortcuts-help.jsx:112 msgid "Focus column in multi-column mode" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:112 +#: src/components/keyboard-shortcuts-help.jsx:114 msgid "<0>1 to <1>9" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:118 +#: src/components/keyboard-shortcuts-help.jsx:120 msgid "Focus next column in multi-column mode" msgstr "Focus next column in multi-column mode" -#: src/components/keyboard-shortcuts-help.jsx:122 +#: src/components/keyboard-shortcuts-help.jsx:124 msgid "Focus previous column in multi-column mode" msgstr "Focus previous column in multi-column mode" -#: src/components/keyboard-shortcuts-help.jsx:126 +#: src/components/keyboard-shortcuts-help.jsx:128 msgid "Compose new post" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:130 +#: src/components/keyboard-shortcuts-help.jsx:132 msgid "Compose new post (new window)" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:133 +#: src/components/keyboard-shortcuts-help.jsx:135 msgid "<0>Shift + <1>c" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:139 +#: src/components/keyboard-shortcuts-help.jsx:141 msgid "Send post" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:141 +#: src/components/keyboard-shortcuts-help.jsx:143 msgid "<0>Ctrl + <1>Enter or <2>⌘ + <3>Enter" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:148 +#: src/components/keyboard-shortcuts-help.jsx:150 #: src/components/nav-menu.jsx:326 #: src/components/search-form.jsx:73 #: src/components/shortcuts-settings.jsx:52 @@ -1140,46 +1140,46 @@ msgstr "" msgid "Search" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:156 +#: src/components/keyboard-shortcuts-help.jsx:158 msgid "Reply (new window)" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:159 +#: src/components/keyboard-shortcuts-help.jsx:161 msgid "<0>Shift + <1>r" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:165 +#: src/components/keyboard-shortcuts-help.jsx:167 msgid "Like (favourite)" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:167 +#: src/components/keyboard-shortcuts-help.jsx:169 msgid "<0>l or <1>f" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:173 -#: src/components/status.jsx:937 -#: src/components/status.jsx:2413 -#: src/components/status.jsx:2444 -#: src/components/status.jsx:2445 +#: src/components/keyboard-shortcuts-help.jsx:175 +#: src/components/status.jsx:956 +#: src/components/status.jsx:2410 +#: src/components/status.jsx:2433 +#: src/components/status.jsx:2434 msgid "Boost" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:175 +#: src/components/keyboard-shortcuts-help.jsx:177 msgid "<0>Shift + <1>b" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:181 -#: src/components/status.jsx:1022 -#: src/components/status.jsx:2469 -#: src/components/status.jsx:2470 +#: src/components/keyboard-shortcuts-help.jsx:183 +#: src/components/status.jsx:1019 +#: src/components/status.jsx:2458 +#: src/components/status.jsx:2459 msgid "Bookmark" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:185 +#: src/components/keyboard-shortcuts-help.jsx:187 msgid "Toggle Cloak mode" msgstr "" -#: src/components/keyboard-shortcuts-help.jsx:187 +#: src/components/keyboard-shortcuts-help.jsx:189 msgid "<0>Shift + <1>Alt + <2>k" msgstr "" @@ -1230,15 +1230,15 @@ msgid "Media description" msgstr "" #: src/components/media-alt-modal.jsx:58 -#: src/components/status.jsx:1066 -#: src/components/status.jsx:1093 +#: src/components/status.jsx:1063 +#: src/components/status.jsx:1090 #: src/components/translation-block.jsx:196 msgid "Translate" msgstr "" #: src/components/media-alt-modal.jsx:69 -#: src/components/status.jsx:1080 -#: src/components/status.jsx:1107 +#: src/components/status.jsx:1077 +#: src/components/status.jsx:1104 msgid "Speak" msgstr "" @@ -1275,9 +1275,9 @@ msgid "Filtered: {filterTitleStr}" msgstr "" #: src/components/media-post.jsx:134 -#: src/components/status.jsx:3563 -#: src/components/status.jsx:3659 -#: src/components/status.jsx:3737 +#: src/components/status.jsx:3552 +#: src/components/status.jsx:3648 +#: src/components/status.jsx:3726 #: src/components/timeline.jsx:978 #: src/pages/catchup.jsx:75 #: src/pages/catchup.jsx:1877 @@ -1327,7 +1327,7 @@ msgstr "" #: src/pages/home.jsx:225 #: src/pages/mentions.jsx:21 #: src/pages/mentions.jsx:168 -#: src/pages/settings.jsx:1147 +#: src/pages/settings.jsx:1143 #: src/pages/trending.jsx:382 msgid "Mentions" msgstr "" @@ -1366,7 +1366,7 @@ msgstr "" #: src/pages/catchup.jsx:2064 #: src/pages/favourites.jsx:12 #: src/pages/favourites.jsx:24 -#: src/pages/settings.jsx:1151 +#: src/pages/settings.jsx:1147 msgid "Likes" msgstr "" @@ -1405,6 +1405,7 @@ msgid "Accounts…" msgstr "" #: src/components/nav-menu.jsx:315 +#: src/pages/login.jsx:27 #: src/pages/login.jsx:190 #: src/pages/status.jsx:837 #: src/pages/welcome.jsx:65 @@ -1576,8 +1577,8 @@ msgid "[Unknown notification type: {type}]" msgstr "" #: src/components/notification.jsx:441 -#: src/components/status.jsx:1036 -#: src/components/status.jsx:1046 +#: src/components/status.jsx:1033 +#: src/components/status.jsx:1043 msgid "Boosted/Liked by…" msgstr "" @@ -1904,7 +1905,7 @@ msgid "Move down" msgstr "" #: src/components/shortcuts-settings.jsx:379 -#: src/components/status.jsx:1314 +#: src/components/status.jsx:1311 #: src/pages/list.jsx:171 msgid "Edit" msgstr "" @@ -2131,292 +2132,291 @@ msgstr "Unbookmarked @{2}'s post" msgid "Bookmarked @{3}'s post" msgstr "Bookmarked @{3}'s post" -#: src/components/status.jsx:937 -#: src/components/status.jsx:999 -#: src/components/status.jsx:2413 -#: src/components/status.jsx:2444 -msgid "Unboost" +#: src/components/status.jsx:925 +msgid "Some media have no descriptions." msgstr "" -#: src/components/status.jsx:953 -#: src/components/status.jsx:2428 -msgid "Quote" +#. placeholder {0}: rtf.format(-statusMonthsAgo, 'month') +#: src/components/status.jsx:932 +msgid "Old post (<0>{0})" msgstr "" -#: src/components/status.jsx:961 -#: src/components/status.jsx:2437 -msgid "Some media have no descriptions." +#: src/components/status.jsx:956 +#: src/components/status.jsx:996 +#: src/components/status.jsx:2410 +#: src/components/status.jsx:2433 +msgid "Unboost" msgstr "" -#. placeholder {0}: rtf.format(-statusMonthsAgo, 'month') -#: src/components/status.jsx:968 -msgid "Old post (<0>{0})" +#: src/components/status.jsx:972 +#: src/components/status.jsx:2425 +msgid "Quote" msgstr "" #. placeholder {4}: username || acct -#: src/components/status.jsx:987 +#: src/components/status.jsx:984 msgid "Unboosted @{4}'s post" msgstr "Unboosted @{4}'s post" #. placeholder {5}: username || acct -#: src/components/status.jsx:988 +#: src/components/status.jsx:985 msgid "Boosted @{5}'s post" msgstr "Boosted @{5}'s post" -#: src/components/status.jsx:1000 +#: src/components/status.jsx:997 msgid "Boost…" msgstr "" -#: src/components/status.jsx:1012 -#: src/components/status.jsx:1727 -#: src/components/status.jsx:2457 +#: src/components/status.jsx:1009 +#: src/components/status.jsx:1724 +#: src/components/status.jsx:2446 msgid "Unlike" msgstr "" -#: src/components/status.jsx:1013 -#: src/components/status.jsx:1727 -#: src/components/status.jsx:1728 -#: src/components/status.jsx:2457 -#: src/components/status.jsx:2458 +#: src/components/status.jsx:1010 +#: src/components/status.jsx:1724 +#: src/components/status.jsx:1725 +#: src/components/status.jsx:2446 +#: src/components/status.jsx:2447 msgid "Like" msgstr "" -#: src/components/status.jsx:1022 -#: src/components/status.jsx:2469 +#: src/components/status.jsx:1019 +#: src/components/status.jsx:2458 msgid "Unbookmark" msgstr "" #. placeholder {0}: username || acct -#: src/components/status.jsx:1130 +#: src/components/status.jsx:1127 msgid "View post by <0>@{0}" msgstr "" -#: src/components/status.jsx:1151 +#: src/components/status.jsx:1148 msgid "Show Edit History" msgstr "" -#: src/components/status.jsx:1154 +#: src/components/status.jsx:1151 msgid "Edited: {editedDateText}" msgstr "" -#: src/components/status.jsx:1221 -#: src/components/status.jsx:3238 +#: src/components/status.jsx:1218 +#: src/components/status.jsx:3227 msgid "Embed post" msgstr "" -#: src/components/status.jsx:1235 +#: src/components/status.jsx:1232 msgid "Conversation unmuted" msgstr "" -#: src/components/status.jsx:1235 +#: src/components/status.jsx:1232 msgid "Conversation muted" msgstr "" -#: src/components/status.jsx:1241 +#: src/components/status.jsx:1238 msgid "Unable to unmute conversation" msgstr "" -#: src/components/status.jsx:1242 +#: src/components/status.jsx:1239 msgid "Unable to mute conversation" msgstr "" -#: src/components/status.jsx:1251 +#: src/components/status.jsx:1248 msgid "Unmute conversation" msgstr "" -#: src/components/status.jsx:1258 +#: src/components/status.jsx:1255 msgid "Mute conversation" msgstr "" -#: src/components/status.jsx:1274 +#: src/components/status.jsx:1271 msgid "Post unpinned from profile" msgstr "" -#: src/components/status.jsx:1275 +#: src/components/status.jsx:1272 msgid "Post pinned to profile" msgstr "" -#: src/components/status.jsx:1280 +#: src/components/status.jsx:1277 msgid "Unable to unpin post" msgstr "" -#: src/components/status.jsx:1280 +#: src/components/status.jsx:1277 msgid "Unable to pin post" msgstr "" -#: src/components/status.jsx:1289 +#: src/components/status.jsx:1286 msgid "Unpin from profile" msgstr "" -#: src/components/status.jsx:1296 +#: src/components/status.jsx:1293 msgid "Pin to profile" msgstr "" -#: src/components/status.jsx:1325 +#: src/components/status.jsx:1322 msgid "Delete this post?" msgstr "" -#: src/components/status.jsx:1341 +#: src/components/status.jsx:1338 msgid "Post deleted" msgstr "" -#: src/components/status.jsx:1344 +#: src/components/status.jsx:1341 msgid "Unable to delete post" msgstr "" -#: src/components/status.jsx:1372 +#: src/components/status.jsx:1369 msgid "Report post…" msgstr "" #. placeholder {6}: username || acct -#: src/components/status.jsx:1442 +#: src/components/status.jsx:1439 msgid "Unboosted @{6}'s post" msgstr "Unboosted @{6}'s post" #. placeholder {7}: username || acct -#: src/components/status.jsx:1443 +#: src/components/status.jsx:1440 msgid "Boosted @{7}'s post" msgstr "Boosted @{7}'s post" -#: src/components/status.jsx:1728 -#: src/components/status.jsx:1764 -#: src/components/status.jsx:2458 +#: src/components/status.jsx:1725 +#: src/components/status.jsx:1761 +#: src/components/status.jsx:2447 msgid "Liked" msgstr "" -#: src/components/status.jsx:1761 -#: src/components/status.jsx:2445 +#: src/components/status.jsx:1758 +#: src/components/status.jsx:2434 msgid "Boosted" msgstr "" -#: src/components/status.jsx:1771 -#: src/components/status.jsx:2470 +#: src/components/status.jsx:1768 +#: src/components/status.jsx:2459 msgid "Bookmarked" msgstr "" -#: src/components/status.jsx:1775 +#: src/components/status.jsx:1772 msgid "Pinned" msgstr "" -#: src/components/status.jsx:1820 -#: src/components/status.jsx:2276 +#: src/components/status.jsx:1817 +#: src/components/status.jsx:2273 msgid "Deleted" msgstr "" -#: src/components/status.jsx:1861 +#: src/components/status.jsx:1858 msgid "{repliesCount, plural, one {# reply} other {# replies}}" msgstr "" #. placeholder {0}: snapStates.statusThreadNumber[sKey] ? ` ${snapStates.statusThreadNumber[sKey]}/X` : '' -#: src/components/status.jsx:1950 +#: src/components/status.jsx:1947 msgid "Thread{0}" msgstr "" -#: src/components/status.jsx:2026 -#: src/components/status.jsx:2088 -#: src/components/status.jsx:2173 +#: src/components/status.jsx:2023 +#: src/components/status.jsx:2085 +#: src/components/status.jsx:2170 msgid "Show less" msgstr "" -#: src/components/status.jsx:2026 -#: src/components/status.jsx:2088 +#: src/components/status.jsx:2023 +#: src/components/status.jsx:2085 msgid "Show content" msgstr "" -#: src/components/status.jsx:2173 +#: src/components/status.jsx:2170 msgid "Show media" msgstr "" -#: src/components/status.jsx:2310 +#: src/components/status.jsx:2307 msgid "Edited" msgstr "" -#: src/components/status.jsx:2387 +#: src/components/status.jsx:2384 msgid "Comments" msgstr "" #. More from [Author] -#: src/components/status.jsx:2696 +#: src/components/status.jsx:2685 msgid "More from <0/>" msgstr "More from <0/>" -#: src/components/status.jsx:2998 +#: src/components/status.jsx:2987 msgid "Edit History" msgstr "" -#: src/components/status.jsx:3002 +#: src/components/status.jsx:2991 msgid "Failed to load history" msgstr "" -#: src/components/status.jsx:3007 +#: src/components/status.jsx:2996 #: src/pages/annual-report.jsx:45 msgid "Loading…" msgstr "" -#: src/components/status.jsx:3243 +#: src/components/status.jsx:3232 msgid "HTML Code" msgstr "" -#: src/components/status.jsx:3260 +#: src/components/status.jsx:3249 msgid "HTML code copied" msgstr "" -#: src/components/status.jsx:3263 +#: src/components/status.jsx:3252 msgid "Unable to copy HTML code" msgstr "" -#: src/components/status.jsx:3275 +#: src/components/status.jsx:3264 msgid "Media attachments:" msgstr "" -#: src/components/status.jsx:3297 +#: src/components/status.jsx:3286 msgid "Account Emojis:" msgstr "" -#: src/components/status.jsx:3328 -#: src/components/status.jsx:3373 +#: src/components/status.jsx:3317 +#: src/components/status.jsx:3362 msgid "static URL" msgstr "" -#: src/components/status.jsx:3342 +#: src/components/status.jsx:3331 msgid "Emojis:" msgstr "" -#: src/components/status.jsx:3387 +#: src/components/status.jsx:3376 msgid "Notes:" msgstr "" -#: src/components/status.jsx:3391 +#: src/components/status.jsx:3380 msgid "This is static, unstyled and scriptless. You may need to apply your own styles and edit as needed." msgstr "" -#: src/components/status.jsx:3397 +#: src/components/status.jsx:3386 msgid "Polls are not interactive, becomes a list with vote counts." msgstr "" -#: src/components/status.jsx:3402 +#: src/components/status.jsx:3391 msgid "Media attachments can be images, videos, audios or any file types." msgstr "" -#: src/components/status.jsx:3408 +#: src/components/status.jsx:3397 msgid "Post could be edited or deleted later." msgstr "" -#: src/components/status.jsx:3414 +#: src/components/status.jsx:3403 msgid "Preview" msgstr "" -#: src/components/status.jsx:3423 +#: src/components/status.jsx:3412 msgid "Note: This preview is lightly styled." msgstr "" #. [Name] [Visibility icon] boosted -#: src/components/status.jsx:3667 +#: src/components/status.jsx:3656 msgid "<0/> <1/> boosted" msgstr "" #: src/components/timeline.jsx:455 -#: src/pages/settings.jsx:1175 +#: src/pages/settings.jsx:1171 msgid "New posts" msgstr "" @@ -3290,7 +3290,7 @@ msgid "{0, plural, one {Announcement} other {Announcements}}" msgstr "" #: src/pages/notifications.jsx:654 -#: src/pages/settings.jsx:1163 +#: src/pages/settings.jsx:1159 msgid "Follow requests" msgstr "" @@ -3633,79 +3633,79 @@ msgstr "" msgid "Donate" msgstr "Donate" -#: src/pages/settings.jsx:793 +#: src/pages/settings.jsx:789 msgid "Privacy Policy" msgstr "" #. placeholder {0}: WEBSITE.replace(/https?:\/\//g, '').replace(/\/$/, '') -#: src/pages/settings.jsx:800 +#: src/pages/settings.jsx:796 msgid "<0>Site: {0}" msgstr "" -#. placeholder {0}: !__FAKE_COMMIT_HASH__ && ( ( ) ) -#: src/pages/settings.jsx:807 +#. placeholder {0}: !__FAKE_COMMIT_HASH__ && ( ( ) ) +#: src/pages/settings.jsx:803 msgid "<0>Version: <1/> {0}" msgstr "" -#: src/pages/settings.jsx:822 +#: src/pages/settings.jsx:818 msgid "Version string copied" msgstr "" -#: src/pages/settings.jsx:825 +#: src/pages/settings.jsx:821 msgid "Unable to copy version string" msgstr "" -#: src/pages/settings.jsx:1060 -#: src/pages/settings.jsx:1065 +#: src/pages/settings.jsx:1056 +#: src/pages/settings.jsx:1061 msgid "Failed to update subscription. Please try again." msgstr "" -#: src/pages/settings.jsx:1071 +#: src/pages/settings.jsx:1067 msgid "Failed to remove subscription. Please try again." msgstr "" -#: src/pages/settings.jsx:1078 +#: src/pages/settings.jsx:1074 msgid "Push Notifications (beta)" msgstr "" -#: src/pages/settings.jsx:1100 +#: src/pages/settings.jsx:1096 msgid "Push notifications are blocked. Please enable them in your browser settings." msgstr "" #. placeholder {0}: [ { value: 'all', label: t`anyone`, }, { value: 'followed', label: t`people I follow`, }, { value: 'follower', label: t`followers`, }, ].map((type) => ( )) -#: src/pages/settings.jsx:1109 +#: src/pages/settings.jsx:1105 msgid "Allow from <0>{0}" msgstr "" -#: src/pages/settings.jsx:1118 +#: src/pages/settings.jsx:1114 msgid "anyone" msgstr "" -#: src/pages/settings.jsx:1122 +#: src/pages/settings.jsx:1118 msgid "people I follow" msgstr "" -#: src/pages/settings.jsx:1126 +#: src/pages/settings.jsx:1122 msgid "followers" msgstr "" -#: src/pages/settings.jsx:1159 +#: src/pages/settings.jsx:1155 msgid "Follows" msgstr "" -#: src/pages/settings.jsx:1167 +#: src/pages/settings.jsx:1163 msgid "Polls" msgstr "" -#: src/pages/settings.jsx:1171 +#: src/pages/settings.jsx:1167 msgid "Post edits" msgstr "" -#: src/pages/settings.jsx:1192 +#: src/pages/settings.jsx:1188 msgid "Push permission was not granted since your last login. You'll need to <0><1>log in again to grant push permission." msgstr "" -#: src/pages/settings.jsx:1208 +#: src/pages/settings.jsx:1204 msgid "NOTE: Push notifications only work for <0>one account." msgstr "" @@ -3806,7 +3806,7 @@ msgid "Trending News" msgstr "" #. By [Author] -#. placeholder {0}: author ? ( ) : authorUrl ? ( {authorName} ) : ( authorName ) +#. placeholder {0}: author ? ( ) : authorUrl ? ( {authorName} ) : ( authorName ) #: src/pages/trending.jsx:348 msgid "By {0}" msgstr "By {0}" diff --git a/src/locales/eu-ES.po b/src/locales/eu-ES.po index 5287cd18d..dd18c2d0b 100644 --- a/src/locales/eu-ES.po +++ b/src/locales/eu-ES.po @@ -8,7 +8,7 @@ msgstr "" "Language: eu\n" "Project-Id-Version: phanpy\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-12-21 14:14\n" +"PO-Revision-Date: 2025-01-22 09:57\n" "Last-Translator: \n" "Language-Team: Basque\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -113,7 +113,7 @@ msgstr "bidalketa" #: src/components/account-info.jsx:429 #: src/components/account-info.jsx:1120 -#: src/components/compose.jsx:2592 +#: src/components/compose.jsx:2624 #: src/components/media-alt-modal.jsx:46 #: src/components/media-modal.jsx:358 #: src/components/status.jsx:1737 @@ -424,10 +424,10 @@ msgstr "Jarraitu" #: src/components/account-info.jsx:2098 #: src/components/account-sheet.jsx:38 #: src/components/compose.jsx:859 -#: src/components/compose.jsx:2548 -#: src/components/compose.jsx:3022 -#: src/components/compose.jsx:3231 -#: src/components/compose.jsx:3461 +#: src/components/compose.jsx:2580 +#: src/components/compose.jsx:3054 +#: src/components/compose.jsx:3263 +#: src/components/compose.jsx:3493 #: src/components/drafts.jsx:59 #: src/components/embed-modal.jsx:13 #: src/components/generic-accounts.jsx:143 @@ -711,7 +711,7 @@ msgid "Mark media as sensitive" msgstr "Markatu multimedia hunkigarri gisa" #: src/components/compose.jsx:1381 -#: src/components/compose.jsx:3080 +#: src/components/compose.jsx:3112 #: src/components/shortcuts-settings.jsx:715 #: src/pages/list.jsx:362 msgid "Add" @@ -743,31 +743,31 @@ msgstr "GIFa deskargatzen…" msgid "Failed to download GIF" msgstr "Ezin da GIFa deskargatu" -#: src/components/compose.jsx:1879 -#: src/components/compose.jsx:1956 +#: src/components/compose.jsx:1884 +#: src/components/compose.jsx:1961 #: src/components/nav-menu.jsx:239 msgid "More…" msgstr "Gehiago…" -#: src/components/compose.jsx:2361 +#: src/components/compose.jsx:2393 msgid "Uploaded" msgstr "Igota" -#: src/components/compose.jsx:2374 +#: src/components/compose.jsx:2406 msgid "Image description" msgstr "Irudiaren deskribapena" -#: src/components/compose.jsx:2375 +#: src/components/compose.jsx:2407 msgid "Video description" msgstr "Bideoaren deskribapena" -#: src/components/compose.jsx:2376 +#: src/components/compose.jsx:2408 msgid "Audio description" msgstr "Audioaren deskribapena" #. placeholder {0}: prettyBytes( imageSize, ) #. placeholder {1}: prettyBytes(imageSizeLimit) -#: src/components/compose.jsx:2412 +#: src/components/compose.jsx:2444 msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {0} to {1} or lower." msgstr "Fitxategia handiegia da. Igoerak arazoak izan ditzake. Saiatu tamaina {0}tik {1} edo gutxiagora murrizten." @@ -775,13 +775,13 @@ msgstr "Fitxategia handiegia da. Igoerak arazoak izan ditzake. Saiatu tamaina {0 #. placeholder {3}: i18n.number(height) #. placeholder {4}: i18n.number(newWidth) #. placeholder {5}: i18n.number( newHeight, ) -#: src/components/compose.jsx:2424 +#: src/components/compose.jsx:2456 msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {2}×{3}px to {4}×{5}px." msgstr "Neurria handiegia da. Igoerak arazoak izan ditzake. Saiatu neurria {2}×{3}px-etik {4}×{5}px edo gutxiagora murrizten." #. placeholder {6}: prettyBytes( videoSize, ) #. placeholder {7}: prettyBytes(videoSizeLimit) -#: src/components/compose.jsx:2432 +#: src/components/compose.jsx:2464 msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {6} to {7} or lower." msgstr "Fitxategia handiegia da. Igoerak arazoak izan ditzake. Saiatu tamaina {6}tik {7} edo gutxiagora murrizten." @@ -789,149 +789,149 @@ msgstr "Fitxategia handiegia da. Igoerak arazoak izan ditzake. Saiatu tamaina {6 #. placeholder {9}: i18n.number(height) #. placeholder {10}: i18n.number(newWidth) #. placeholder {11}: i18n.number( newHeight, ) -#: src/components/compose.jsx:2444 +#: src/components/compose.jsx:2476 msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {8}×{9}px to {10}×{11}px." msgstr "Neurria handiegia da. Igoerak arazoak izan ditzake. Saiatu neurria {8}×{9}px-etik {10}×{11}px edo gutxiagora murrizten." -#: src/components/compose.jsx:2452 +#: src/components/compose.jsx:2484 msgid "Frame rate too high. Uploading might encounter issues." msgstr "Fotograma-tasa (frame rate) altuegia da. Igoerak arazoak izan ditzake." -#: src/components/compose.jsx:2512 -#: src/components/compose.jsx:2762 +#: src/components/compose.jsx:2544 +#: src/components/compose.jsx:2794 #: src/components/shortcuts-settings.jsx:726 #: src/pages/catchup.jsx:1074 #: src/pages/filters.jsx:412 msgid "Remove" msgstr "Kendu" -#: src/components/compose.jsx:2529 +#: src/components/compose.jsx:2561 #: src/compose.jsx:84 msgid "Error" msgstr "Errorea" -#: src/components/compose.jsx:2554 +#: src/components/compose.jsx:2586 msgid "Edit image description" msgstr "Editatu irudiaren deskribapena" -#: src/components/compose.jsx:2555 +#: src/components/compose.jsx:2587 msgid "Edit video description" msgstr "Editatu bideoaren deskribapena" -#: src/components/compose.jsx:2556 +#: src/components/compose.jsx:2588 msgid "Edit audio description" msgstr "Editatu audioaren deskribapena" -#: src/components/compose.jsx:2601 -#: src/components/compose.jsx:2650 +#: src/components/compose.jsx:2633 +#: src/components/compose.jsx:2682 msgid "Generating description. Please wait…" msgstr "Deskribapena sortzen. Itxaron…" #. placeholder {12}: e.message -#: src/components/compose.jsx:2621 +#: src/components/compose.jsx:2653 msgid "Failed to generate description: {12}" msgstr "Ezin da deskribapena sortu: {12}" -#: src/components/compose.jsx:2622 +#: src/components/compose.jsx:2654 msgid "Failed to generate description" msgstr "Ezin da deskribapena sortu" -#: src/components/compose.jsx:2634 -#: src/components/compose.jsx:2640 -#: src/components/compose.jsx:2686 +#: src/components/compose.jsx:2666 +#: src/components/compose.jsx:2672 +#: src/components/compose.jsx:2718 msgid "Generate description…" msgstr "Sortu deskribapena…" #. placeholder {13}: e?.message ? `: ${e.message}` : '' -#: src/components/compose.jsx:2673 +#: src/components/compose.jsx:2705 msgid "Failed to generate description{13}" msgstr "Ezin izan da deskribapena sortu{13}" #. placeholder {0}: localeCode2Text(lang) -#: src/components/compose.jsx:2688 +#: src/components/compose.jsx:2720 msgid "({0}) <0>— experimental" msgstr "({0}) <0>— esperimentala" -#: src/components/compose.jsx:2707 +#: src/components/compose.jsx:2739 msgid "Done" msgstr "Eginda" #. placeholder {0}: i + 1 -#: src/components/compose.jsx:2743 +#: src/components/compose.jsx:2775 msgid "Choice {0}" msgstr "{0}. aukera" -#: src/components/compose.jsx:2790 +#: src/components/compose.jsx:2822 msgid "Multiple choices" msgstr "Hainbat aukera" -#: src/components/compose.jsx:2793 +#: src/components/compose.jsx:2825 msgid "Duration" msgstr "Iraupena" -#: src/components/compose.jsx:2824 +#: src/components/compose.jsx:2856 msgid "Remove poll" msgstr "Kendu bozketa" -#: src/components/compose.jsx:3039 +#: src/components/compose.jsx:3071 msgid "Search accounts" msgstr "Bilatu kontuak" -#: src/components/compose.jsx:3093 +#: src/components/compose.jsx:3125 #: src/components/generic-accounts.jsx:228 msgid "Error loading accounts" msgstr "Errorea kontuak kargatzean" -#: src/components/compose.jsx:3237 +#: src/components/compose.jsx:3269 msgid "Custom emojis" msgstr "Instantziako emojiak" -#: src/components/compose.jsx:3257 +#: src/components/compose.jsx:3289 msgid "Search emoji" msgstr "Bilatu emojia" -#: src/components/compose.jsx:3288 +#: src/components/compose.jsx:3320 msgid "Error loading custom emojis" msgstr "Errorea emoji pertsonalizatua kargatzean" -#: src/components/compose.jsx:3299 +#: src/components/compose.jsx:3331 msgid "Recently used" msgstr "Oraintsu erabilita" -#: src/components/compose.jsx:3300 +#: src/components/compose.jsx:3332 msgid "Others" msgstr "Besteak" #. placeholder {0}: i18n.number(emojis.length - max) -#: src/components/compose.jsx:3338 +#: src/components/compose.jsx:3370 msgid "{0} more…" msgstr "{0} gehiago…" -#: src/components/compose.jsx:3476 +#: src/components/compose.jsx:3508 msgid "Search GIFs" msgstr "Bilatu GIFak" -#: src/components/compose.jsx:3491 +#: src/components/compose.jsx:3523 msgid "Powered by GIPHY" msgstr "GIPHYri esker" -#: src/components/compose.jsx:3499 +#: src/components/compose.jsx:3531 msgid "Type to search GIFs" msgstr "Idatzi GIFak bilatzeko" -#: src/components/compose.jsx:3597 +#: src/components/compose.jsx:3629 #: src/components/media-modal.jsx:462 #: src/components/timeline.jsx:893 msgid "Previous" msgstr "Aurrekoa" -#: src/components/compose.jsx:3615 +#: src/components/compose.jsx:3647 #: src/components/media-modal.jsx:481 #: src/components/timeline.jsx:910 msgid "Next" msgstr "Hurrengoa" -#: src/components/compose.jsx:3632 +#: src/components/compose.jsx:3664 msgid "Error loading GIFs" msgstr "Errorea GIFak kargatzean" @@ -1410,6 +1410,7 @@ msgid "Accounts…" msgstr "Kontuak…" #: src/components/nav-menu.jsx:315 +#: src/pages/login.jsx:27 #: src/pages/login.jsx:190 #: src/pages/status.jsx:837 #: src/pages/welcome.jsx:65 @@ -1656,7 +1657,7 @@ msgstr "{votersCount, plural, one {hautesle <0>{0}} other {<1>{1} hautes #: src/components/poll.jsx:268 msgid "Ended <0/>" -msgstr "<0/>(e)an amaitu zen" +msgstr "<0/> amaitu da" #: src/components/poll.jsx:272 msgid "Ended" @@ -1664,7 +1665,7 @@ msgstr "Amaitu da" #: src/components/poll.jsx:275 msgid "Ending <0/>" -msgstr "<0/>(e)an amaituko da" +msgstr "<0/> amaituko da" #: src/components/poll.jsx:279 msgid "Ending" diff --git a/src/locales/pt-BR.po b/src/locales/pt-BR.po index 13198634d..9639acfba 100644 --- a/src/locales/pt-BR.po +++ b/src/locales/pt-BR.po @@ -8,7 +8,7 @@ msgstr "" "Language: pt\n" "Project-Id-Version: phanpy\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-12-22 00:30\n" +"PO-Revision-Date: 2025-01-15 16:00\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -76,7 +76,7 @@ msgstr "Verificado" #: src/components/account-block.jsx:223 #: src/components/account-info.jsx:782 msgid "Joined <0>{0}" -msgstr "Se juntou em <0>{0}" +msgstr "Juntou-se em <0>{0}" #: src/components/account-info.jsx:58 msgid "Forever" @@ -113,7 +113,7 @@ msgstr "Publicações" #: src/components/account-info.jsx:429 #: src/components/account-info.jsx:1120 -#: src/components/compose.jsx:2592 +#: src/components/compose.jsx:2624 #: src/components/media-alt-modal.jsx:46 #: src/components/media-modal.jsx:358 #: src/components/status.jsx:1737 @@ -169,7 +169,7 @@ msgstr "Em memória" #: src/components/account-info.jsx:711 #: src/components/account-info.jsx:752 msgid "This user has chosen to not make this information available." -msgstr "Esse usuário decidiu não fazer esta informação visível." +msgstr "O usuário deixou privado esta informação." #. placeholder {0}: ( postingStats.originals / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', }) #. placeholder {1}: ( postingStats.replies / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', }) @@ -424,10 +424,10 @@ msgstr "Seguir" #: src/components/account-info.jsx:2098 #: src/components/account-sheet.jsx:38 #: src/components/compose.jsx:859 -#: src/components/compose.jsx:2548 -#: src/components/compose.jsx:3022 -#: src/components/compose.jsx:3231 -#: src/components/compose.jsx:3461 +#: src/components/compose.jsx:2580 +#: src/components/compose.jsx:3054 +#: src/components/compose.jsx:3263 +#: src/components/compose.jsx:3493 #: src/components/drafts.jsx:59 #: src/components/embed-modal.jsx:13 #: src/components/generic-accounts.jsx:143 @@ -711,7 +711,7 @@ msgid "Mark media as sensitive" msgstr "Marcar mídia como sensível" #: src/components/compose.jsx:1381 -#: src/components/compose.jsx:3080 +#: src/components/compose.jsx:3112 #: src/components/shortcuts-settings.jsx:715 #: src/pages/list.jsx:362 msgid "Add" @@ -743,31 +743,31 @@ msgstr "Baixando GIF…" msgid "Failed to download GIF" msgstr "Houve um erro ao baixar GIF" -#: src/components/compose.jsx:1879 -#: src/components/compose.jsx:1956 +#: src/components/compose.jsx:1884 +#: src/components/compose.jsx:1961 #: src/components/nav-menu.jsx:239 msgid "More…" msgstr "Mais…" -#: src/components/compose.jsx:2361 +#: src/components/compose.jsx:2393 msgid "Uploaded" msgstr "Enviado" -#: src/components/compose.jsx:2374 +#: src/components/compose.jsx:2406 msgid "Image description" msgstr "Descrição da imagem" -#: src/components/compose.jsx:2375 +#: src/components/compose.jsx:2407 msgid "Video description" msgstr "Descrição do vídeo" -#: src/components/compose.jsx:2376 +#: src/components/compose.jsx:2408 msgid "Audio description" msgstr "Descrição do áudio" #. placeholder {0}: prettyBytes( imageSize, ) #. placeholder {1}: prettyBytes(imageSizeLimit) -#: src/components/compose.jsx:2412 +#: src/components/compose.jsx:2444 msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {0} to {1} or lower." msgstr "O arquivo é muito grande. Enviá-lo pode enfrentar problemas. Reduza o tamanho do arquivo de {0} a {1} ou menor." @@ -775,13 +775,13 @@ msgstr "O arquivo é muito grande. Enviá-lo pode enfrentar problemas. Reduza o #. placeholder {3}: i18n.number(height) #. placeholder {4}: i18n.number(newWidth) #. placeholder {5}: i18n.number( newHeight, ) -#: src/components/compose.jsx:2424 +#: src/components/compose.jsx:2456 msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {2}×{3}px to {4}×{5}px." msgstr "A dimensão é muito grande. Enviá-lo pode enfrentar problemas. Reduza a dimensão de {2}×{3}px a {4}×{5}px." #. placeholder {6}: prettyBytes( videoSize, ) #. placeholder {7}: prettyBytes(videoSizeLimit) -#: src/components/compose.jsx:2432 +#: src/components/compose.jsx:2464 msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {6} to {7} or lower." msgstr "O arquivo é muito grande. Enviá-lo pode enfrentar problemas. Reduza o tamanho do arquivo de {6} a {7} ou menor." @@ -789,149 +789,149 @@ msgstr "O arquivo é muito grande. Enviá-lo pode enfrentar problemas. Reduza o #. placeholder {9}: i18n.number(height) #. placeholder {10}: i18n.number(newWidth) #. placeholder {11}: i18n.number( newHeight, ) -#: src/components/compose.jsx:2444 +#: src/components/compose.jsx:2476 msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {8}×{9}px to {10}×{11}px." msgstr "A dimensão é muito grande. Enviá-lo pode enfrentar problemas. Reduza a dimensão de {8}×{9}px a {10}×{11}px." -#: src/components/compose.jsx:2452 +#: src/components/compose.jsx:2484 msgid "Frame rate too high. Uploading might encounter issues." msgstr "A taxa de quadros está muito alta. Enviá-lo pode enfrentar problemas." -#: src/components/compose.jsx:2512 -#: src/components/compose.jsx:2762 +#: src/components/compose.jsx:2544 +#: src/components/compose.jsx:2794 #: src/components/shortcuts-settings.jsx:726 #: src/pages/catchup.jsx:1074 #: src/pages/filters.jsx:412 msgid "Remove" msgstr "Excluir" -#: src/components/compose.jsx:2529 +#: src/components/compose.jsx:2561 #: src/compose.jsx:84 msgid "Error" msgstr "Erro" -#: src/components/compose.jsx:2554 +#: src/components/compose.jsx:2586 msgid "Edit image description" msgstr "Editar descrição da imagem" -#: src/components/compose.jsx:2555 +#: src/components/compose.jsx:2587 msgid "Edit video description" msgstr "Editar descrição do vídeo" -#: src/components/compose.jsx:2556 +#: src/components/compose.jsx:2588 msgid "Edit audio description" msgstr "Editar descrição do áudio" -#: src/components/compose.jsx:2601 -#: src/components/compose.jsx:2650 +#: src/components/compose.jsx:2633 +#: src/components/compose.jsx:2682 msgid "Generating description. Please wait…" msgstr "Gerando descrição. Por favor, espere…" #. placeholder {12}: e.message -#: src/components/compose.jsx:2621 +#: src/components/compose.jsx:2653 msgid "Failed to generate description: {12}" msgstr "Falhou ao gerar descrição: {12}" -#: src/components/compose.jsx:2622 +#: src/components/compose.jsx:2654 msgid "Failed to generate description" msgstr "Houve um erro ao gerar descrição" -#: src/components/compose.jsx:2634 -#: src/components/compose.jsx:2640 -#: src/components/compose.jsx:2686 +#: src/components/compose.jsx:2666 +#: src/components/compose.jsx:2672 +#: src/components/compose.jsx:2718 msgid "Generate description…" msgstr "Gerar descrição…" #. placeholder {13}: e?.message ? `: ${e.message}` : '' -#: src/components/compose.jsx:2673 +#: src/components/compose.jsx:2705 msgid "Failed to generate description{13}" msgstr "Falhou ao gerar descrição{13}" #. placeholder {0}: localeCode2Text(lang) -#: src/components/compose.jsx:2688 +#: src/components/compose.jsx:2720 msgid "({0}) <0>— experimental" msgstr "({0}) <0>— experimental" -#: src/components/compose.jsx:2707 +#: src/components/compose.jsx:2739 msgid "Done" msgstr "Concluído" #. placeholder {0}: i + 1 -#: src/components/compose.jsx:2743 +#: src/components/compose.jsx:2775 msgid "Choice {0}" msgstr "Escolha {0}" -#: src/components/compose.jsx:2790 +#: src/components/compose.jsx:2822 msgid "Multiple choices" msgstr "Várias escolhas" -#: src/components/compose.jsx:2793 +#: src/components/compose.jsx:2825 msgid "Duration" msgstr "Duração" -#: src/components/compose.jsx:2824 +#: src/components/compose.jsx:2856 msgid "Remove poll" msgstr "Excluir enquete" -#: src/components/compose.jsx:3039 +#: src/components/compose.jsx:3071 msgid "Search accounts" msgstr "Procurar contas" -#: src/components/compose.jsx:3093 +#: src/components/compose.jsx:3125 #: src/components/generic-accounts.jsx:228 msgid "Error loading accounts" msgstr "Erro ao carregar contas" -#: src/components/compose.jsx:3237 +#: src/components/compose.jsx:3269 msgid "Custom emojis" msgstr "Emojis personalizados" -#: src/components/compose.jsx:3257 +#: src/components/compose.jsx:3289 msgid "Search emoji" msgstr "Procurar emoji" -#: src/components/compose.jsx:3288 +#: src/components/compose.jsx:3320 msgid "Error loading custom emojis" msgstr "Erro ao carregar emojis personalizados" -#: src/components/compose.jsx:3299 +#: src/components/compose.jsx:3331 msgid "Recently used" msgstr "Usado recentemente" -#: src/components/compose.jsx:3300 +#: src/components/compose.jsx:3332 msgid "Others" msgstr "Outros" #. placeholder {0}: i18n.number(emojis.length - max) -#: src/components/compose.jsx:3338 +#: src/components/compose.jsx:3370 msgid "{0} more…" msgstr "{0} mais…" -#: src/components/compose.jsx:3476 +#: src/components/compose.jsx:3508 msgid "Search GIFs" msgstr "Procurar GIFs" -#: src/components/compose.jsx:3491 +#: src/components/compose.jsx:3523 msgid "Powered by GIPHY" msgstr "Desenvolvido por GIPHY" -#: src/components/compose.jsx:3499 +#: src/components/compose.jsx:3531 msgid "Type to search GIFs" msgstr "Escreva para pesquisar GIFs" -#: src/components/compose.jsx:3597 +#: src/components/compose.jsx:3629 #: src/components/media-modal.jsx:462 #: src/components/timeline.jsx:893 msgid "Previous" msgstr "Anterior" -#: src/components/compose.jsx:3615 +#: src/components/compose.jsx:3647 #: src/components/media-modal.jsx:481 #: src/components/timeline.jsx:910 msgid "Next" msgstr "Seguinte" -#: src/components/compose.jsx:3632 +#: src/components/compose.jsx:3664 msgid "Error loading GIFs" msgstr "Erro ao carregar GIFs" @@ -1410,6 +1410,7 @@ msgid "Accounts…" msgstr "Contas…" #: src/components/nav-menu.jsx:315 +#: src/pages/login.jsx:27 #: src/pages/login.jsx:190 #: src/pages/status.jsx:837 #: src/pages/welcome.jsx:65 diff --git a/src/locales/pt-PT.po b/src/locales/pt-PT.po index 6d0319d49..bb57c7c89 100644 --- a/src/locales/pt-PT.po +++ b/src/locales/pt-PT.po @@ -8,7 +8,7 @@ msgstr "" "Language: pt\n" "Project-Id-Version: phanpy\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-12-22 00:30\n" +"PO-Revision-Date: 2025-01-15 16:00\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -25,7 +25,7 @@ msgstr "Bloqueado" #. placeholder {0}: shortenNumber(statusesCount) #: src/components/account-block.jsx:142 msgid "Posts: {0}" -msgstr "Publicações: {0}" +msgstr "Postagens: {0}" #. placeholder {0}: niceDateTime(lastStatusAt, { hideTime: true, }) #: src/components/account-block.jsx:147 @@ -76,7 +76,7 @@ msgstr "Verificado" #: src/components/account-block.jsx:223 #: src/components/account-info.jsx:782 msgid "Joined <0>{0}" -msgstr "Se juntou em <0>{0}" +msgstr "Juntou-se em <0>{0}" #: src/components/account-info.jsx:58 msgid "Forever" @@ -109,11 +109,11 @@ msgstr "A seguir" #: src/pages/search.jsx:328 #: src/pages/search.jsx:475 msgid "Posts" -msgstr "Publicações" +msgstr "Postagens" #: src/components/account-info.jsx:429 #: src/components/account-info.jsx:1120 -#: src/components/compose.jsx:2592 +#: src/components/compose.jsx:2624 #: src/components/media-alt-modal.jsx:46 #: src/components/media-modal.jsx:358 #: src/components/status.jsx:1737 @@ -133,7 +133,7 @@ msgstr "Mais" #: src/components/account-info.jsx:441 msgid "<0>{displayName} has indicated that their new account is now:" -msgstr "<0>{displayName} indicou que a nova conta é:" +msgstr "A nova conta de <0>{displayName} é:" #: src/components/account-info.jsx:586 #: src/components/account-info.jsx:1278 @@ -169,14 +169,14 @@ msgstr "Em memória" #: src/components/account-info.jsx:711 #: src/components/account-info.jsx:752 msgid "This user has chosen to not make this information available." -msgstr "Este utilizador decidiu não fazer esta informação visível." +msgstr "O utilizador deixou privado esta informação." #. placeholder {0}: ( postingStats.originals / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', }) #. placeholder {1}: ( postingStats.replies / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', }) #. placeholder {2}: ( postingStats.boosts / postingStats.total ).toLocaleString(i18n.locale || undefined, { style: 'percent', }) #: src/components/account-info.jsx:807 msgid "{0} original posts, {1} replies, {2} boosts" -msgstr "{0} publicações originais, {1} respostas, {2} impulsos" +msgstr "{0} postagens originais, {1} respostas, {2} impulsos" #. placeholder {0}: postingStats.total #. placeholder {1}: postingStats.daysSinceLastPost @@ -187,13 +187,13 @@ msgstr "{0} publicações originais, {1} respostas, {2} impulsos" #. placeholder {6}: postingStats.daysSinceLastPost #: src/components/account-info.jsx:823 msgid "{0, plural, one {{1, plural, one {Last 1 post in the past 1 day} other {Last 1 post in the past {2} days}}} other {{3, plural, one {Last {4} posts in the past 1 day} other {Last {5} posts in the past {6} days}}}}" -msgstr "{0, plural, one {{1, plural, one {Última publicação no último dia} other {Última publicação nos últimos {2} dias}}} other {{3, plural, one {Últimas {4} publicações no último dia} other {Últimas {5} publicações nos últimos {6} dias}}}}" +msgstr "{0, plural, one {{1, plural, one {Última postagem no último dia} other {Última postagem nos últimos {2} dias}}} other {{3, plural, one {Últimas {4} postagens no último dia} other {Últimas {5} postagens nos últimos {6} dias}}}}" #. placeholder {0}: postingStats.total #. placeholder {1}: postingStats.total #: src/components/account-info.jsx:836 msgid "{0, plural, one {Last 1 post in the past year(s)} other {Last {1} posts in the past year(s)}}" -msgstr "{0, plural, one {Última publicação no(s) ano(s) passado(s)} other {Últimas {1} publicações no(s) ano(s) passado(s)}}" +msgstr "{0, plural, one {Última postagem no(s) ano(s) passado(s)} other {Últimas {1} postagens no(s) ano(s) passado(s)}}" #: src/components/account-info.jsx:860 #: src/pages/catchup.jsx:70 @@ -220,7 +220,7 @@ msgstr "Impulsos" #: src/components/account-info.jsx:874 msgid "Post stats unavailable." -msgstr "As estatísticas estão indisponíveis." +msgstr "Estatísticas da publicação indisponíveis." #: src/components/account-info.jsx:905 msgid "View post stats" @@ -261,11 +261,11 @@ msgstr "Adicionar nota privada" #: src/components/account-info.jsx:1196 msgid "Notifications enabled for @{username}'s posts." -msgstr "Notificações ativadas para as publicações de @{username}." +msgstr "Habilitado as notificações para postagens de @{username}." #: src/components/account-info.jsx:1197 msgid " Notifications disabled for @{username}'s posts." -msgstr " Notificações desativadas para as publicações de @{username}." +msgstr " Desabilitado as notificações de postagens de @{username}." #: src/components/account-info.jsx:1209 msgid "Disable notifications" @@ -397,7 +397,7 @@ msgstr "Editar perfil" #: src/components/account-info.jsx:1624 msgid "Withdraw follow request?" -msgstr "Eliminar pedido de seguimento?" +msgstr "Eliminar pedido de seguir?" #. placeholder {1}: info.acct || info.username #: src/components/account-info.jsx:1625 @@ -424,10 +424,10 @@ msgstr "Seguir" #: src/components/account-info.jsx:2098 #: src/components/account-sheet.jsx:38 #: src/components/compose.jsx:859 -#: src/components/compose.jsx:2548 -#: src/components/compose.jsx:3022 -#: src/components/compose.jsx:3231 -#: src/components/compose.jsx:3461 +#: src/components/compose.jsx:2580 +#: src/components/compose.jsx:3054 +#: src/components/compose.jsx:3263 +#: src/components/compose.jsx:3493 #: src/components/drafts.jsx:59 #: src/components/embed-modal.jsx:13 #: src/components/generic-accounts.jsx:143 @@ -566,7 +566,7 @@ msgstr "Escrever" #: src/components/compose.jsx:206 msgid "Add media" -msgstr "Adicionar media" +msgstr "Adicionar multimédia" #: src/components/compose.jsx:207 msgid "Add custom emoji" @@ -596,7 +596,7 @@ msgstr "{0, plural, one {O ficheiro {1} não é suportado.} other {Os ficheiros #: src/components/compose.jsx:1674 #: src/components/compose.jsx:1760 msgid "{maxMediaAttachments, plural, one {You can only attach up to 1 file.} other {You can only attach up to # files.}}" -msgstr "{maxMediaAttachments, plural,one {Tu podes anexar até 1 ficheiro.} other {Tu podes anexar até # ficheiros.}}" +msgstr "{maxMediaAttachments, plural,one {Só pode anexar até 1 ficheiro.} other {Só pode anexar até # ficheiros.}}" #: src/components/compose.jsx:840 msgid "Pop out" @@ -647,7 +647,7 @@ msgstr "Algumas escolhas da enquete estão vazias" #: src/components/compose.jsx:1034 msgid "Some media have no descriptions. Continue?" -msgstr "Algumas das medias não têm descrição. Prosseguir?" +msgstr "Algumas multimédias não possuem descrições. Prosseguir?" #: src/components/compose.jsx:1086 msgid "Attachment #{i} failed" @@ -661,7 +661,7 @@ msgstr "Alerta de conteúdo" #: src/components/compose.jsx:1196 msgid "Content warning or sensitive media" -msgstr "Alerta de conteúdo ou media sensível" +msgstr "Alerta de conteúdo ou multimédia sensível" #: src/components/compose.jsx:1232 #: src/components/status.jsx:93 @@ -704,14 +704,14 @@ msgstr "Editar publicação" #: src/components/compose.jsx:1259 msgid "What are you doing?" -msgstr "O que tu fazes?" +msgstr "O que faz?" #: src/components/compose.jsx:1337 msgid "Mark media as sensitive" -msgstr "Marcar media como sensível" +msgstr "Marcar multimédia como sensível" #: src/components/compose.jsx:1381 -#: src/components/compose.jsx:3080 +#: src/components/compose.jsx:3112 #: src/components/shortcuts-settings.jsx:715 #: src/pages/list.jsx:362 msgid "Add" @@ -743,31 +743,31 @@ msgstr "A transferir GIF…" msgid "Failed to download GIF" msgstr "Falhou ao transferir GIF" -#: src/components/compose.jsx:1879 -#: src/components/compose.jsx:1956 +#: src/components/compose.jsx:1884 +#: src/components/compose.jsx:1961 #: src/components/nav-menu.jsx:239 msgid "More…" msgstr "Mais…" -#: src/components/compose.jsx:2361 +#: src/components/compose.jsx:2393 msgid "Uploaded" msgstr "Enviado" -#: src/components/compose.jsx:2374 +#: src/components/compose.jsx:2406 msgid "Image description" msgstr "Descrição da imagem" -#: src/components/compose.jsx:2375 +#: src/components/compose.jsx:2407 msgid "Video description" msgstr "Descrição do vídeo" -#: src/components/compose.jsx:2376 +#: src/components/compose.jsx:2408 msgid "Audio description" msgstr "Descrição do áudio" #. placeholder {0}: prettyBytes( imageSize, ) #. placeholder {1}: prettyBytes(imageSizeLimit) -#: src/components/compose.jsx:2412 +#: src/components/compose.jsx:2444 msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {0} to {1} or lower." msgstr "O ficheiro é muito grande. Ao enviar pode enfrentar problemas. Tenta reduzir o tamanho de {0} a {1} ou mais baixo." @@ -775,13 +775,13 @@ msgstr "O ficheiro é muito grande. Ao enviar pode enfrentar problemas. Tenta re #. placeholder {3}: i18n.number(height) #. placeholder {4}: i18n.number(newWidth) #. placeholder {5}: i18n.number( newHeight, ) -#: src/components/compose.jsx:2424 +#: src/components/compose.jsx:2456 msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {2}×{3}px to {4}×{5}px." msgstr "A dimensão é muito grande. Ao enviar pode enfrentar problemas. Tenta reduzir a dimensão de {2}×{3}px para {4}×{5}px." #. placeholder {6}: prettyBytes( videoSize, ) #. placeholder {7}: prettyBytes(videoSizeLimit) -#: src/components/compose.jsx:2432 +#: src/components/compose.jsx:2464 msgid "File size too large. Uploading might encounter issues. Try reduce the file size from {6} to {7} or lower." msgstr "O ficheiro é muito grande. Ao enviar pode enfrentar problemas. Tenta reduzir o tamanho de {6} a {7} ou mais baixo." @@ -789,149 +789,149 @@ msgstr "O ficheiro é muito grande. Ao enviar pode enfrentar problemas. Tenta re #. placeholder {9}: i18n.number(height) #. placeholder {10}: i18n.number(newWidth) #. placeholder {11}: i18n.number( newHeight, ) -#: src/components/compose.jsx:2444 +#: src/components/compose.jsx:2476 msgid "Dimension too large. Uploading might encounter issues. Try reduce dimension from {8}×{9}px to {10}×{11}px." msgstr "A dimensão é muito grande. Ao enviar pode enfrentar problemas. Tenta reduzir a dimensão de {8}×{9}px para {10}×{11}px." -#: src/components/compose.jsx:2452 +#: src/components/compose.jsx:2484 msgid "Frame rate too high. Uploading might encounter issues." msgstr "A taxa de quadros está muito alta. Ao enviar pode enfrentar problemas." -#: src/components/compose.jsx:2512 -#: src/components/compose.jsx:2762 +#: src/components/compose.jsx:2544 +#: src/components/compose.jsx:2794 #: src/components/shortcuts-settings.jsx:726 #: src/pages/catchup.jsx:1074 #: src/pages/filters.jsx:412 msgid "Remove" msgstr "Eliminar" -#: src/components/compose.jsx:2529 +#: src/components/compose.jsx:2561 #: src/compose.jsx:84 msgid "Error" msgstr "Erro" -#: src/components/compose.jsx:2554 +#: src/components/compose.jsx:2586 msgid "Edit image description" msgstr "Editar descrição da imagem" -#: src/components/compose.jsx:2555 +#: src/components/compose.jsx:2587 msgid "Edit video description" msgstr "Editar descrição do vídeo" -#: src/components/compose.jsx:2556 +#: src/components/compose.jsx:2588 msgid "Edit audio description" msgstr "Editar descrição do áudio" -#: src/components/compose.jsx:2601 -#: src/components/compose.jsx:2650 +#: src/components/compose.jsx:2633 +#: src/components/compose.jsx:2682 msgid "Generating description. Please wait…" msgstr "A gerar descrição. Por favor, espere…" #. placeholder {12}: e.message -#: src/components/compose.jsx:2621 +#: src/components/compose.jsx:2653 msgid "Failed to generate description: {12}" msgstr "Falhou ao gerar descrição: {12}" -#: src/components/compose.jsx:2622 +#: src/components/compose.jsx:2654 msgid "Failed to generate description" msgstr "Falhou ao gerar descrição" -#: src/components/compose.jsx:2634 -#: src/components/compose.jsx:2640 -#: src/components/compose.jsx:2686 +#: src/components/compose.jsx:2666 +#: src/components/compose.jsx:2672 +#: src/components/compose.jsx:2718 msgid "Generate description…" msgstr "Gerar descrição…" #. placeholder {13}: e?.message ? `: ${e.message}` : '' -#: src/components/compose.jsx:2673 +#: src/components/compose.jsx:2705 msgid "Failed to generate description{13}" msgstr "Falhou ao gerar descrição{13}" #. placeholder {0}: localeCode2Text(lang) -#: src/components/compose.jsx:2688 +#: src/components/compose.jsx:2720 msgid "({0}) <0>— experimental" msgstr "({0}) <0>— experimental" -#: src/components/compose.jsx:2707 +#: src/components/compose.jsx:2739 msgid "Done" msgstr "Concluído" #. placeholder {0}: i + 1 -#: src/components/compose.jsx:2743 +#: src/components/compose.jsx:2775 msgid "Choice {0}" msgstr "Escolha {0}" -#: src/components/compose.jsx:2790 +#: src/components/compose.jsx:2822 msgid "Multiple choices" msgstr "Várias escolhas" -#: src/components/compose.jsx:2793 +#: src/components/compose.jsx:2825 msgid "Duration" msgstr "Duração" -#: src/components/compose.jsx:2824 +#: src/components/compose.jsx:2856 msgid "Remove poll" msgstr "Eliminar enquete" -#: src/components/compose.jsx:3039 +#: src/components/compose.jsx:3071 msgid "Search accounts" msgstr "Buscar contas" -#: src/components/compose.jsx:3093 +#: src/components/compose.jsx:3125 #: src/components/generic-accounts.jsx:228 msgid "Error loading accounts" msgstr "Erro ao carregar contas" -#: src/components/compose.jsx:3237 +#: src/components/compose.jsx:3269 msgid "Custom emojis" msgstr "Emojis personalizados" -#: src/components/compose.jsx:3257 +#: src/components/compose.jsx:3289 msgid "Search emoji" msgstr "Buscar emoji" -#: src/components/compose.jsx:3288 +#: src/components/compose.jsx:3320 msgid "Error loading custom emojis" msgstr "Erro ao carregar emojis personalizados" -#: src/components/compose.jsx:3299 +#: src/components/compose.jsx:3331 msgid "Recently used" msgstr "Usado recentemente" -#: src/components/compose.jsx:3300 +#: src/components/compose.jsx:3332 msgid "Others" msgstr "Outros" #. placeholder {0}: i18n.number(emojis.length - max) -#: src/components/compose.jsx:3338 +#: src/components/compose.jsx:3370 msgid "{0} more…" msgstr "{0} mais…" -#: src/components/compose.jsx:3476 +#: src/components/compose.jsx:3508 msgid "Search GIFs" msgstr "Buscar GIFs" -#: src/components/compose.jsx:3491 +#: src/components/compose.jsx:3523 msgid "Powered by GIPHY" msgstr "Desenvolvido por GIPHY" -#: src/components/compose.jsx:3499 +#: src/components/compose.jsx:3531 msgid "Type to search GIFs" msgstr "Digite para buscar GIFs" -#: src/components/compose.jsx:3597 +#: src/components/compose.jsx:3629 #: src/components/media-modal.jsx:462 #: src/components/timeline.jsx:893 msgid "Previous" msgstr "Anterior" -#: src/components/compose.jsx:3615 +#: src/components/compose.jsx:3647 #: src/components/media-modal.jsx:481 #: src/components/timeline.jsx:910 msgid "Next" msgstr "Seguinte" -#: src/components/compose.jsx:3632 +#: src/components/compose.jsx:3664 msgid "Error loading GIFs" msgstr "Erro ao carregar GIFs" @@ -987,7 +987,7 @@ msgstr "Enquete" #: src/components/drafts.jsx:250 #: src/pages/account-statuses.jsx:364 msgid "Media" -msgstr "Media" +msgstr "Multimédia" #: src/components/embed-modal.jsx:23 msgid "Open in new window" @@ -1076,7 +1076,7 @@ msgstr "<0>Shift + <1>k" #: src/components/keyboard-shortcuts-help.jsx:80 msgid "Load new posts" -msgstr "Carregar novas publicações" +msgstr "Ver novas postagens" #: src/components/keyboard-shortcuts-help.jsx:84 #: src/pages/catchup.jsx:1676 @@ -1214,7 +1214,7 @@ msgstr "Não mostrar respostas" #: src/components/list-add-edit.jsx:144 msgid "Hide posts on this list from Home/Following" -msgstr "Ocultar publicações nesta lista da página inicial/A seguir" +msgstr "Ocultar postagens nesta lista da página inicial/A seguir" #: src/components/list-add-edit.jsx:150 #: src/pages/filters.jsx:554 @@ -1232,7 +1232,7 @@ msgstr "Impossível eliminar lista." #: src/components/media-alt-modal.jsx:39 #: src/components/media.jsx:51 msgid "Media description" -msgstr "Descrição da media" +msgstr "Descrição da multimédia" #: src/components/media-alt-modal.jsx:58 #: src/components/status.jsx:1066 @@ -1249,15 +1249,15 @@ msgstr "Falar" #: src/components/media-modal.jsx:369 msgid "Open original media in new window" -msgstr "Abrir media original em nova janela" +msgstr "Abrir multimédia original em nova janela" #: src/components/media-modal.jsx:373 msgid "Open original media" -msgstr "Abrir media original" +msgstr "Abrir multimédia original" #: src/components/media-modal.jsx:389 msgid "Attempting to describe image. Please wait…" -msgstr "A tentar descrever imagem. Por favor, espere…" +msgstr "A descrever imagem. Por favor, espere…" #: src/components/media-modal.jsx:404 msgid "Failed to describe image" @@ -1273,7 +1273,7 @@ msgstr "Ver publicação" #: src/components/media-post.jsx:128 msgid "Sensitive media" -msgstr "Media sensível" +msgstr "Multimédia sensível" #: src/components/media-post.jsx:133 msgid "Filtered: {filterTitleStr}" @@ -1410,6 +1410,7 @@ msgid "Accounts…" msgstr "Contas…" #: src/components/nav-menu.jsx:315 +#: src/pages/login.jsx:27 #: src/pages/login.jsx:190 #: src/pages/status.jsx:837 #: src/pages/welcome.jsx:65 @@ -1477,7 +1478,7 @@ msgstr "{account} fez uma publicação." #. placeholder {1}: shortenNumber(count) #: src/components/notification.jsx:86 msgid "{count, plural, =1 {{postsCount, plural, =1 {{postType, select, reply {{account} boosted your reply.} other {{account} boosted your post.}}} other {{account} boosted {postsCount} of your posts.}}} other {{postType, select, reply {<0><1>{0} people boosted your reply.} other {<2><3>{1} people boosted your post.}}}}" -msgstr "{count, plural, =1 {{postsCount, plural, =1 {{postType, select, reply {{account} impulsionou a sua resposta.} other {{account} impulsionou a sua publicação.}}} other {{account} impulsionou {postsCount} das suas publicações.}}} other {{postType, select, reply {<0><1>{0} pessoa(s) impulsionou a sua resposta.} other {<2><3>{1} pessoa(s) impulsionou a sua publicação.}}}}" +msgstr "{count, plural, =1 {{postsCount, plural, =1 {{postType, select, reply {{account} impulsionou a sua resposta.} other {{account} impulsionou a sua postagem.}}} other {{account} impulsionou {postsCount} das suas postagens.}}} other {{postType, select, reply {<0><1>{0} pessoa(s) impulsionou a sua resposta.} other {<2><3>{1} pessoa(s) impulsionou a sua postagem.}}}}" #. placeholder {0}: shortenNumber(count) #: src/components/notification.jsx:129 @@ -1492,7 +1493,7 @@ msgstr "{account} pediu para seguir-te." #. placeholder {1}: shortenNumber(count) #: src/components/notification.jsx:152 msgid "{count, plural, =1 {{postsCount, plural, =1 {{postType, select, reply {{account} liked your reply.} other {{account} liked your post.}}} other {{account} liked {postsCount} of your posts.}}} other {{postType, select, reply {<0><1>{0} people liked your reply.} other {<2><3>{1} people liked your post.}}}}" -msgstr "{count, plural, =1 {{postsCount, plural, =1 {{postType, select, reply {{account} gostou da sua resposta.} other {{account} gostou de sua publicação.}}} other {{account} gostou de {postsCount} de suas publicações.}}} other {{postType, select, reply {<0><1>{0} pessoa(s) gostou da sua resposta.} other {<2><3>{1} pessoa(s) gostou da sua publicação.}}}}" +msgstr "{count, plural, =1 {{postsCount, plural, =1 {{postType, select, reply {{account} gostou da sua resposta.} other {{account} gostou da sua postagem.}}} other {{account} gostou de {postsCount} das suas postagens.}}} other {{postType, select, reply {<0><1>{0} pessoa(s) gostou da sua resposta.} other {<2><3>{1} pessoa(s) gostou da sua postagens.}}}}" #: src/components/notification.jsx:194 msgid "A poll you have voted in or created has ended." @@ -1514,7 +1515,7 @@ msgstr "Uma publicação que interagiste foi editada." #. placeholder {1}: shortenNumber(count) #: src/components/notification.jsx:205 msgid "{count, plural, =1 {{postsCount, plural, =1 {{postType, select, reply {{account} boosted & liked your reply.} other {{account} boosted & liked your post.}}} other {{account} boosted & liked {postsCount} of your posts.}}} other {{postType, select, reply {<0><1>{0} people boosted & liked your reply.} other {<2><3>{1} people boosted & liked your post.}}}}" -msgstr "{count, plural, =1 {{postsCount, plural, =1 {{postType, select, reply {{account} impulsionou e gostou da sua resposta.} other {{account} impulsionou e gostou da sua publicação.}}} other {{account} impulsionou e gostou de {postsCount} de suas publicações.}}} other {{postType, select, reply {<0><1>{0} pessoa(s) impulsionou e gostou da sua resposta.} other {<2><3>{1} pessoa(s) impulsionou e gostou da sua publicação.}}}}" +msgstr "{count, plural, =1 {{postsCount, plural, =1 {{postType, select, reply {{account} impulsionou e gostou da sua resposta.} other {{account} impulsionou e gostou da sua postagem.}}} other {{account} impulsionou e gostou de {postsCount} das suas postagens.}}} other {{postType, select, reply {<0><1>{0} pessoa(s) impulsionou e gostou da sua resposta.} other {<2><3>{1} pessoa(s) impulsionou e gostou da sua postagem.}}}}" #: src/components/notification.jsx:247 msgid "{account} signed up." @@ -1559,15 +1560,15 @@ msgstr "A sua conta foi desativada." #: src/components/notification.jsx:293 msgid "Some of your posts have been marked as sensitive." -msgstr "Algumas das suas publicações foram marcadas como sensível." +msgstr "Algumas das suas postagens foram marcados como sensíveis." #: src/components/notification.jsx:294 msgid "Some of your posts have been deleted." -msgstr "Algumas publicações suas foram eliminadas." +msgstr "Algumas das suas postagens foram eliminadas." #: src/components/notification.jsx:295 msgid "Your posts will be marked as sensitive from now on." -msgstr "Agora as suas publicações serão marcadas como sensíveis." +msgstr "Agora as suas postagens serão marcadas como sensíveis." #: src/components/notification.jsx:296 msgid "Your account has been limited." @@ -1799,7 +1800,7 @@ msgstr "Enviar relato <0>+ Bloquear perfil" #: src/components/search-form.jsx:203 msgid "{query} <0>‒ accounts, hashtags & posts" -msgstr "{query} <0>‒ contas, hashtags e publicações" +msgstr "{query} <0>‒ contas, hashtags e postagens" #: src/components/search-form.jsx:216 msgid "Posts with <0>{query}" @@ -1870,7 +1871,7 @@ msgstr "ex.: PixelArt (Máx. 5, espaço separado)" #: src/components/shortcuts-settings.jsx:117 #: src/pages/hashtag.jsx:356 msgid "Media only" -msgstr "Apenas media" +msgstr "Somente multimédia" #: src/components/shortcuts-settings.jsx:235 #: src/components/shortcuts.jsx:192 @@ -2152,7 +2153,7 @@ msgstr "Citar" #: src/components/status.jsx:961 #: src/components/status.jsx:2437 msgid "Some media have no descriptions." -msgstr "Algumas das medias não têm descrição." +msgstr "Algumas multimédias não possuem descrições." #. placeholder {0}: rtf.format(-statusMonthsAgo, 'month') #: src/components/status.jsx:968 @@ -2331,7 +2332,7 @@ msgstr "Mostrar conteúdo" #: src/components/status.jsx:2173 msgid "Show media" -msgstr "Mostrar media" +msgstr "Mostrar multimédia" #: src/components/status.jsx:2310 msgid "Edited" @@ -2373,7 +2374,7 @@ msgstr "Impossível copiar código HTML" #: src/components/status.jsx:3275 msgid "Media attachments:" -msgstr "Anexos de media:" +msgstr "Anexos de multimédia:" #: src/components/status.jsx:3297 msgid "Account Emojis:" @@ -2402,7 +2403,7 @@ msgstr "Votações não são interativas, ela vira uma lista com contador de vot #: src/components/status.jsx:3402 msgid "Media attachments can be images, videos, audios or any file types." -msgstr "Anexos de media pode ser imagens, vídeos, áudios, e qualquer tipo de ficheiro." +msgstr "Anexos de multimédia pode ser imagens, vídeos, áudios, e qualquer tipo de ficheiro." #: src/components/status.jsx:3408 msgid "Post could be edited or deleted later." @@ -2525,7 +2526,7 @@ msgstr "{accountDisplay} (#{tagged})" #: src/pages/account-statuses.jsx:245 msgid "{accountDisplay} (Media)" -msgstr "{accountDisplay} (Media)" +msgstr "{accountDisplay} (Multimédia)" #: src/pages/account-statuses.jsx:251 msgid "{accountDisplay} ({monthYear})" @@ -2557,7 +2558,7 @@ msgstr "- Impulsos" #: src/pages/account-statuses.jsx:359 msgid "Showing posts with media" -msgstr "A exibir publicações com media" +msgstr "A exibir publicações com multimédia" #. placeholder {0}: tag.name #: src/pages/account-statuses.jsx:376 @@ -3062,7 +3063,7 @@ msgstr "Impossível carregar publicações." #: src/pages/hashtag.jsx:56 msgid "{hashtagTitle} (Media only) on {instance}" -msgstr "{hashtagTitle} (Apenas media) em {instance}" +msgstr "{hashtagTitle} (Somente multimédia) em {instance}" #: src/pages/hashtag.jsx:57 msgid "{hashtagTitle} on {instance}" @@ -3070,7 +3071,7 @@ msgstr "{hashtagTitle} em {instance}" #: src/pages/hashtag.jsx:59 msgid "{hashtagTitle} (Media only)" -msgstr "{hashtagTitle} (Apenas media)" +msgstr "{hashtagTitle} (Somente multimédia)" #: src/pages/hashtag.jsx:60 msgid "{hashtagTitle}" @@ -3573,7 +3574,7 @@ msgstr "Tradução automática" #: src/pages/settings.jsx:518 msgid "Automatically show translation for posts in timeline. Only works for <0>short posts without content warning, media and poll." -msgstr "Automaticamente exibe tradução para publicações na linha de tempo. Só funciona para publicações <0>curtas sem aviso de conteúdo, media ou enquete." +msgstr "Automaticamente exibe tradução para publicações na linha de tempo. Só funciona para publicações <0>curtas sem aviso de conteúdo, multimédia ou enquete." #: src/pages/settings.jsx:538 msgid "GIF Picker for composer" diff --git a/src/pages/catchup.jsx b/src/pages/catchup.jsx index b5aa39b57..9aa1c858a 100644 --- a/src/pages/catchup.jsx +++ b/src/pages/catchup.jsx @@ -1192,7 +1192,7 @@ function Catchup() { key={url} href={url} target="_blank" - rel="noopener noreferrer" + rel="noopener" class="link-block" style={ accentColor diff --git a/src/pages/http-route.jsx b/src/pages/http-route.jsx index c0fe500fe..a41de53f3 100644 --- a/src/pages/http-route.jsx +++ b/src/pages/http-route.jsx @@ -68,7 +68,7 @@ export default function HttpRoute() { Resolving…

- + {url}

@@ -79,7 +79,7 @@ export default function HttpRoute() { Unable to resolve URL

- + {url}

diff --git a/src/pages/login.jsx b/src/pages/login.jsx index 9d9980ca8..7cca28297 100644 --- a/src/pages/login.jsx +++ b/src/pages/login.jsx @@ -24,7 +24,7 @@ const { PHANPY_DEFAULT_INSTANCE: DEFAULT_INSTANCE } = import.meta.env; function Login() { const { t } = useLingui(); - useTitle('Log in'); + useTitle(t`Log in`, '/login'); const instanceURLRef = useRef(); const cachedInstanceURL = store.local.get('instanceURL'); const [uiState, setUIState] = useState('default'); diff --git a/src/pages/settings.jsx b/src/pages/settings.jsx index bd9d4940a..3fe154d99 100644 --- a/src/pages/settings.jsx +++ b/src/pages/settings.jsx @@ -250,7 +250,7 @@ function Settings({ onClose }) { Volunteer translations @@ -324,7 +324,7 @@ function Settings({ onClose }) { Go to your instance ({instance}) for more settings. @@ -483,7 +483,7 @@ function Settings({ onClose }) { Lingva API {' '} @@ -491,7 +491,7 @@ function Settings({ onClose }) { Lingva Translate @@ -545,7 +545,7 @@ function Settings({ onClose }) { GIPHY @@ -585,7 +585,7 @@ function Settings({ onClose }) { img-alt-api @@ -728,7 +728,7 @@ function Settings({ onClose }) { { e.preventDefault(); states.showAccount = 'phanpy@hachyderm.io'; @@ -741,7 +741,7 @@ function Settings({ onClose }) { Built {' '} @@ -749,7 +749,7 @@ function Settings({ onClose }) { { e.preventDefault(); states.showAccount = 'cheeaun@mastodon.social'; @@ -764,7 +764,7 @@ function Settings({ onClose }) { Sponsor {' '} @@ -772,7 +772,7 @@ function Settings({ onClose }) { Donate {' '} @@ -780,16 +780,12 @@ function Settings({ onClose }) { Patreon {' '} ·{' '} - + Privacy Policy

@@ -832,7 +828,7 @@ function Settings({ onClose }) { @@ -984,10 +980,10 @@ function PushNotificationsSection({ onClose }) { const policyEl = elements.namedItem('policy'); if (policyEl) policyEl.value = policy; // alerts is {}, iterate it - Object.keys(alerts).forEach((alert) => { + Object.entries(alerts).forEach(([alert, value]) => { const el = elements.namedItem(alert); if (el?.type === 'checkbox') { - el.checked = true; + el.checked = !!value; } }); } diff --git a/src/pages/trending.jsx b/src/pages/trending.jsx index a8f5f10ad..dc3c0e9dd 100644 --- a/src/pages/trending.jsx +++ b/src/pages/trending.jsx @@ -274,7 +274,7 @@ function Trending({ columnMode, ...props }) { ref={currentLink === url ? currentLinkRef : null} href={url} target="_blank" - rel="noopener noreferrer" + rel="noopener" class={`link-block ${ hasCurrentLink ? currentLink === url @@ -353,7 +353,7 @@ function Trending({ columnMode, ...props }) { {authorName} diff --git a/src/utils/enhance-content.js b/src/utils/enhance-content.js index 70e92e38e..7e0b60765 100644 --- a/src/utils/enhance-content.js +++ b/src/utils/enhance-content.js @@ -218,7 +218,7 @@ function _enhanceContent(content, opts = {}) { if (TWITTER_MENTION_REGEX.test(html)) { html = html.replaceAll( TWITTER_MENTION_CAPTURE_REGEX, - '$1', + '$1', ); } fauxDiv.innerHTML = html; diff --git a/src/utils/isMastodonLinkMaybe.js b/src/utils/isMastodonLinkMaybe.js index 753fc3bb2..a393cbb15 100644 --- a/src/utils/isMastodonLinkMaybe.js +++ b/src/utils/isMastodonLinkMaybe.js @@ -8,6 +8,7 @@ export default function isMastodonLinkMaybe(url) { /^\/(notice|objects)\/[a-z0-9-]+$/i.test(pathname) || // Pleroma /^\/@[^/]+\/post\/[a-z0-9\-_]+$/i.test(pathname) || // Threads /^\/@[^/]+\/[a-z0-9]+[a-z0-9\-]+[a-z0-9]+$/i.test(pathname) || // Hollo + /^\/ap\/note\/[a-z0-9\-_]+$/i.test(pathname) || // BotKit, Fedify (hostname === 'fed.brid.gy' && pathname.startsWith('/r/http')) || // Bridgy Fed /#\/[^\/]+\.[^\/]+\/s\/.+/i.test(hash) // Phanpy 🫣 ); diff --git a/vite.config.js b/vite.config.js index 81b9edb71..0e1e51ecf 100644 --- a/vite.config.js +++ b/vite.config.js @@ -4,7 +4,7 @@ import { resolve } from 'path'; import { lingui } from '@lingui/vite-plugin'; import preact from '@preact/preset-vite'; -import { SondaRollupPlugin } from 'sonda'; +import Sonda from 'sonda/vite'; import { uid } from 'uid/single'; import { defineConfig, loadEnv, splitVendorChunkPlugin } from 'vite'; import generateFile from 'vite-plugin-generate-file'; @@ -21,6 +21,7 @@ const { PHANPY_WEBSITE: WEBSITE, PHANPY_CLIENT_NAME: CLIENT_NAME, PHANPY_APP_ERROR_LOGGING: ERROR_LOGGING, + PHANPY_REFERRER_POLICY: REFERRER_POLICY, } = loadEnv('production', process.cwd(), allowedEnvPrefixes); const now = new Date(); @@ -86,6 +87,13 @@ export default defineConfig({ includes: ['log', 'debug', 'info', 'warn', 'error'], }), htmlPlugin({ + metas: [ + // Learn more: https://web.dev/articles/referrer-best-practices + { + name: 'referrer', + content: REFERRER_POLICY || 'origin', + }, + ], headScripts: ERROR_LOGGING ? [rollbarCode] : [], links: [ ...ALL_LOCALES.map((lang) => ({ @@ -150,7 +158,7 @@ export default defineConfig({ type: 'module', }, }), - SondaRollupPlugin({ + Sonda({ detailed: true, brotli: true, }),