mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-08 03:32:27 +09:00
Compare commits
14
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d028679b90 | ||
|
|
4a93b677af | ||
|
|
d79cd99050 | ||
|
|
167862a8a6 | ||
|
|
48b569b9d4 | ||
|
|
75be6aa492 | ||
|
|
9fe65d5036 | ||
|
|
bfa9bf221d | ||
|
|
184eeb0846 | ||
|
|
0eff26a1c9 | ||
|
|
d729f641ff | ||
|
|
044a2c101d | ||
|
|
38e2c8db3e | ||
|
|
1b22d14f3d |
@@ -448,6 +448,9 @@ jobs:
|
||||
- name: Check formatting and lint
|
||||
run: pnpm exec biome ci .
|
||||
|
||||
- name: Lint JSX for browser-translation safety
|
||||
run: pnpm exec eslint . --max-warnings 0
|
||||
|
||||
i18n:
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 25
|
||||
|
||||
+23
-1
@@ -84,7 +84,18 @@
|
||||
},
|
||||
"useConst": "error",
|
||||
"noNonNullAssertion": "off",
|
||||
"noParameterAssign": "off"
|
||||
"noParameterAssign": "off",
|
||||
"noRestrictedImports": {
|
||||
"level": "error",
|
||||
"options": {
|
||||
"paths": {
|
||||
"@lingui/react": {
|
||||
"importNames": ["I18nProvider"],
|
||||
"message": "Use AppI18nProvider from @app/features/i18n/components/AppI18nProvider so <Trans> output stays safe under page translation."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"a11y": {
|
||||
"recommended": true,
|
||||
@@ -116,10 +127,21 @@
|
||||
},
|
||||
"assist": {"actions": {"source": {"organizeImports": "on"}}},
|
||||
"overrides": [
|
||||
{
|
||||
"includes": ["fluxer_app/src/**/*.tsx"],
|
||||
"plugins": ["./tools/lint/no-adjacent-jsx-text.grit"]
|
||||
},
|
||||
{
|
||||
"includes": ["fluxer_docs/scripts/VerifyDocsCoverage.ts"],
|
||||
"linter": {"rules": {"suspicious": {"noTemplateCurlyInString": "off"}}}
|
||||
},
|
||||
{
|
||||
"includes": [
|
||||
"fluxer_app/src/features/i18n/components/AppI18nProvider.tsx",
|
||||
"fluxer_app/src/features/i18n/components/AppI18nProvider.test.tsx"
|
||||
],
|
||||
"linter": {"rules": {"style": {"noRestrictedImports": "off"}}}
|
||||
},
|
||||
{
|
||||
"includes": ["**/*.astro"],
|
||||
"linter": {"rules": {"correctness": {"noUnusedImports": "off", "noUnusedVariables": "off"}}},
|
||||
|
||||
@@ -117,6 +117,60 @@ FLUXER_IMAGE_TAG=v1
|
||||
|
||||
POSTGRES_PASSWORD=CHANGE_ME
|
||||
MEILI_MASTER_KEY=CHANGE_ME
|
||||
# The stack ships its own Postgres and its own object store, and points at both
|
||||
# by service name. Set these to run either one outside the stack. Leave them
|
||||
# unset and the bundled services are used. Taking a service out of the stack
|
||||
# means an upgrade skips the backup step that reaches into it, and backing that
|
||||
# store up belongs to whoever runs it.
|
||||
#FLUXER_POSTGRES_HOST=db.example.com
|
||||
#FLUXER_POSTGRES_PORT=5432
|
||||
#FLUXER_POSTGRES_DATABASE=fluxer
|
||||
#FLUXER_POSTGRES_USERNAME=fluxer
|
||||
#FLUXER_POSTGRES_SSL=true
|
||||
#FLUXER_S3_ENDPOINT=https://s3.eu-central-1.amazonaws.com
|
||||
#FLUXER_S3_PUBLIC_ENDPOINT=https://cdn.example.com
|
||||
#FLUXER_S3_REGION=eu-central-1
|
||||
#FLUXER_S3_FORCE_PATH_STYLE=false
|
||||
# Bucket names. The bundled object store creates whichever names these hold, so
|
||||
# the two stay in step. An object store outside the stack needs the buckets to
|
||||
# exist already.
|
||||
#FLUXER_S3_BUCKET_CDN=fluxer
|
||||
#FLUXER_S3_BUCKET_UPLOADS=fluxer-uploads
|
||||
#FLUXER_S3_BUCKET_DOWNLOADS=fluxer-downloads
|
||||
#FLUXER_S3_BUCKET_REPORTS=fluxer-reports
|
||||
#FLUXER_S3_BUCKET_HARVESTS=fluxer-harvests
|
||||
|
||||
# The rest of the bundled services, pointed somewhere else the same way. Leave a
|
||||
# line unset and the service in the stack is used. Taking a service out of the
|
||||
# stack goes in an override file listed in COMPOSE_FILE, because an upgrade
|
||||
# replaces docker-compose.yml.
|
||||
#FLUXER_KV_URL=redis://cache.example.com:6379/0
|
||||
#FLUXER_NATS_URL=nats://mq.example.com:4222
|
||||
#FLUXER_NATS_JETSTREAM_URL=nats://mq.example.com:4222
|
||||
#FLUXER_SVC_NATS_URL=nats://mq.example.com:4222
|
||||
#FLUXER_SEARCH_URL=https://search.example.com
|
||||
#FLUXER_LIVEKIT_INTERNAL_URL=http://livekit.example.com:7880
|
||||
|
||||
# Voice off. The livekit service still runs until an override file takes it out.
|
||||
#FLUXER_LIVEKIT_ENABLED=false
|
||||
|
||||
# Optional systems, each off unless the instance is configured for it.
|
||||
#FLUXER_SMS_ENABLED=false
|
||||
#FLUXER_STRIPE_ENABLED=false
|
||||
#FLUXER_NCMEC_ENABLED=false
|
||||
#FLUXER_CLAMAV_ENABLED=false
|
||||
|
||||
# The client address. Set the header name a proxy in front actually writes, and
|
||||
# turn the trust off when nothing sits in front, because a trusted header an
|
||||
# attacker can set is a spoofed client address.
|
||||
#FLUXER_CLIENT_IP_HEADER_NAME=cf-connecting-ip
|
||||
#FLUXER_TRUST_CLIENT_IP_HEADER=true
|
||||
|
||||
# How much the services write. trace, debug, info, warn, error or fatal. Every
|
||||
# service names the object storage endpoint and its addressing at info on start,
|
||||
# so a bucket that answers 404 is visible without raising this.
|
||||
#LOG_LEVEL=debug
|
||||
|
||||
FLUXER_S3_ACCESS_KEY=fluxer
|
||||
FLUXER_S3_SECRET_KEY=CHANGE_ME
|
||||
|
||||
@@ -311,10 +365,16 @@ FLUXER_DISCOVERY_ENABLED=true
|
||||
#FLUXER_ERLANG_SCHEDULERS_MAX=16
|
||||
|
||||
# In-flight request ceiling for the four services Compose forwards it to: the
|
||||
# users and messages routers and their shards. The Rust built-in defaults are 192
|
||||
# for messages, 320 for snowflakes and 64 elsewhere, and they govern every service
|
||||
# Compose does not forward this to.
|
||||
#FLUXER_SVC_MAX_CONCURRENT_REQUESTS=20
|
||||
# users and messages routers and their shards. Leave it unset and each service
|
||||
# uses its own built-in default, which is what the numbers below describe. Set it
|
||||
# and the one value replaces the built-in default on all four, so size it for the
|
||||
# busiest of them rather than for the smallest. The built-in defaults are 192 for
|
||||
# messages, 320 for snowflakes and 64 elsewhere, and they govern every service
|
||||
# Compose does not forward this to. A router holds a slot for the whole round
|
||||
# trip to its shard, so this is a ceiling on requests in flight at once and not a
|
||||
# rate: too low a value does not slow requests down, it rejects them, and the api
|
||||
# turns that rejection into a 503.
|
||||
#FLUXER_SVC_MAX_CONCURRENT_REQUESTS=192
|
||||
|
||||
# The api and the Rust services name their fixed Postgres statement shapes so the
|
||||
# server can reuse their plans. Named prepared statements require a session that
|
||||
|
||||
@@ -2,59 +2,60 @@ name: fluxer
|
||||
|
||||
x-fluxer-postgres-env: &fluxer-postgres-env
|
||||
FLUXER_DATABASE_BACKEND: postgres
|
||||
FLUXER_POSTGRES_HOST: postgres
|
||||
FLUXER_POSTGRES_PORT: "5432"
|
||||
FLUXER_POSTGRES_DATABASE: fluxer
|
||||
FLUXER_POSTGRES_USERNAME: fluxer
|
||||
FLUXER_POSTGRES_HOST: ${FLUXER_POSTGRES_HOST:-postgres}
|
||||
FLUXER_POSTGRES_PORT: "${FLUXER_POSTGRES_PORT:-5432}"
|
||||
FLUXER_POSTGRES_DATABASE: ${FLUXER_POSTGRES_DATABASE:-fluxer}
|
||||
FLUXER_POSTGRES_USERNAME: ${FLUXER_POSTGRES_USERNAME:-fluxer}
|
||||
FLUXER_POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD in .env}
|
||||
FLUXER_POSTGRES_SSL: "false"
|
||||
FLUXER_POSTGRES_SSL: "${FLUXER_POSTGRES_SSL:-false}"
|
||||
FLUXER_POSTGRES_PREPARED_STATEMENTS: ${FLUXER_POSTGRES_PREPARED_STATEMENTS:-true}
|
||||
|
||||
x-fluxer-env: &fluxer-env
|
||||
<<: *fluxer-postgres-env
|
||||
FLUXER_ENV: production
|
||||
NODE_ENV: production
|
||||
LOG_LEVEL: ${LOG_LEVEL:-info}
|
||||
FLUXER_SELF_HOSTED: "true"
|
||||
FLUXER_BASE_DOMAIN: ${FLUXER_DOMAIN:?set FLUXER_DOMAIN in .env}
|
||||
FLUXER_PUBLIC_SCHEME: ${FLUXER_PUBLIC_SCHEME:-https}
|
||||
FLUXER_PUBLIC_PORT: ${FLUXER_PUBLIC_PORT:-443}
|
||||
FLUXER_PUBLIC_ORIGIN: ${FLUXER_PUBLIC_ORIGIN:-}
|
||||
FLUXER_TRUST_CLIENT_IP_HEADER: "true"
|
||||
FLUXER_CLIENT_IP_HEADER_NAME: x-forwarded-for
|
||||
FLUXER_TRUST_CLIENT_IP_HEADER: "${FLUXER_TRUST_CLIENT_IP_HEADER:-true}"
|
||||
FLUXER_CLIENT_IP_HEADER_NAME: ${FLUXER_CLIENT_IP_HEADER_NAME:-x-forwarded-for}
|
||||
FLUXER_API_HEADERS_TIMEOUT_MS: ${FLUXER_API_HEADERS_TIMEOUT_MS:-30000}
|
||||
FLUXER_API_REQUEST_TIMEOUT_MS: ${FLUXER_API_REQUEST_TIMEOUT_MS:-120000}
|
||||
|
||||
FLUXER_KV_URL: redis://valkey:6379/0
|
||||
FLUXER_NATS_URL: nats://nats:4222
|
||||
FLUXER_NATS_JETSTREAM_URL: nats://nats:4222
|
||||
FLUXER_KV_URL: ${FLUXER_KV_URL:-redis://valkey:6379/0}
|
||||
FLUXER_NATS_URL: ${FLUXER_NATS_URL:-nats://nats:4222}
|
||||
FLUXER_NATS_JETSTREAM_URL: ${FLUXER_NATS_JETSTREAM_URL:-${FLUXER_NATS_URL:-nats://nats:4222}}
|
||||
FLUXER_NATS_AUTH_TOKEN: ${FLUXER_NATS_AUTH_TOKEN:-}
|
||||
FLUXER_SVC_NATS_URL: nats://nats:4222
|
||||
FLUXER_SVC_NATS_URL: ${FLUXER_SVC_NATS_URL:-${FLUXER_NATS_URL:-nats://nats:4222}}
|
||||
FLUXER_SVC_SHARD_COUNT: "1"
|
||||
|
||||
FLUXER_SEARCH_ENGINE: meilisearch
|
||||
FLUXER_SEARCH_URL: http://meilisearch:7700
|
||||
FLUXER_SEARCH_URL: ${FLUXER_SEARCH_URL:-http://meilisearch:7700}
|
||||
FLUXER_SEARCH_API_KEY: ${MEILI_MASTER_KEY:?set MEILI_MASTER_KEY in .env}
|
||||
|
||||
FLUXER_S3_ENDPOINT: http://seaweedfs:8333
|
||||
FLUXER_S3_PUBLIC_ENDPOINT: http://seaweedfs:8333
|
||||
FLUXER_S3_REGION: us-east-1
|
||||
FLUXER_S3_ENDPOINT: ${FLUXER_S3_ENDPOINT:-http://seaweedfs:8333}
|
||||
FLUXER_S3_PUBLIC_ENDPOINT: ${FLUXER_S3_PUBLIC_ENDPOINT:-${FLUXER_S3_ENDPOINT:-http://seaweedfs:8333}}
|
||||
FLUXER_S3_REGION: ${FLUXER_S3_REGION:-us-east-1}
|
||||
FLUXER_S3_ACCESS_KEY_ID: ${FLUXER_S3_ACCESS_KEY:?set FLUXER_S3_ACCESS_KEY in .env}
|
||||
FLUXER_S3_SECRET_ACCESS_KEY: ${FLUXER_S3_SECRET_KEY:?set FLUXER_S3_SECRET_KEY in .env}
|
||||
FLUXER_S3_FORCE_PATH_STYLE: "true"
|
||||
FLUXER_S3_BUCKET_CDN: fluxer
|
||||
FLUXER_S3_BUCKET_UPLOADS: fluxer-uploads
|
||||
FLUXER_S3_BUCKET_DOWNLOADS: fluxer-downloads
|
||||
FLUXER_S3_BUCKET_REPORTS: fluxer-reports
|
||||
FLUXER_S3_BUCKET_HARVESTS: fluxer-harvests
|
||||
FLUXER_S3_FORCE_PATH_STYLE: "${FLUXER_S3_FORCE_PATH_STYLE:-true}"
|
||||
FLUXER_S3_BUCKET_CDN: ${FLUXER_S3_BUCKET_CDN:-fluxer}
|
||||
FLUXER_S3_BUCKET_UPLOADS: ${FLUXER_S3_BUCKET_UPLOADS:-fluxer-uploads}
|
||||
FLUXER_S3_BUCKET_DOWNLOADS: ${FLUXER_S3_BUCKET_DOWNLOADS:-fluxer-downloads}
|
||||
FLUXER_S3_BUCKET_REPORTS: ${FLUXER_S3_BUCKET_REPORTS:-fluxer-reports}
|
||||
FLUXER_S3_BUCKET_HARVESTS: ${FLUXER_S3_BUCKET_HARVESTS:-fluxer-harvests}
|
||||
AWS_ACCESS_KEY_ID: ${FLUXER_S3_ACCESS_KEY:?set FLUXER_S3_ACCESS_KEY in .env}
|
||||
AWS_SECRET_ACCESS_KEY: ${FLUXER_S3_SECRET_KEY:?set FLUXER_S3_SECRET_KEY in .env}
|
||||
AWS_DEFAULT_REGION: us-east-1
|
||||
AWS_DEFAULT_REGION: ${FLUXER_S3_REGION:-us-east-1}
|
||||
AWS_EC2_METADATA_DISABLED: "true"
|
||||
|
||||
FLUXER_LIVEKIT_ENABLED: "true"
|
||||
FLUXER_LIVEKIT_ENABLED: "${FLUXER_LIVEKIT_ENABLED:-true}"
|
||||
FLUXER_LIVEKIT_API_KEY: ${LIVEKIT_API_KEY:?set LIVEKIT_API_KEY in .env}
|
||||
FLUXER_LIVEKIT_API_SECRET: ${LIVEKIT_API_SECRET:?set LIVEKIT_API_SECRET in .env}
|
||||
FLUXER_LIVEKIT_INTERNAL_URL: http://livekit:7880
|
||||
FLUXER_LIVEKIT_INTERNAL_URL: ${FLUXER_LIVEKIT_INTERNAL_URL:-http://livekit:7880}
|
||||
FLUXER_LIVEKIT_WEBHOOK_URL: http://api:8080/webhooks/livekit
|
||||
FLUXER_LIVEKIT_DEFAULT_REGION: '{"id":"default","name":"Default","emoji":"🌍","latitude":0,"longitude":0}'
|
||||
FLUXER_LIVEKIT_URL: ${FLUXER_LIVEKIT_URL:-${FLUXER_PUBLIC_ORIGIN:-${FLUXER_PUBLIC_SCHEME:-https}://${FLUXER_DOMAIN}:${FLUXER_PUBLIC_PORT:-443}}/livekit}
|
||||
@@ -72,16 +73,16 @@ x-fluxer-env: &fluxer-env
|
||||
FLUXER_EMAIL_SMTP_PASSWORD: ${FLUXER_EMAIL_SMTP_PASSWORD:-}
|
||||
FLUXER_EMAIL_SMTP_SECURE: ${FLUXER_EMAIL_SMTP_SECURE:-true}
|
||||
|
||||
FLUXER_SMS_ENABLED: "false"
|
||||
FLUXER_SMS_ENABLED: "${FLUXER_SMS_ENABLED:-false}"
|
||||
FLUXER_CAPTCHA_ENABLED: ${FLUXER_CAPTCHA_ENABLED:-false}
|
||||
FLUXER_CAPTCHA_PROVIDER: ${FLUXER_CAPTCHA_PROVIDER:-none}
|
||||
FLUXER_CAPTCHA_HCAPTCHA_SITE_KEY: ${FLUXER_CAPTCHA_HCAPTCHA_SITE_KEY:-}
|
||||
FLUXER_CAPTCHA_HCAPTCHA_SECRET_KEY: ${FLUXER_CAPTCHA_HCAPTCHA_SECRET_KEY:-}
|
||||
FLUXER_CAPTCHA_TURNSTILE_SITE_KEY: ${FLUXER_CAPTCHA_TURNSTILE_SITE_KEY:-}
|
||||
FLUXER_CAPTCHA_TURNSTILE_SECRET_KEY: ${FLUXER_CAPTCHA_TURNSTILE_SECRET_KEY:-}
|
||||
FLUXER_STRIPE_ENABLED: "false"
|
||||
FLUXER_NCMEC_ENABLED: "false"
|
||||
FLUXER_CLAMAV_ENABLED: "false"
|
||||
FLUXER_STRIPE_ENABLED: "${FLUXER_STRIPE_ENABLED:-false}"
|
||||
FLUXER_NCMEC_ENABLED: "${FLUXER_NCMEC_ENABLED:-false}"
|
||||
FLUXER_CLAMAV_ENABLED: "${FLUXER_CLAMAV_ENABLED:-false}"
|
||||
FLUXER_DISCOVERY_ENABLED: ${FLUXER_DISCOVERY_ENABLED:-true}
|
||||
|
||||
FLUXER_SUDO_MODE_SECRET: ${FLUXER_SUDO_MODE_SECRET:?set FLUXER_SUDO_MODE_SECRET in .env}
|
||||
@@ -288,11 +289,16 @@ services:
|
||||
environment:
|
||||
FLUXER_S3_ACCESS_KEY: ${FLUXER_S3_ACCESS_KEY:?set FLUXER_S3_ACCESS_KEY in .env}
|
||||
FLUXER_S3_SECRET_KEY: ${FLUXER_S3_SECRET_KEY:?set FLUXER_S3_SECRET_KEY in .env}
|
||||
FLUXER_S3_BUCKET_CDN: ${FLUXER_S3_BUCKET_CDN:-fluxer}
|
||||
FLUXER_S3_BUCKET_UPLOADS: ${FLUXER_S3_BUCKET_UPLOADS:-fluxer-uploads}
|
||||
FLUXER_S3_BUCKET_DOWNLOADS: ${FLUXER_S3_BUCKET_DOWNLOADS:-fluxer-downloads}
|
||||
FLUXER_S3_BUCKET_REPORTS: ${FLUXER_S3_BUCKET_REPORTS:-fluxer-reports}
|
||||
FLUXER_S3_BUCKET_HARVESTS: ${FLUXER_S3_BUCKET_HARVESTS:-fluxer-harvests}
|
||||
entrypoint:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- >
|
||||
buckets="fluxer fluxer-uploads fluxer-downloads fluxer-reports fluxer-harvests";
|
||||
buckets="$$FLUXER_S3_BUCKET_CDN $$FLUXER_S3_BUCKET_UPLOADS $$FLUXER_S3_BUCKET_DOWNLOADS $$FLUXER_S3_BUCKET_REPORTS $$FLUXER_S3_BUCKET_HARVESTS";
|
||||
missing="$$buckets";
|
||||
for attempt in $$(seq 1 60); do
|
||||
if ! nc -z seaweedfs 9333 2>/dev/null; then
|
||||
@@ -559,7 +565,7 @@ services:
|
||||
<<: *fluxer-env
|
||||
FLUXER_SVC_NAME: users
|
||||
FLUXER_SVC_MODE: router
|
||||
FLUXER_SVC_MAX_CONCURRENT_REQUESTS: "${FLUXER_SVC_MAX_CONCURRENT_REQUESTS:-20}"
|
||||
FLUXER_SVC_MAX_CONCURRENT_REQUESTS: "${FLUXER_SVC_MAX_CONCURRENT_REQUESTS:-}"
|
||||
healthcheck: *fluxer-svc-healthcheck
|
||||
depends_on:
|
||||
nats: {condition: service_healthy}
|
||||
@@ -577,7 +583,7 @@ services:
|
||||
FLUXER_SVC_MODE: shard
|
||||
FLUXER_SVC_SHARD_ID: "0"
|
||||
FLUXER_POSTGRES_MAX_CONNECTIONS: "20"
|
||||
FLUXER_SVC_MAX_CONCURRENT_REQUESTS: "${FLUXER_SVC_MAX_CONCURRENT_REQUESTS:-20}"
|
||||
FLUXER_SVC_MAX_CONCURRENT_REQUESTS: "${FLUXER_SVC_MAX_CONCURRENT_REQUESTS:-}"
|
||||
healthcheck: *fluxer-svc-healthcheck
|
||||
depends_on:
|
||||
nats: {condition: service_healthy}
|
||||
@@ -627,7 +633,7 @@ services:
|
||||
<<: *fluxer-env
|
||||
FLUXER_SVC_NAME: messages
|
||||
FLUXER_SVC_MODE: router
|
||||
FLUXER_SVC_MAX_CONCURRENT_REQUESTS: "${FLUXER_SVC_MAX_CONCURRENT_REQUESTS:-20}"
|
||||
FLUXER_SVC_MAX_CONCURRENT_REQUESTS: "${FLUXER_SVC_MAX_CONCURRENT_REQUESTS:-}"
|
||||
healthcheck: *fluxer-svc-healthcheck
|
||||
depends_on:
|
||||
nats: {condition: service_healthy}
|
||||
@@ -645,7 +651,7 @@ services:
|
||||
FLUXER_SVC_MODE: shard
|
||||
FLUXER_SVC_SHARD_ID: "0"
|
||||
FLUXER_POSTGRES_MAX_CONNECTIONS: "20"
|
||||
FLUXER_SVC_MAX_CONCURRENT_REQUESTS: "${FLUXER_SVC_MAX_CONCURRENT_REQUESTS:-20}"
|
||||
FLUXER_SVC_MAX_CONCURRENT_REQUESTS: "${FLUXER_SVC_MAX_CONCURRENT_REQUESTS:-}"
|
||||
healthcheck: *fluxer-svc-healthcheck
|
||||
depends_on:
|
||||
nats: {condition: service_healthy}
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import reactGoogleTranslate from 'eslint-plugin-react-google-translate';
|
||||
import tseslint from 'typescript-eslint';
|
||||
|
||||
export default [
|
||||
{
|
||||
ignores: [
|
||||
'**/node_modules/**',
|
||||
'**/dist/**',
|
||||
'**/build/**',
|
||||
'**/coverage/**',
|
||||
'**/*.generated.*',
|
||||
'fluxer_app/src/features/i18n/locales/*/messages.mjs',
|
||||
],
|
||||
},
|
||||
{
|
||||
files: ['fluxer_app/src/**/*.tsx'],
|
||||
linterOptions: {
|
||||
reportUnusedDisableDirectives: 'error',
|
||||
},
|
||||
languageOptions: {
|
||||
parser: tseslint.parser,
|
||||
parserOptions: {
|
||||
project: './fluxer_app/tsconfig.json',
|
||||
tsconfigRootDir: import.meta.dirname,
|
||||
},
|
||||
},
|
||||
plugins: {'react-google-translate': reactGoogleTranslate},
|
||||
rules: {
|
||||
'react-google-translate/no-conditional-text-nodes-with-siblings': [
|
||||
'error',
|
||||
{ignoreParents: ['Trans', 'Plural', 'Select', 'SelectOrdinal']},
|
||||
],
|
||||
'react-google-translate/no-return-text-nodes': 'error',
|
||||
},
|
||||
},
|
||||
];
|
||||
@@ -560,6 +560,8 @@ fn traits_form(
|
||||
}
|
||||
}
|
||||
|
||||
const DERIVED_TRAITS: [&str; 1] = ["premium"];
|
||||
|
||||
fn parse_trait_definitions(limit_config: Option<&LimitConfigResponse>) -> Vec<&str> {
|
||||
limit_config
|
||||
.map(|response| {
|
||||
@@ -569,6 +571,7 @@ fn parse_trait_definitions(limit_config: Option<&LimitConfigResponse>) -> Vec<&s
|
||||
.iter()
|
||||
.map(|value| value.trim())
|
||||
.filter(|value| !value.is_empty())
|
||||
.filter(|value| !DERIVED_TRAITS.contains(value))
|
||||
.collect()
|
||||
})
|
||||
.unwrap_or_default()
|
||||
@@ -579,5 +582,6 @@ fn custom_traits<'a>(user: &'a AdminUser, trait_definitions: &[&str]) -> Vec<&'a
|
||||
.iter()
|
||||
.map(String::as_str)
|
||||
.filter(|trait_name| !trait_definitions.contains(trait_name))
|
||||
.filter(|trait_name| !DERIVED_TRAITS.contains(trait_name))
|
||||
.collect()
|
||||
}
|
||||
|
||||
@@ -81,6 +81,22 @@ function withUploadRelaySecret(master: MasterConfig, secretBase64: string): Mast
|
||||
};
|
||||
}
|
||||
|
||||
function withStripeLegacyPrices(
|
||||
master: MasterConfig,
|
||||
legacyPrices: Record<string, Array<string> | undefined> | undefined,
|
||||
): MasterConfig {
|
||||
return {
|
||||
...master,
|
||||
integrations: {
|
||||
...master.integrations,
|
||||
stripe: {
|
||||
...master.integrations.stripe,
|
||||
legacy_prices: legacyPrices,
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
describe('buildAPIConfigFromMaster upload relay secret', () => {
|
||||
let master: MasterConfig;
|
||||
beforeAll(async () => {
|
||||
@@ -111,3 +127,42 @@ describe('buildAPIConfigFromMaster upload relay secret', () => {
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('buildAPIConfigFromMaster stripe legacy prices', () => {
|
||||
let master: MasterConfig;
|
||||
beforeAll(async () => {
|
||||
master = await loadConfig();
|
||||
});
|
||||
|
||||
it('carries the retired stripe price map from master config onto the api config', () => {
|
||||
const legacyPrices = {
|
||||
monthly_brl: ['price_retired_monthly_brl'],
|
||||
yearly_brl: ['price_retired_yearly_brl_a', 'price_retired_yearly_brl_b'],
|
||||
monthly_try: ['price_1TMYpdFPC94Os7FdZVRx98Up'],
|
||||
};
|
||||
expect(buildAPIConfigFromMaster(withStripeLegacyPrices(master, legacyPrices)).stripe.legacyPrices).toEqual(
|
||||
legacyPrices,
|
||||
);
|
||||
});
|
||||
|
||||
it('carries the retired price map even when no live prices are configured', () => {
|
||||
const withoutPrices: MasterConfig = {
|
||||
...master,
|
||||
integrations: {
|
||||
...master.integrations,
|
||||
stripe: {
|
||||
...master.integrations.stripe,
|
||||
prices: undefined,
|
||||
legacy_prices: {monthly_try: ['price_1TMYpdFPC94Os7FdZVRx98Up']},
|
||||
},
|
||||
},
|
||||
};
|
||||
const config = buildAPIConfigFromMaster(withoutPrices);
|
||||
expect(config.stripe.prices).toBeUndefined();
|
||||
expect(config.stripe.legacyPrices).toEqual({monthly_try: ['price_1TMYpdFPC94Os7FdZVRx98Up']});
|
||||
});
|
||||
|
||||
it('leaves the retired price map undefined when master config does not set one', () => {
|
||||
expect(buildAPIConfigFromMaster(withStripeLegacyPrices(master, undefined)).stripe.legacyPrices).toBeUndefined();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -395,6 +395,7 @@ export function buildAPIConfigFromMaster(master: MasterConfig): APIConfig {
|
||||
gift1YearTry: master.integrations.stripe.prices.gift_1_year_try,
|
||||
}
|
||||
: undefined,
|
||||
legacyPrices: master.integrations.stripe.legacy_prices,
|
||||
},
|
||||
bunny: {
|
||||
purgeEnabled: master.integrations.bunny.purge_enabled,
|
||||
|
||||
@@ -229,14 +229,11 @@ export class AdminMessageService {
|
||||
hitsPerPage: limit,
|
||||
page: 1,
|
||||
});
|
||||
const messageEntries = result.hits.map((hit) => ({
|
||||
channelId: createChannelID(BigInt(hit.channelId)),
|
||||
messageId: createMessageID(BigInt(hit.id)),
|
||||
}));
|
||||
const resolvedMessages = await Promise.all(
|
||||
messageEntries.map(({channelId, messageId}) => this.getMessageResponseForAdmin(channelId, messageId)),
|
||||
);
|
||||
const messageResponses = resolvedMessages.filter((message): message is MessageResponse => message !== null);
|
||||
const messageResponses = await createMessageResponseDataService().buildMessages({
|
||||
userId: createUserID(0n),
|
||||
messages: result.messages,
|
||||
access: await this.getMessageResponseAccessForAdmin(channelId),
|
||||
});
|
||||
const attachmentStatuses = await this.getAttachmentStatusesForMessages(messageResponses);
|
||||
const priorReports = await this.getPriorReportsForMessages(messageResponses);
|
||||
const adminMessages = messageResponses.map((message) =>
|
||||
@@ -282,19 +279,6 @@ export class AdminMessageService {
|
||||
});
|
||||
}
|
||||
|
||||
private async getMessageResponseForAdmin(
|
||||
channelId: ChannelID,
|
||||
messageId: MessageID,
|
||||
): Promise<MessageResponse | null> {
|
||||
const access = await this.getMessageResponseAccessForAdmin(channelId);
|
||||
return createMessageResponseDataService().getMessage({
|
||||
userId: createUserID(0n),
|
||||
channelId,
|
||||
messageId,
|
||||
access,
|
||||
});
|
||||
}
|
||||
|
||||
private async getPriorReportsForMessages(messages: Array<MessageResponse>): Promise<Map<string, Array<string>>> {
|
||||
const authorIds = messages.map((message) => createUserID(BigInt(message.author.id)));
|
||||
return this.deps.ncmecSubmissionService.getUserPriorReportIds(authorIds);
|
||||
|
||||
@@ -45,6 +45,7 @@ import {Logger} from '../../Logger';
|
||||
import {getInstanceConfigRepository} from '../../middleware/ServiceSingletons';
|
||||
import type {IRiskHistoryRepository} from '../../risk/HistoricalOutcomeRepository';
|
||||
import type {HistoricalOutcomeCode} from '../../risk/RiskHistoryTypes';
|
||||
import {resolveAssignedTraits} from '../../user/UserTraits';
|
||||
import {getIpAddressReverse, getLocationLabelFromIp} from '../../utils/IpUtils';
|
||||
import {resolveSessionClientInfo} from '../../utils/SessionClientIdentity';
|
||||
import {mapUserToAdminResponse} from '../models/UserTypes';
|
||||
@@ -383,7 +384,8 @@ export class AdminUserSecurityService {
|
||||
if (!user) {
|
||||
throw new UnknownUserError();
|
||||
}
|
||||
const traitSet = data.traits.length > 0 ? new Set(data.traits) : null;
|
||||
const assigned = resolveAssignedTraits(user.traits ?? [], data.traits);
|
||||
const traitSet = assigned.size > 0 ? assigned : null;
|
||||
const updatedUser = await userRepository.patchUpsert(
|
||||
userId,
|
||||
{
|
||||
|
||||
@@ -308,7 +308,7 @@ export async function createMessageSnapshotsForForward(
|
||||
return [new MessageSnapshotModel(snapshotData)];
|
||||
}
|
||||
|
||||
function collectEmbedReferencedAttachmentCdnKeys(message: Message): Array<string> {
|
||||
function collectEmbedReferencedAttachmentCdnKeys(message: Message, ownKeys: ReadonlySet<string>): Array<string> {
|
||||
const mediaPrefix = `${Config.endpoints.media}/`;
|
||||
const keys = new Set<string>();
|
||||
const consider = (url: string | null | undefined): void => {
|
||||
@@ -316,7 +316,7 @@ function collectEmbedReferencedAttachmentCdnKeys(message: Message): Array<string
|
||||
return;
|
||||
}
|
||||
const key = url.slice(mediaPrefix.length);
|
||||
if (key.startsWith('attachments/')) {
|
||||
if (ownKeys.has(key)) {
|
||||
keys.add(key);
|
||||
}
|
||||
};
|
||||
@@ -342,6 +342,11 @@ export async function purgeMessageAttachments(
|
||||
): Promise<void> {
|
||||
const cdnKeys = new Set<string>();
|
||||
const cdnUrls: Array<string> = [];
|
||||
const ownedCdnKeys = new Set<string>(
|
||||
collectMessageAttachments(message).map((attachment) =>
|
||||
makeAttachmentCdnKey(message.channelId, attachment.id, attachment.filename),
|
||||
),
|
||||
);
|
||||
for (const attachment of collectMessageAttachments(message)) {
|
||||
const cdnKey = makeAttachmentCdnKey(message.channelId, attachment.id, attachment.filename);
|
||||
if (cdnKeys.has(cdnKey)) {
|
||||
@@ -352,7 +357,7 @@ export async function purgeMessageAttachments(
|
||||
cdnUrls.push(makeAttachmentCdnUrl(message.channelId, attachment.id, attachment.filename));
|
||||
}
|
||||
}
|
||||
for (const embedKey of collectEmbedReferencedAttachmentCdnKeys(message)) {
|
||||
for (const embedKey of collectEmbedReferencedAttachmentCdnKeys(message, ownedCdnKeys)) {
|
||||
if (cdnKeys.has(embedKey)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -4,11 +4,10 @@ import {ChannelTypes, Permissions} from '@fluxer/constants/src/ChannelConstants'
|
||||
import {UnknownMessageError} from '@fluxer/errors/src/domains/channel/UnknownMessageError';
|
||||
import {FeatureTemporarilyDisabledError} from '@fluxer/errors/src/domains/core/FeatureTemporarilyDisabledError';
|
||||
import type {MessageSearchRequest} from '@fluxer/schema/src/domains/message/MessageRequestSchemas';
|
||||
import type {MessageResponse, MessageSearchResponse} from '@fluxer/schema/src/domains/message/MessageResponseSchemas';
|
||||
import type {MessageSearchResponse} from '@fluxer/schema/src/domains/message/MessageResponseSchemas';
|
||||
import {snowflakeToDate} from '@fluxer/snowflake/src/Snowflake';
|
||||
import {AttachmentDecayService} from '../../../attachment/AttachmentDecayService';
|
||||
import type {AttachmentID, ChannelID, MessageID, UserID} from '../../../BrandedTypes';
|
||||
import {createChannelID, createMessageID} from '../../../BrandedTypes';
|
||||
import type {UserCacheService} from '../../../infrastructure/UserCacheService';
|
||||
import type {RequestCache} from '../../../middleware/RequestCacheMiddleware';
|
||||
import type {Channel} from '../../../models/Channel';
|
||||
@@ -192,29 +191,19 @@ export class MessageRetrievalService {
|
||||
hitsPerPage,
|
||||
page,
|
||||
});
|
||||
const messageEntries = result.hits.map((hit) => ({
|
||||
channelId: createChannelID(BigInt(hit.channelId)),
|
||||
messageId: createMessageID(BigInt(hit.id)),
|
||||
}));
|
||||
const access = {
|
||||
sourceGuildId: channel.guildId,
|
||||
messageHistoryCutoff: !hasReadHistory ? (authChannel.guild?.message_history_cutoff ?? null) : null,
|
||||
canReadMessageHistory: hasReadHistory,
|
||||
};
|
||||
const responseDataService = createMessageResponseDataService();
|
||||
const foundMessages = await Promise.all(
|
||||
messageEntries.map(({channelId, messageId}) =>
|
||||
responseDataService.getMessage({
|
||||
userId,
|
||||
channelId,
|
||||
messageId,
|
||||
access,
|
||||
}),
|
||||
),
|
||||
const builtMessages = await createMessageResponseDataService().buildMessages({
|
||||
userId,
|
||||
messages: result.messages,
|
||||
access,
|
||||
});
|
||||
const messageResponses = builtMessages.map(
|
||||
({referenced_message: _referencedMessage, ...searchMessage}) => searchMessage,
|
||||
);
|
||||
const messageResponses = foundMessages
|
||||
.filter((message): message is MessageResponse => message !== null)
|
||||
.map(({referenced_message: _referencedMessage, ...searchMessage}) => searchMessage);
|
||||
return {
|
||||
channels: messageResponses.length > 0 ? [await this.mapSearchChannelResponse(channel, userId, requestCache)] : [],
|
||||
messages: messageResponses,
|
||||
|
||||
@@ -248,6 +248,7 @@ export interface APIConfig {
|
||||
gift1YearPln?: string;
|
||||
gift1YearTry?: string;
|
||||
};
|
||||
legacyPrices?: Record<string, Array<string> | undefined>;
|
||||
};
|
||||
bunny: {
|
||||
purgeEnabled: boolean;
|
||||
|
||||
@@ -156,7 +156,7 @@ export class GuildSearchService {
|
||||
page,
|
||||
cursor,
|
||||
});
|
||||
const mappedResponses = await this.responseMapper.mapSearchResultToResponses(result, userId, requestCache);
|
||||
const mappedResponses = await this.responseMapper.mapSearchResultToResponses(result.messages, userId, requestCache);
|
||||
return {
|
||||
messages: mappedResponses.messages,
|
||||
channels: mappedResponses.channels,
|
||||
@@ -238,7 +238,7 @@ export class GuildSearchService {
|
||||
page,
|
||||
cursor,
|
||||
});
|
||||
const mappedResponses = await this.responseMapper.mapSearchResultToResponses(result, userId, requestCache);
|
||||
const mappedResponses = await this.responseMapper.mapSearchResultToResponses(result.messages, userId, requestCache);
|
||||
return {
|
||||
messages: mappedResponses.messages,
|
||||
channels: mappedResponses.channels,
|
||||
|
||||
@@ -143,6 +143,32 @@ describe('StorageService.getPresignedUploadURL', () => {
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
it('gives both clients the configured addressing rather than pinning one to path style', async () => {
|
||||
await withS3Config(
|
||||
{
|
||||
endpoint: 'https://s3.example.test',
|
||||
presignedUrlBase: '',
|
||||
forcePathStyle: false,
|
||||
region: 'eu-central-1',
|
||||
accessKeyId: 'fluxer',
|
||||
secretAccessKey: 'fluxer-secret',
|
||||
buckets: {uploads: 'fluxer-uploads'},
|
||||
},
|
||||
async () => {
|
||||
const service = new StorageService();
|
||||
const probe = service as unknown as {
|
||||
client: {config: {forcePathStyle?: unknown}};
|
||||
presignClient: {config: {forcePathStyle?: unknown}};
|
||||
};
|
||||
const resolve = async (value: unknown): Promise<unknown> =>
|
||||
typeof value === 'function' ? await (value as () => Promise<unknown>)() : value;
|
||||
|
||||
expect(await resolve(probe.client.config.forcePathStyle)).toBe(false);
|
||||
expect(await resolve(probe.presignClient.config.forcePathStyle)).toBe(false);
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('StorageService.copyObjectWithMetadataStripping', () => {
|
||||
|
||||
@@ -127,7 +127,7 @@ export class StorageService implements IStorageService {
|
||||
region: this.provider.region,
|
||||
accessKeyId: this.provider.accessKeyId,
|
||||
secretAccessKey: this.provider.secretAccessKey,
|
||||
forcePathStyle: true,
|
||||
forcePathStyle: this.provider.forcePathStyle,
|
||||
});
|
||||
this.presignClient = buildPooledS3Client({
|
||||
endpoint: this.resolvePresignEndpoint(),
|
||||
@@ -136,6 +136,15 @@ export class StorageService implements IStorageService {
|
||||
secretAccessKey: this.provider.secretAccessKey,
|
||||
forcePathStyle: this.provider.forcePathStyle,
|
||||
});
|
||||
Logger.info(
|
||||
{
|
||||
endpoint: this.provider.endpoint,
|
||||
presignEndpoint: this.resolvePresignEndpoint(),
|
||||
region: this.provider.region,
|
||||
addressing: this.provider.forcePathStyle ? 'path' : 'virtual-host',
|
||||
},
|
||||
'Object storage client ready',
|
||||
);
|
||||
}
|
||||
|
||||
private resolvePresignEndpoint(): string {
|
||||
|
||||
@@ -13628,6 +13628,73 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"/premium/switch-to-list-price": {
|
||||
"post": {
|
||||
"operationId": "switch_subscription_to_list_price",
|
||||
"summary": "Switch subscription to the current list price",
|
||||
"tags": ["Premium"],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Success",
|
||||
"content": {"application/json": {"schema": {"$ref": "#/components/schemas/SwitchToListPriceResponse"}}}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad Request - The request was malformed or contained invalid data",
|
||||
"content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized - Authentication is required or the token is invalid",
|
||||
"content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}
|
||||
},
|
||||
"403": {
|
||||
"description": "Forbidden - You do not have permission to perform this action",
|
||||
"content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}
|
||||
},
|
||||
"429": {
|
||||
"description": "Too Many Requests - You are being rate limited",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"code": {"type": "string", "enum": ["RATE_LIMITED"]},
|
||||
"message": {"type": "string"},
|
||||
"retry_after": {"type": "number", "description": "Seconds to wait before retrying"},
|
||||
"global": {"type": "boolean", "description": "Whether this is a global rate limit"}
|
||||
},
|
||||
"required": ["code", "message", "retry_after"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"headers": {
|
||||
"Retry-After": {
|
||||
"description": "Number of seconds to wait before retrying (only on 429)",
|
||||
"schema": {"type": "integer"}
|
||||
},
|
||||
"X-RateLimit-Limit": {
|
||||
"description": "The number of requests that can be made in the current window",
|
||||
"schema": {"type": "integer"}
|
||||
},
|
||||
"X-RateLimit-Remaining": {
|
||||
"description": "The number of remaining requests that can be made",
|
||||
"schema": {"type": "integer"}
|
||||
},
|
||||
"X-RateLimit-Reset": {
|
||||
"description": "Unix timestamp when the rate limit resets",
|
||||
"schema": {"type": "integer"}
|
||||
}
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal Server Error - An unexpected error occurred",
|
||||
"content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}
|
||||
}
|
||||
},
|
||||
"x-mint": {"metadata": {"title": "Switch subscription to the current list price"}},
|
||||
"description": "Moves the authenticated user's grandfathered premium subscription down to the current list price for the same currency and billing cycle, effective at the end of the current billing period. The target price is resolved on the server and the switch is refused unless it lowers the amount charged.",
|
||||
"security": [{"sessionToken": []}]
|
||||
}
|
||||
},
|
||||
"/premium/visionary/rejoin": {
|
||||
"post": {
|
||||
"operationId": "rejoin_visionary_guild",
|
||||
@@ -32194,6 +32261,7 @@
|
||||
"pending_subscription_change": {
|
||||
"anyOf": [{"$ref": "#/components/schemas/PendingSubscriptionChangeResponse"}, {"type": "null"}]
|
||||
},
|
||||
"list_price_switch": {"$ref": "#/components/schemas/ListPriceSwitchState"},
|
||||
"subscription": {
|
||||
"anyOf": [{"$ref": "#/components/schemas/PremiumBillingSubscriptionResponse"}, {"type": "null"}]
|
||||
},
|
||||
@@ -32209,6 +32277,7 @@
|
||||
"stripe_customer_id",
|
||||
"current_subscription_price",
|
||||
"pending_subscription_change",
|
||||
"list_price_switch",
|
||||
"subscription",
|
||||
"invoices",
|
||||
"invoices_has_more",
|
||||
@@ -32241,6 +32310,12 @@
|
||||
"type": "string",
|
||||
"description": "Stripe subscription schedule ID managing the pending change"
|
||||
},
|
||||
"change_kind": {
|
||||
"enum": ["billing_cycle", "price"],
|
||||
"type": "string",
|
||||
"x-enumNames": ["billing_cycle", "price"],
|
||||
"description": "Whether the pending change moves the billing cycle or only the price within the same cycle"
|
||||
},
|
||||
"current_billing_cycle": {
|
||||
"anyOf": [
|
||||
{"enum": ["monthly", "yearly"], "type": "string", "x-enumNames": ["monthly", "yearly"]},
|
||||
@@ -32263,6 +32338,10 @@
|
||||
"anyOf": [{"type": "string"}, {"type": "null"}],
|
||||
"description": "Stripe price ID that will be used after the change"
|
||||
},
|
||||
"target_amount_minor": {
|
||||
"anyOf": [{"type": "integer", "format": "int53"}, {"type": "null"}],
|
||||
"description": "Unit amount of the price that will be used after the change, in the currency minor unit"
|
||||
},
|
||||
"currency": {
|
||||
"anyOf": [
|
||||
{
|
||||
@@ -32289,11 +32368,13 @@
|
||||
},
|
||||
"required": [
|
||||
"schedule_id",
|
||||
"change_kind",
|
||||
"current_billing_cycle",
|
||||
"target_billing_cycle",
|
||||
"effective_at",
|
||||
"current_price_id",
|
||||
"target_price_id",
|
||||
"target_amount_minor",
|
||||
"currency",
|
||||
"initial_amount_minor",
|
||||
"recurring_amount_minor",
|
||||
@@ -32303,6 +32384,104 @@
|
||||
{"type": "null"}
|
||||
]
|
||||
},
|
||||
"ListPriceSwitchState": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"available": {
|
||||
"type": "boolean",
|
||||
"description": "Whether the authenticated user can move their subscription down to the current list price right now"
|
||||
},
|
||||
"reason": {
|
||||
"anyOf": [{"$ref": "#/components/schemas/ListPriceSwitchIneligibilityReason"}, {"type": "null"}],
|
||||
"description": "Why the switch is unavailable, when available is false"
|
||||
},
|
||||
"pending": {
|
||||
"type": "boolean",
|
||||
"description": "Whether a switch to the current list price is already scheduled"
|
||||
},
|
||||
"current_price_id": {
|
||||
"anyOf": [{"type": "string"}, {"type": "null"}],
|
||||
"description": "Stripe price ID the subscription is billed against today"
|
||||
},
|
||||
"current_amount_minor": {
|
||||
"anyOf": [{"type": "integer", "format": "int53"}, {"type": "null"}],
|
||||
"description": "Amount the subscription is billed today, in the currency minor unit"
|
||||
},
|
||||
"list_price_id": {
|
||||
"anyOf": [{"type": "string"}, {"type": "null"}],
|
||||
"description": "Current list Stripe price ID for the same cycle and currency"
|
||||
},
|
||||
"list_amount_minor": {
|
||||
"anyOf": [{"type": "integer", "format": "int53"}, {"type": "null"}],
|
||||
"description": "Current list price for the same cycle and currency, in the currency minor unit"
|
||||
},
|
||||
"currency": {
|
||||
"anyOf": [
|
||||
{
|
||||
"enum": ["USD", "EUR", "BRL", "INR", "PLN", "TRY"],
|
||||
"type": "string",
|
||||
"x-enumNames": ["USD", "EUR", "BRL", "INR", "PLN", "TRY"]
|
||||
},
|
||||
{"type": "null"}
|
||||
],
|
||||
"description": "Currency of both the current and the list amount"
|
||||
},
|
||||
"billing_cycle": {
|
||||
"anyOf": [
|
||||
{"enum": ["monthly", "yearly"], "type": "string", "x-enumNames": ["monthly", "yearly"]},
|
||||
{"type": "null"}
|
||||
],
|
||||
"description": "Recurring billing cycle the switch applies to"
|
||||
},
|
||||
"effective_at": {
|
||||
"anyOf": [{"type": "string"}, {"type": "null"}],
|
||||
"description": "ISO timestamp the switch takes effect, which is the end of the current billing period"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"available",
|
||||
"reason",
|
||||
"pending",
|
||||
"current_price_id",
|
||||
"current_amount_minor",
|
||||
"list_price_id",
|
||||
"list_amount_minor",
|
||||
"currency",
|
||||
"billing_cycle",
|
||||
"effective_at"
|
||||
]
|
||||
},
|
||||
"ListPriceSwitchIneligibilityReason": {
|
||||
"enum": [
|
||||
"feature_unavailable",
|
||||
"no_active_subscription",
|
||||
"subscription_not_chargeable",
|
||||
"unsupported_subscription",
|
||||
"no_list_price",
|
||||
"already_on_list_price",
|
||||
"not_a_price_decrease",
|
||||
"subscription_cancelling",
|
||||
"cancellation_managed_by_schedule",
|
||||
"conflicting_pending_change",
|
||||
"missing_period_end",
|
||||
"switch_in_progress"
|
||||
],
|
||||
"type": "string",
|
||||
"x-enumNames": [
|
||||
"feature_unavailable",
|
||||
"no_active_subscription",
|
||||
"subscription_not_chargeable",
|
||||
"unsupported_subscription",
|
||||
"no_list_price",
|
||||
"already_on_list_price",
|
||||
"not_a_price_decrease",
|
||||
"subscription_cancelling",
|
||||
"cancellation_managed_by_schedule",
|
||||
"conflicting_pending_change",
|
||||
"missing_period_end",
|
||||
"switch_in_progress"
|
||||
]
|
||||
},
|
||||
"PremiumBillingSubscriptionResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
@@ -32544,6 +32723,134 @@
|
||||
"status"
|
||||
]
|
||||
},
|
||||
"SwitchToListPriceResponse": {
|
||||
"oneOf": [
|
||||
{"$ref": "#/components/schemas/ScheduledSwitchToListPriceResponse"},
|
||||
{"$ref": "#/components/schemas/AlreadyScheduledSwitchToListPriceResponse"},
|
||||
{"$ref": "#/components/schemas/IneligibleSwitchToListPriceResponse"}
|
||||
]
|
||||
},
|
||||
"ScheduledSwitchToListPriceResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"status": {
|
||||
"type": "string",
|
||||
"enum": ["scheduled"],
|
||||
"description": "The switch was scheduled for the end of the current billing period"
|
||||
},
|
||||
"effective_at": {"type": "string", "description": "ISO timestamp the switch takes effect"},
|
||||
"target_price_id": {
|
||||
"type": "string",
|
||||
"description": "Stripe price ID the subscription will be billed against after the switch"
|
||||
},
|
||||
"target_amount_minor": {
|
||||
"type": "integer",
|
||||
"format": "int53",
|
||||
"description": "Amount billed after the switch, in the currency minor unit"
|
||||
},
|
||||
"current_amount_minor": {
|
||||
"type": "integer",
|
||||
"format": "int53",
|
||||
"description": "Amount billed before the switch, in the currency minor unit"
|
||||
},
|
||||
"currency": {
|
||||
"enum": ["USD", "EUR", "BRL", "INR", "PLN", "TRY"],
|
||||
"type": "string",
|
||||
"x-enumNames": ["USD", "EUR", "BRL", "INR", "PLN", "TRY"],
|
||||
"description": "Currency of both amounts"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"status",
|
||||
"effective_at",
|
||||
"target_price_id",
|
||||
"target_amount_minor",
|
||||
"current_amount_minor",
|
||||
"currency"
|
||||
]
|
||||
},
|
||||
"AlreadyScheduledSwitchToListPriceResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"status": {
|
||||
"type": "string",
|
||||
"enum": ["already_scheduled"],
|
||||
"description": "The switch was already scheduled by an earlier request"
|
||||
},
|
||||
"effective_at": {"type": "string", "description": "ISO timestamp the switch takes effect"},
|
||||
"target_price_id": {
|
||||
"type": "string",
|
||||
"description": "Stripe price ID the subscription will be billed against after the switch"
|
||||
},
|
||||
"target_amount_minor": {
|
||||
"type": "integer",
|
||||
"format": "int53",
|
||||
"description": "Amount billed after the switch, in the currency minor unit"
|
||||
},
|
||||
"current_amount_minor": {
|
||||
"type": "integer",
|
||||
"format": "int53",
|
||||
"description": "Amount billed before the switch, in the currency minor unit"
|
||||
},
|
||||
"currency": {
|
||||
"enum": ["USD", "EUR", "BRL", "INR", "PLN", "TRY"],
|
||||
"type": "string",
|
||||
"x-enumNames": ["USD", "EUR", "BRL", "INR", "PLN", "TRY"],
|
||||
"description": "Currency of both amounts"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"status",
|
||||
"effective_at",
|
||||
"target_price_id",
|
||||
"target_amount_minor",
|
||||
"current_amount_minor",
|
||||
"currency"
|
||||
]
|
||||
},
|
||||
"IneligibleSwitchToListPriceResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"status": {
|
||||
"type": "string",
|
||||
"enum": ["ineligible"],
|
||||
"description": "The subscription cannot be moved to the current list price"
|
||||
},
|
||||
"reason": {
|
||||
"enum": [
|
||||
"feature_unavailable",
|
||||
"no_active_subscription",
|
||||
"subscription_not_chargeable",
|
||||
"unsupported_subscription",
|
||||
"no_list_price",
|
||||
"already_on_list_price",
|
||||
"not_a_price_decrease",
|
||||
"subscription_cancelling",
|
||||
"cancellation_managed_by_schedule",
|
||||
"conflicting_pending_change",
|
||||
"missing_period_end",
|
||||
"switch_in_progress"
|
||||
],
|
||||
"type": "string",
|
||||
"x-enumNames": [
|
||||
"feature_unavailable",
|
||||
"no_active_subscription",
|
||||
"subscription_not_chargeable",
|
||||
"unsupported_subscription",
|
||||
"no_list_price",
|
||||
"already_on_list_price",
|
||||
"not_a_price_decrease",
|
||||
"subscription_cancelling",
|
||||
"cancellation_managed_by_schedule",
|
||||
"conflicting_pending_change",
|
||||
"missing_period_end",
|
||||
"switch_in_progress"
|
||||
],
|
||||
"description": "Why the switch was refused"
|
||||
}
|
||||
},
|
||||
"required": ["status", "reason"]
|
||||
},
|
||||
"ReadStateAckResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
||||
@@ -253,7 +253,7 @@ export class GlobalSearchService {
|
||||
page,
|
||||
cursor,
|
||||
});
|
||||
const mappedResponses = await this.responseMapper.mapSearchResultToResponses(result, userId, requestCache);
|
||||
const mappedResponses = await this.responseMapper.mapSearchResultToResponses(result.messages, userId, requestCache);
|
||||
return {
|
||||
messages: mappedResponses.messages,
|
||||
channels: mappedResponses.channels,
|
||||
|
||||
@@ -1,20 +1,18 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import type {
|
||||
MessageResponse,
|
||||
MessageSearchResultsResponse,
|
||||
} from '@fluxer/schema/src/domains/message/MessageResponseSchemas';
|
||||
import type {MessageSearchResultsResponse} from '@fluxer/schema/src/domains/message/MessageResponseSchemas';
|
||||
import type {UserID} from '../BrandedTypes';
|
||||
import {createChannelID, createMessageID} from '../BrandedTypes';
|
||||
import {createChannelID} from '../BrandedTypes';
|
||||
import {mapChannelToResponse} from '../channel/ChannelMappers';
|
||||
import type {IChannelRepository} from '../channel/IChannelRepository';
|
||||
import {
|
||||
createMessageResponseDataService,
|
||||
messageResponseAccessForChannel,
|
||||
} from '../channel/services/message/MessageResponseDataService';
|
||||
import {createMessageResponseDataService} from '../channel/services/message/MessageResponseDataService';
|
||||
import type {UserCacheService} from '../infrastructure/UserCacheService';
|
||||
import type {RequestCache} from '../middleware/RequestCacheMiddleware';
|
||||
import type {Channel} from '../models/Channel';
|
||||
import type {Message} from '../models/Message';
|
||||
import {mapWithConcurrency} from '../utils/ConcurrencyUtils';
|
||||
|
||||
const CHANNEL_LOOKUP_CONCURRENCY = 16;
|
||||
|
||||
export class MessageSearchResponseMapper {
|
||||
constructor(
|
||||
@@ -23,71 +21,46 @@ export class MessageSearchResponseMapper {
|
||||
) {}
|
||||
|
||||
async mapSearchResultToResponses(
|
||||
result: {
|
||||
hits: Array<{
|
||||
channelId: string;
|
||||
id: string;
|
||||
}>;
|
||||
total: number;
|
||||
},
|
||||
messages: Array<Message>,
|
||||
userId: UserID,
|
||||
requestCache: RequestCache,
|
||||
): Promise<{
|
||||
messages: Array<MessageSearchResultsResponse['messages'][number]>;
|
||||
channels: Array<MessageSearchResultsResponse['channels'][number]>;
|
||||
}> {
|
||||
const messageEntries = result.hits.map((hit) => ({
|
||||
channelId: createChannelID(BigInt(hit.channelId)),
|
||||
messageId: createMessageID(BigInt(hit.id)),
|
||||
}));
|
||||
const orderedChannelIds = new Set<string>();
|
||||
for (const entry of messageEntries) {
|
||||
orderedChannelIds.add(entry.channelId.toString());
|
||||
}
|
||||
const channels = await Promise.all(
|
||||
Array.from(orderedChannelIds).map((channelId) =>
|
||||
this.channelRepository.findUnique(createChannelID(BigInt(channelId))),
|
||||
),
|
||||
const orderedChannelIds = Array.from(new Set(messages.map((message) => message.channelId.toString())));
|
||||
const channels = await mapWithConcurrency(orderedChannelIds, CHANNEL_LOOKUP_CONCURRENCY, (channelId) =>
|
||||
this.channelRepository.findUnique(createChannelID(BigInt(channelId))),
|
||||
);
|
||||
const validChannels = channels.filter((channel): channel is Channel => channel !== null);
|
||||
const channelById = new Map(validChannels.map((channel) => [channel.id.toString(), channel] as const));
|
||||
const responseDataService = createMessageResponseDataService();
|
||||
const messageResponsesWithEntries = await Promise.all(
|
||||
messageEntries.map(async (entry) => {
|
||||
const channel = channelById.get(entry.channelId.toString());
|
||||
if (!channel) return null;
|
||||
const message = await responseDataService.getMessage({
|
||||
userId,
|
||||
channelId: entry.channelId,
|
||||
messageId: entry.messageId,
|
||||
access: messageResponseAccessForChannel(channel),
|
||||
});
|
||||
return message ? {message, channelId: entry.channelId.toString()} : null;
|
||||
}),
|
||||
const channelById = new Map(
|
||||
channels
|
||||
.filter((channel): channel is Channel => channel !== null)
|
||||
.map((channel) => [channel.id.toString(), channel] as const),
|
||||
);
|
||||
const validMessageResponseEntries = messageResponsesWithEntries.filter(
|
||||
(entry): entry is {message: MessageResponse; channelId: string} => entry !== null,
|
||||
);
|
||||
const messageResponses = validMessageResponseEntries.map((entry) => {
|
||||
const {referenced_message: _referencedMessage, ...searchMessage} = entry.message;
|
||||
return searchMessage;
|
||||
const renderableMessages = messages.filter((message) => channelById.has(message.channelId.toString()));
|
||||
const messageResponses = await createMessageResponseDataService().buildMessagesForChannels({
|
||||
userId,
|
||||
messages: renderableMessages,
|
||||
channelById,
|
||||
});
|
||||
const orderedResponseChannelIds = new Set(validMessageResponseEntries.map((entry) => entry.channelId));
|
||||
const orderedChannels = Array.from(orderedResponseChannelIds)
|
||||
const searchMessages = messageResponses.map(
|
||||
({referenced_message: _referencedMessage, ...searchMessage}) => searchMessage,
|
||||
);
|
||||
const respondedChannelIds = new Set(searchMessages.map((message) => message.channel_id));
|
||||
const orderedChannels = orderedChannelIds
|
||||
.filter((channelId) => respondedChannelIds.has(channelId))
|
||||
.map((channelId) => channelById.get(channelId))
|
||||
.filter((channel): channel is Channel => channel !== undefined);
|
||||
const channelResponses = await Promise.all(
|
||||
orderedChannels.map((channel) =>
|
||||
mapChannelToResponse({
|
||||
channel,
|
||||
currentUserId: userId,
|
||||
userCacheService: this.userCacheService,
|
||||
requestCache,
|
||||
}),
|
||||
),
|
||||
const channelResponses = await mapWithConcurrency(orderedChannels, CHANNEL_LOOKUP_CONCURRENCY, (channel) =>
|
||||
mapChannelToResponse({
|
||||
channel,
|
||||
currentUserId: userId,
|
||||
userCacheService: this.userCacheService,
|
||||
requestCache,
|
||||
}),
|
||||
);
|
||||
return {
|
||||
messages: messageResponses,
|
||||
messages: searchMessages,
|
||||
channels: channelResponses,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import {type ChannelID, createChannelID, createMessageID, type MessageID} from '
|
||||
import type {IMessageRepository} from '../channel/repositories/IMessageRepository';
|
||||
import {Logger} from '../Logger';
|
||||
import type {Message} from '../models/Message';
|
||||
import {mapWithConcurrency} from '../utils/ConcurrencyUtils';
|
||||
import type {IMessageSearchService} from './IMessageSearchService';
|
||||
import {deleteMessageSearchDocuments} from './MessageSearchIndexCleanup';
|
||||
|
||||
@@ -13,11 +14,16 @@ const RECONCILE_BATCH_SIZE = 250;
|
||||
const MAX_RECONCILE_PAGES = 40;
|
||||
const MAX_STALE_DELETE_ABSOLUTE = 250;
|
||||
const MAX_STALE_DELETE_RATIO = 0.5;
|
||||
const HIT_LOOKUP_CONCURRENCY = 32;
|
||||
|
||||
interface MessageLookupRepository {
|
||||
readonly messages: Pick<IMessageRepository, 'getMessage'>;
|
||||
}
|
||||
|
||||
export interface MessageSearchLookupResult extends SearchResult<SearchableMessage> {
|
||||
messages: Array<Message>;
|
||||
}
|
||||
|
||||
interface SearchExistingMessagesParams {
|
||||
searchService: IMessageSearchService;
|
||||
messageRepository: MessageLookupRepository;
|
||||
@@ -28,12 +34,21 @@ interface SearchExistingMessagesParams {
|
||||
cursor?: Array<string>;
|
||||
}
|
||||
|
||||
interface ValidatedHit {
|
||||
hit: SearchableMessage;
|
||||
message: Message | null;
|
||||
}
|
||||
|
||||
interface ValidatedHits {
|
||||
validHits: Array<SearchableMessage>;
|
||||
validHits: Array<ValidatedHit>;
|
||||
staleMessageIds: Array<MessageID>;
|
||||
lookupErrorCount: number;
|
||||
}
|
||||
|
||||
function resolvedMessages(validHits: Array<ValidatedHit>): Array<Message> {
|
||||
return validHits.map((entry) => entry.message).filter((message): message is Message => message !== null);
|
||||
}
|
||||
|
||||
export async function searchExistingMessages({
|
||||
searchService,
|
||||
messageRepository,
|
||||
@@ -42,7 +57,7 @@ export async function searchExistingMessages({
|
||||
hitsPerPage,
|
||||
page,
|
||||
cursor,
|
||||
}: SearchExistingMessagesParams): Promise<SearchResult<SearchableMessage>> {
|
||||
}: SearchExistingMessagesParams): Promise<MessageSearchLookupResult> {
|
||||
const result = await searchService.searchMessages(query, filters, {
|
||||
hitsPerPage,
|
||||
page: cursor?.length ? undefined : page,
|
||||
@@ -50,7 +65,7 @@ export async function searchExistingMessages({
|
||||
});
|
||||
const validated = await validateSearchHits(messageRepository, result.hits);
|
||||
if (validated.staleMessageIds.length === 0) {
|
||||
return result;
|
||||
return {...result, messages: resolvedMessages(validated.validHits)};
|
||||
}
|
||||
if (cursor?.length) {
|
||||
if (validated.lookupErrorCount === 0) {
|
||||
@@ -58,8 +73,9 @@ export async function searchExistingMessages({
|
||||
}
|
||||
return {
|
||||
...result,
|
||||
hits: validated.validHits,
|
||||
hits: validated.validHits.map((entry) => entry.hit),
|
||||
total: Math.max(validated.validHits.length, result.total - validated.staleMessageIds.length),
|
||||
messages: resolvedMessages(validated.validHits),
|
||||
};
|
||||
}
|
||||
return reconcileOffsetSearchResult({
|
||||
@@ -79,9 +95,9 @@ async function reconcileOffsetSearchResult({
|
||||
filters,
|
||||
hitsPerPage,
|
||||
page,
|
||||
}: Omit<SearchExistingMessagesParams, 'cursor'>): Promise<SearchResult<SearchableMessage>> {
|
||||
}: Omit<SearchExistingMessagesParams, 'cursor'>): Promise<MessageSearchLookupResult> {
|
||||
const requestedOffset = (page - 1) * hitsPerPage;
|
||||
const pageHits: Array<SearchableMessage> = [];
|
||||
const pageHits: Array<ValidatedHit> = [];
|
||||
const staleMessageIds: Array<MessageID> = [];
|
||||
let lookupErrorCount = 0;
|
||||
let examinedCount = 0;
|
||||
@@ -102,9 +118,9 @@ async function reconcileOffsetSearchResult({
|
||||
lookupErrorCount += validated.lookupErrorCount;
|
||||
examinedCount += result.hits.length;
|
||||
staleMessageIds.push(...validated.staleMessageIds);
|
||||
for (const hit of validated.validHits) {
|
||||
for (const entry of validated.validHits) {
|
||||
if (validTotal >= requestedOffset && pageHits.length < hitsPerPage) {
|
||||
pageHits.push(hit);
|
||||
pageHits.push(entry);
|
||||
}
|
||||
validTotal += 1;
|
||||
}
|
||||
@@ -121,8 +137,9 @@ async function reconcileOffsetSearchResult({
|
||||
await deleteStaleSearchDocuments(searchService, staleMessageIds, examinedCount);
|
||||
}
|
||||
return {
|
||||
hits: pageHits,
|
||||
hits: pageHits.map((entry) => entry.hit),
|
||||
total: Math.max(pageHits.length, corpusTotal - staleMessageIds.length),
|
||||
messages: resolvedMessages(pageHits),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -130,38 +147,36 @@ async function validateSearchHits(
|
||||
messageRepository: MessageLookupRepository,
|
||||
hits: Array<SearchableMessage>,
|
||||
): Promise<ValidatedHits> {
|
||||
const checked = await Promise.all(
|
||||
hits.map(async (hit) => {
|
||||
let channelId: ChannelID;
|
||||
let messageId: MessageID;
|
||||
try {
|
||||
channelId = createChannelID(BigInt(hit.channelId));
|
||||
messageId = createMessageID(BigInt(hit.id));
|
||||
} catch (_invalidId) {
|
||||
return {hit: null, staleMessageId: null, lookupError: false};
|
||||
}
|
||||
let message: Message | null;
|
||||
try {
|
||||
message = await messageRepository.messages.getMessage(channelId, messageId);
|
||||
} catch (error) {
|
||||
Logger.warn(
|
||||
{error, messageId: hit.id, channelId: hit.channelId},
|
||||
'Search read repair lookup failed; keeping document',
|
||||
);
|
||||
return {hit, staleMessageId: null, lookupError: true};
|
||||
}
|
||||
if (message && message.channelId.toString() === hit.channelId) {
|
||||
return {hit, staleMessageId: null, lookupError: false};
|
||||
}
|
||||
return {hit: null, staleMessageId: messageId, lookupError: false};
|
||||
}),
|
||||
);
|
||||
const validHits: Array<SearchableMessage> = [];
|
||||
const checked = await mapWithConcurrency(hits, HIT_LOOKUP_CONCURRENCY, async (hit) => {
|
||||
let channelId: ChannelID;
|
||||
let messageId: MessageID;
|
||||
try {
|
||||
channelId = createChannelID(BigInt(hit.channelId));
|
||||
messageId = createMessageID(BigInt(hit.id));
|
||||
} catch (_invalidId) {
|
||||
return {entry: null, staleMessageId: null, lookupError: false};
|
||||
}
|
||||
let message: Message | null;
|
||||
try {
|
||||
message = await messageRepository.messages.getMessage(channelId, messageId);
|
||||
} catch (error) {
|
||||
Logger.warn(
|
||||
{error, messageId: hit.id, channelId: hit.channelId},
|
||||
'Search read repair lookup failed; keeping document',
|
||||
);
|
||||
return {entry: {hit, message: null}, staleMessageId: null, lookupError: true};
|
||||
}
|
||||
if (message && message.channelId.toString() === hit.channelId) {
|
||||
return {entry: {hit, message}, staleMessageId: null, lookupError: false};
|
||||
}
|
||||
return {entry: null, staleMessageId: messageId, lookupError: false};
|
||||
});
|
||||
const validHits: Array<ValidatedHit> = [];
|
||||
const staleMessageIds: Array<MessageID> = [];
|
||||
let lookupErrorCount = 0;
|
||||
for (const item of checked) {
|
||||
if (item.hit) {
|
||||
validHits.push(item.hit);
|
||||
if (item.entry) {
|
||||
validHits.push(item.entry);
|
||||
}
|
||||
if (item.staleMessageId) {
|
||||
staleMessageIds.push(item.staleMessageId);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
import {UserPremiumTypes} from '@fluxer/constants/src/UserConstants';
|
||||
import {Config} from '../Config';
|
||||
import {Logger} from '../Logger';
|
||||
import type {Currency} from '../utils/CurrencyUtils';
|
||||
|
||||
export enum ProductType {
|
||||
@@ -22,10 +23,66 @@ export interface ProductInfo {
|
||||
billingCycle?: RecurringBillingCycle;
|
||||
}
|
||||
|
||||
const LEGACY_SLOT_SHAPES: Record<string, Omit<ProductInfo, 'currency'> | undefined> = {
|
||||
monthly: {
|
||||
type: ProductType.MONTHLY_SUBSCRIPTION,
|
||||
premiumType: UserPremiumTypes.SUBSCRIPTION,
|
||||
durationMonths: 1,
|
||||
isGift: false,
|
||||
billingCycle: 'monthly',
|
||||
},
|
||||
yearly: {
|
||||
type: ProductType.YEARLY_SUBSCRIPTION,
|
||||
premiumType: UserPremiumTypes.SUBSCRIPTION,
|
||||
durationMonths: 12,
|
||||
isGift: false,
|
||||
billingCycle: 'yearly',
|
||||
},
|
||||
gift_1_month: {
|
||||
type: ProductType.GIFT_1_MONTH,
|
||||
premiumType: UserPremiumTypes.SUBSCRIPTION,
|
||||
durationMonths: 1,
|
||||
isGift: true,
|
||||
},
|
||||
gift_1_year: {
|
||||
type: ProductType.GIFT_1_YEAR,
|
||||
premiumType: UserPremiumTypes.SUBSCRIPTION,
|
||||
durationMonths: 12,
|
||||
isGift: true,
|
||||
},
|
||||
};
|
||||
|
||||
const LEGACY_SLOT_CURRENCIES: Record<string, Currency | undefined> = {
|
||||
usd: 'USD',
|
||||
eur: 'EUR',
|
||||
brl: 'BRL',
|
||||
inr: 'INR',
|
||||
pln: 'PLN',
|
||||
try: 'TRY',
|
||||
};
|
||||
|
||||
function parseLegacySlot(slot: string): ProductInfo | null {
|
||||
const separatorIndex = slot.lastIndexOf('_');
|
||||
if (separatorIndex <= 0) {
|
||||
return null;
|
||||
}
|
||||
const shape = LEGACY_SLOT_SHAPES[slot.slice(0, separatorIndex)];
|
||||
const currency = LEGACY_SLOT_CURRENCIES[slot.slice(separatorIndex + 1).toLowerCase()];
|
||||
if (!shape || !currency) {
|
||||
return null;
|
||||
}
|
||||
return {...shape, currency};
|
||||
}
|
||||
|
||||
export class ProductRegistry {
|
||||
private products = new Map<string, ProductInfo>();
|
||||
|
||||
constructor() {
|
||||
this.registerConfiguredProducts();
|
||||
this.registerLegacyProducts();
|
||||
}
|
||||
|
||||
private registerConfiguredProducts(): void {
|
||||
const prices = Config.stripe.prices;
|
||||
if (!prices) return;
|
||||
this.registerProduct(prices.monthlyUsd, {
|
||||
@@ -210,6 +267,32 @@ export class ProductRegistry {
|
||||
});
|
||||
}
|
||||
|
||||
private registerLegacyProducts(): void {
|
||||
const legacyPrices = Config.stripe.legacyPrices;
|
||||
if (!legacyPrices) return;
|
||||
if (typeof legacyPrices !== 'object' || Array.isArray(legacyPrices)) {
|
||||
Logger.warn({}, 'Ignoring legacy Stripe price configuration that is not an object of slot names to price ids');
|
||||
return;
|
||||
}
|
||||
for (const [slot, priceIds] of Object.entries(legacyPrices)) {
|
||||
if (!Array.isArray(priceIds)) {
|
||||
Logger.warn({slot}, 'Ignoring legacy Stripe price slot that is not a list of price IDs');
|
||||
continue;
|
||||
}
|
||||
const info = parseLegacySlot(slot);
|
||||
if (!info) {
|
||||
Logger.warn({slot}, 'Ignoring legacy Stripe price slot with an unrecognised name or currency');
|
||||
continue;
|
||||
}
|
||||
for (const priceId of priceIds) {
|
||||
if (!priceId || this.products.has(priceId)) {
|
||||
continue;
|
||||
}
|
||||
this.products.set(priceId, info);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private registerProduct(priceId: string | undefined, info: ProductInfo): void {
|
||||
if (priceId) {
|
||||
this.products.set(priceId, info);
|
||||
|
||||
@@ -18,6 +18,7 @@ import {
|
||||
PriceIdsResponse,
|
||||
SelfServeRefundEligibilityResponse,
|
||||
SelfServeRefundResponse,
|
||||
SwitchToListPriceResponse,
|
||||
UrlResponse,
|
||||
WebhookReceivedResponse,
|
||||
} from '@fluxer/schema/src/domains/premium/PremiumSchemas';
|
||||
@@ -494,6 +495,27 @@ export function StripeController(app: HonoApp) {
|
||||
return ctx.body(null, 204);
|
||||
},
|
||||
);
|
||||
app.post(
|
||||
'/premium/switch-to-list-price',
|
||||
RateLimitMiddleware(RateLimitConfigs.STRIPE_SUBSCRIPTION_CHANGE),
|
||||
LoginRequired,
|
||||
DefaultUserOnly,
|
||||
OpenAPI({
|
||||
operationId: 'switch_subscription_to_list_price',
|
||||
summary: 'Switch subscription to the current list price',
|
||||
description:
|
||||
"Moves the authenticated user's grandfathered premium subscription down to the current list price for the same currency and billing cycle, effective at the end of the current billing period. The target price is resolved on the server and the switch is refused unless it lowers the amount charged.",
|
||||
responseSchema: SwitchToListPriceResponse,
|
||||
statusCode: 200,
|
||||
security: ['bearerToken', 'sessionToken'],
|
||||
tags: 'Premium',
|
||||
}),
|
||||
async (ctx) => {
|
||||
const userId = ctx.get('user').id;
|
||||
const result = await ctx.get('stripeService').switchSubscriptionToCurrentListPrice(userId);
|
||||
return ctx.json(result);
|
||||
},
|
||||
);
|
||||
app.post(
|
||||
'/premium/cancel-pending-subscription-change',
|
||||
RateLimitMiddleware(RateLimitConfigs.STRIPE_SUBSCRIPTION_CHANGE),
|
||||
|
||||
@@ -7,6 +7,7 @@ import type {
|
||||
PricingMode,
|
||||
SelfServeRefundEligibilityResponse,
|
||||
SelfServeRefundResponse,
|
||||
SwitchToListPriceResponse,
|
||||
} from '@fluxer/schema/src/domains/premium/PremiumSchemas';
|
||||
import type {ICacheService} from '@pkgs/cache/src/ICacheService';
|
||||
import Stripe from 'stripe';
|
||||
@@ -201,6 +202,10 @@ export class StripeService {
|
||||
return this.subscriptionService.changeBillingCycle(userId, billingCycle, effectiveAt);
|
||||
}
|
||||
|
||||
async switchSubscriptionToCurrentListPrice(userId: UserID): Promise<SwitchToListPriceResponse> {
|
||||
return this.subscriptionService.switchToCurrentListPrice(userId);
|
||||
}
|
||||
|
||||
async cancelPendingSubscriptionChange(userId: UserID): Promise<void> {
|
||||
return this.subscriptionService.cancelPendingSubscriptionChange(userId);
|
||||
}
|
||||
|
||||
@@ -4,6 +4,8 @@ import {PremiumFlags, UserPremiumTypes} from '@fluxer/constants/src/UserConstant
|
||||
import {UnknownUserError} from '@fluxer/errors/src/domains/user/UnknownUserError';
|
||||
import type {
|
||||
CurrentSubscriptionPriceResponse,
|
||||
ListPriceSwitchState,
|
||||
PendingSubscriptionChangeKind,
|
||||
PendingSubscriptionChangeResponse,
|
||||
PremiumBillingInvoiceResponse,
|
||||
PremiumBillingPaymentMethodResponse,
|
||||
@@ -264,6 +266,9 @@ export class PremiumStateService {
|
||||
this.resolvePricing(countryCode),
|
||||
]);
|
||||
const refundEligibilityState = await this.resolveRefundEligibility(user, invoices.allRows);
|
||||
const listPriceSwitch = this.resolveListPriceSwitch(subscription, subscriptionPrice, pendingSubscriptionChange);
|
||||
const pendingBillingCycleChange =
|
||||
pendingSubscriptionChange?.change_kind === 'billing_cycle' ? pendingSubscriptionChange : null;
|
||||
const activePaidPremium = checkHasActivePaidPremium(user);
|
||||
const isEffectivePremium = user.isPremium();
|
||||
const actualPremiumEndAt = user.effectivePremiumUntil;
|
||||
@@ -298,7 +303,8 @@ export class PremiumStateService {
|
||||
billing: {
|
||||
stripe_customer_id: customerIds[0] ?? user.stripeCustomerId ?? null,
|
||||
current_subscription_price: subscriptionPrice,
|
||||
pending_subscription_change: pendingSubscriptionChange,
|
||||
pending_subscription_change: pendingBillingCycleChange,
|
||||
list_price_switch: listPriceSwitch,
|
||||
subscription: subscription ? await this.mapSubscription(subscription) : null,
|
||||
invoices: invoices.rows.map(mapInvoice),
|
||||
invoices_has_more: invoices.hasMore,
|
||||
@@ -576,8 +582,16 @@ export class PremiumStateService {
|
||||
const targetItem = futurePhase.items[0] ?? null;
|
||||
const targetPriceDetails = await this.resolveStripePriceDetails(targetItem?.price ?? null);
|
||||
const metadataTargetBillingCycle = normalizeBillingCycle(schedule.metadata?.pending_billing_cycle);
|
||||
const targetBillingCycle = targetPriceDetails.billingCycle ?? metadataTargetBillingCycle;
|
||||
if (!targetBillingCycle || targetBillingCycle === currentBillingCycle) {
|
||||
const targetBillingCycle = targetPriceDetails.billingCycle ?? metadataTargetBillingCycle ?? currentBillingCycle;
|
||||
if (!targetBillingCycle) {
|
||||
return null;
|
||||
}
|
||||
const changeKind: PendingSubscriptionChangeKind =
|
||||
targetBillingCycle === currentBillingCycle ? 'price' : 'billing_cycle';
|
||||
if (
|
||||
changeKind === 'price' &&
|
||||
(targetPriceDetails.priceId == null || targetPriceDetails.priceId === currentPriceDetails.priceId)
|
||||
) {
|
||||
return null;
|
||||
}
|
||||
const quantity = targetItem?.quantity ?? currentItem?.quantity ?? 1;
|
||||
@@ -598,11 +612,13 @@ export class PremiumStateService {
|
||||
const creditAmountMinor = firstInvoiceAdjustmentTotal < 0 ? -firstInvoiceAdjustmentTotal : null;
|
||||
return {
|
||||
schedule_id: schedule.id,
|
||||
change_kind: changeKind,
|
||||
current_billing_cycle: currentBillingCycle,
|
||||
target_billing_cycle: targetBillingCycle,
|
||||
effective_at: new Date(futurePhase.start_date * 1000).toISOString(),
|
||||
current_price_id: currentPriceDetails.priceId,
|
||||
target_price_id: targetPriceDetails.priceId,
|
||||
target_amount_minor: targetPriceDetails.amountMinor,
|
||||
currency: targetPriceDetails.currency,
|
||||
initial_amount_minor: initialAmountMinor,
|
||||
recurring_amount_minor: recurringAmountMinor,
|
||||
@@ -610,6 +626,62 @@ export class PremiumStateService {
|
||||
};
|
||||
}
|
||||
|
||||
private resolveListPriceSwitch(
|
||||
subscription: BillingSubscriptionRow | null,
|
||||
subscriptionPrice: CurrentSubscriptionPriceResponse,
|
||||
pendingChange: PendingSubscriptionChangeResponse,
|
||||
): ListPriceSwitchState {
|
||||
const base = {
|
||||
pending: false,
|
||||
current_price_id: subscriptionPrice?.price_id ?? null,
|
||||
current_amount_minor: subscriptionPrice?.amount_minor ?? null,
|
||||
list_price_id: subscriptionPrice?.list_price_id ?? null,
|
||||
list_amount_minor: subscriptionPrice?.list_amount_minor ?? null,
|
||||
currency: subscriptionPrice?.currency ?? null,
|
||||
billing_cycle: subscriptionPrice?.billing_cycle ?? null,
|
||||
effective_at: toIso(subscription?.current_period_end),
|
||||
};
|
||||
if (Config.instance.selfHosted || !Config.stripe.enabled || !Config.stripe.secretKey) {
|
||||
return {...base, available: false, reason: 'feature_unavailable'};
|
||||
}
|
||||
if (!subscription) {
|
||||
return {...base, available: false, reason: 'no_active_subscription'};
|
||||
}
|
||||
if (!subscriptionPrice) {
|
||||
return {...base, available: false, reason: 'unsupported_subscription'};
|
||||
}
|
||||
if (!subscription.status || !ACTIVE_SUBSCRIPTION_STATUSES.has(subscription.status)) {
|
||||
return {...base, available: false, reason: 'subscription_not_chargeable'};
|
||||
}
|
||||
if (subscription.cancel_at != null || subscription.cancel_at_period_end === true) {
|
||||
return {...base, available: false, reason: 'subscription_cancelling'};
|
||||
}
|
||||
if (pendingChange) {
|
||||
const targetsListPrice =
|
||||
subscriptionPrice.list_price_id != null && pendingChange.target_price_id === subscriptionPrice.list_price_id;
|
||||
return {
|
||||
...base,
|
||||
available: false,
|
||||
reason: targetsListPrice ? null : 'conflicting_pending_change',
|
||||
pending: targetsListPrice,
|
||||
effective_at: pendingChange.effective_at,
|
||||
};
|
||||
}
|
||||
if (subscriptionPrice.list_price_id == null || subscriptionPrice.list_amount_minor == null) {
|
||||
return {...base, available: false, reason: 'no_list_price'};
|
||||
}
|
||||
if (subscriptionPrice.list_price_id === subscriptionPrice.price_id) {
|
||||
return {...base, available: false, reason: 'already_on_list_price'};
|
||||
}
|
||||
if (subscriptionPrice.list_amount_minor >= subscriptionPrice.amount_minor) {
|
||||
return {...base, available: false, reason: 'not_a_price_decrease'};
|
||||
}
|
||||
if (base.effective_at == null) {
|
||||
return {...base, available: false, reason: 'missing_period_end'};
|
||||
}
|
||||
return {...base, available: true, reason: null};
|
||||
}
|
||||
|
||||
private async resolveStripePriceDetails(
|
||||
priceRef: Stripe.Price | Stripe.DeletedPrice | string | null | undefined,
|
||||
): Promise<StripePriceDetails> {
|
||||
|
||||
@@ -5,11 +5,13 @@ import {PremiumFlags, UserFlags} from '@fluxer/constants/src/UserConstants';
|
||||
import {StripeError} from '@fluxer/errors/src/domains/payment/StripeError';
|
||||
import type {IEmailService} from '@pkgs/email/src/IEmailService';
|
||||
import type Stripe from 'stripe';
|
||||
import type {UserRow} from '../../database/types/UserTypes';
|
||||
import type {IDonationRepository} from '../../donation/IDonationRepository';
|
||||
import type {IGatewayService} from '../../infrastructure/IGatewayService';
|
||||
import type {KVAccountDeletionQueueService} from '../../infrastructure/KVAccountDeletionQueueService';
|
||||
import type {UserCacheService} from '../../infrastructure/UserCacheService';
|
||||
import {Logger} from '../../Logger';
|
||||
import {getBillingRepository} from '../../middleware/ServiceRegistry';
|
||||
import type {GiftCode} from '../../models/GiftCode';
|
||||
import type {User} from '../../models/User';
|
||||
import type {IUserRepository} from '../../user/IUserRepository';
|
||||
@@ -19,6 +21,8 @@ import {extractId} from '../StripeUtils';
|
||||
import type {StripeGiftReversalHandler} from './StripeGiftReversalHandler';
|
||||
import type {StripePaymentFraudService} from './StripePaymentFraudService';
|
||||
|
||||
export const REFUND_ALLOWANCE_CLAIM_PREFIX = 'refund-allowance';
|
||||
|
||||
export class StripeDisputeWebhookHandler {
|
||||
constructor(
|
||||
private userRepository: IUserRepository,
|
||||
@@ -105,7 +109,7 @@ export class StripeDisputeWebhookHandler {
|
||||
}
|
||||
Logger.debug(
|
||||
{userId: payment.userId},
|
||||
'User unsuspended after chargeback withdrawal - 30 day purchase block applied',
|
||||
'User unsuspended after chargeback withdrawal - 30 day self-serve refund cooldown applied',
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -167,25 +171,94 @@ export class StripeDisputeWebhookHandler {
|
||||
);
|
||||
user = foundUser;
|
||||
}
|
||||
if (!user.firstRefundAt) {
|
||||
const updatedUser = await this.userRepository.patchUpsert(user.id, {first_refund_at: new Date()}, user.toRow());
|
||||
await this.dispatchUser(updatedUser);
|
||||
const claimKeys = await this.resolveRefundAllowanceClaimKeys(charge);
|
||||
if (claimKeys.length === 0) {
|
||||
Logger.debug(
|
||||
{userId: user.id, chargeId: charge.id, paymentIntentId},
|
||||
'First refund recorded - 30 day purchase block applied',
|
||||
);
|
||||
} else {
|
||||
const updatedUser = await this.userRepository.patchUpsert(
|
||||
user.id,
|
||||
{premium_flags: user.premiumFlags | PremiumFlags.PURCHASE_DISABLED},
|
||||
user.toRow(),
|
||||
);
|
||||
await this.dispatchUser(updatedUser);
|
||||
Logger.debug(
|
||||
{userId: user.id, chargeId: charge.id, paymentIntentId},
|
||||
'Second refund recorded - permanent purchase block applied',
|
||||
'Refund was issued by Fluxer - not counted against the user refund allowance',
|
||||
);
|
||||
return;
|
||||
}
|
||||
const claimedKeys: Array<string> = [];
|
||||
let alreadyCounted = false;
|
||||
for (const claimKey of claimKeys) {
|
||||
const claim = await getBillingRepository().webhookEvents.tryClaim(claimKey);
|
||||
if (claim === 'claimed') {
|
||||
claimedKeys.push(claimKey);
|
||||
} else {
|
||||
alreadyCounted = true;
|
||||
}
|
||||
}
|
||||
if (alreadyCounted) {
|
||||
for (const claimKey of claimedKeys) {
|
||||
await getBillingRepository().webhookEvents.markProcessed(claimKey);
|
||||
}
|
||||
Logger.debug(
|
||||
{userId: user.id, chargeId: charge.id, paymentIntentId, claimKeys},
|
||||
'Refund already counted against the user refund allowance',
|
||||
);
|
||||
return;
|
||||
}
|
||||
const isFirstRefund = !user.firstRefundAt;
|
||||
const patch: Partial<UserRow> = isFirstRefund
|
||||
? {first_refund_at: new Date()}
|
||||
: {premium_flags: user.premiumFlags | PremiumFlags.PURCHASE_DISABLED};
|
||||
let updatedUser: User;
|
||||
try {
|
||||
updatedUser = await this.userRepository.patchUpsert(user.id, patch, user.toRow());
|
||||
} catch (error) {
|
||||
for (const claimKey of claimedKeys) {
|
||||
await getBillingRepository().webhookEvents.releaseClaim(claimKey);
|
||||
}
|
||||
throw error;
|
||||
}
|
||||
for (const claimKey of claimedKeys) {
|
||||
await getBillingRepository().webhookEvents.markProcessed(claimKey);
|
||||
}
|
||||
await this.dispatchUser(updatedUser);
|
||||
Logger.debug(
|
||||
{userId: user.id, chargeId: charge.id, paymentIntentId},
|
||||
isFirstRefund
|
||||
? 'First refund recorded - 30 day self-serve refund cooldown applied'
|
||||
: 'Second refund recorded - permanent purchase block applied',
|
||||
);
|
||||
}
|
||||
|
||||
private async resolveRefundAllowanceClaimKeys(charge: Stripe.Charge): Promise<Array<string>> {
|
||||
const chargeClaimKey = `${REFUND_ALLOWANCE_CLAIM_PREFIX}:${charge.id}`;
|
||||
const inlined = charge.refunds?.data ?? [];
|
||||
const refunds = (
|
||||
inlined.length > 0
|
||||
? inlined.map((refund) => ({
|
||||
id: refund.id,
|
||||
createdAtMs: refund.created * 1000,
|
||||
status: refund.status,
|
||||
rejectionReason: refund.metadata?.rejection_reason ?? null,
|
||||
}))
|
||||
: (await getBillingRepository().refunds.listByCharge(charge.id)).map((row) => ({
|
||||
id: row.provider_id,
|
||||
createdAtMs: row.stripe_created_at?.getTime() ?? 0,
|
||||
status: row.status,
|
||||
rejectionReason: row.metadata?.get('rejection_reason') ?? null,
|
||||
}))
|
||||
).filter((refund) => refund.status !== 'failed' && refund.status !== 'canceled');
|
||||
if (refunds.length === 0) {
|
||||
Logger.warn(
|
||||
{chargeId: charge.id},
|
||||
'No refund records found for refunded charge; counting the charge once against the user refund allowance',
|
||||
);
|
||||
return [chargeClaimKey];
|
||||
}
|
||||
const customerRefunds = refunds
|
||||
.filter((refund) => refund.rejectionReason === null)
|
||||
.sort((left, right) => left.createdAtMs - right.createdAtMs || left.id.localeCompare(right.id));
|
||||
const earliest = customerRefunds[0];
|
||||
const latest = customerRefunds[customerRefunds.length - 1];
|
||||
if (!earliest || !latest) {
|
||||
return [];
|
||||
}
|
||||
const latestClaimKey = `${REFUND_ALLOWANCE_CLAIM_PREFIX}:${latest.id}`;
|
||||
return latest.id === earliest.id ? [chargeClaimKey, latestClaimKey] : [latestClaimKey];
|
||||
}
|
||||
|
||||
private async handleGiftChargeback(giftCode: GiftCode, dispute: Stripe.Dispute): Promise<void> {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import {PremiumFlags} from '@fluxer/constants/src/UserConstants';
|
||||
import {FeatureNotAvailableSelfHostedError} from '@fluxer/errors/src/domains/core/FeatureNotAvailableSelfHostedError';
|
||||
import {StripeError} from '@fluxer/errors/src/domains/payment/StripeError';
|
||||
import {StripeNoPurchaseHistoryError} from '@fluxer/errors/src/domains/payment/StripeNoPurchaseHistoryError';
|
||||
@@ -15,11 +16,13 @@ import type {
|
||||
import type Stripe from 'stripe';
|
||||
import {createUserID, type UserID} from '../../BrandedTypes';
|
||||
import {Config} from '../../Config';
|
||||
import type {UserRow} from '../../database/types/UserTypes';
|
||||
import {Logger} from '../../Logger';
|
||||
import {getBillingRepository} from '../../middleware/ServiceRegistry';
|
||||
import type {User} from '../../models/User';
|
||||
import type {IUserRepository} from '../../user/IUserRepository';
|
||||
import {extractId} from '../StripeUtils';
|
||||
import {REFUND_ALLOWANCE_CLAIM_PREFIX} from './StripeDisputeWebhookHandler';
|
||||
import type {StripeSubscriptionService} from './StripeSubscriptionService';
|
||||
|
||||
const MILLISECONDS_PER_DAY = 24 * 60 * 60 * 1000;
|
||||
@@ -260,16 +263,35 @@ export class StripeRefundService {
|
||||
try {
|
||||
await this.subscriptionService.cancelSubscriptionImmediately(user.id, 'self_serve_refund');
|
||||
} catch (error) {
|
||||
Logger.warn(
|
||||
Logger.error(
|
||||
{error, userId: user.id.toString(), subscriptionId},
|
||||
'Self-serve refund confirmed but subscription cancellation failed; will reconcile via webhook',
|
||||
'Self-serve refund confirmed but subscription cancellation failed; the subscription is still active and will keep billing until it is cancelled manually',
|
||||
);
|
||||
}
|
||||
}
|
||||
await this.userRepository.patchUpsert(user.id, {first_refund_at: new Date()}, user.toRow());
|
||||
const claimKey = `${REFUND_ALLOWANCE_CLAIM_PREFIX}:${refund.id}`;
|
||||
const claim = await getBillingRepository().webhookEvents.tryClaim(claimKey);
|
||||
if (claim !== 'claimed') {
|
||||
Logger.debug(
|
||||
{userId: user.id.toString(), refundId: refund.id, claim},
|
||||
'Self-serve refund already counted against the user refund allowance',
|
||||
);
|
||||
return;
|
||||
}
|
||||
const isFirstRefund = !user.firstRefundAt;
|
||||
const patch: Partial<UserRow> = isFirstRefund
|
||||
? {first_refund_at: new Date()}
|
||||
: {premium_flags: user.premiumFlags | PremiumFlags.PURCHASE_DISABLED};
|
||||
try {
|
||||
await this.userRepository.patchUpsert(user.id, patch, user.toRow());
|
||||
} catch (error) {
|
||||
await getBillingRepository().webhookEvents.releaseClaim(claimKey);
|
||||
throw error;
|
||||
}
|
||||
await getBillingRepository().webhookEvents.markProcessed(claimKey);
|
||||
Logger.info(
|
||||
{userId: user.id.toString(), refundId: refund.id, subscriptionId: subscriptionId || null},
|
||||
'Self-serve refund confirmed succeeded; cooldown and cancellation finalized',
|
||||
{userId: user.id.toString(), refundId: refund.id, subscriptionId: subscriptionId || null, isFirstRefund},
|
||||
'Self-serve refund confirmed succeeded; refund allowance and cancellation finalized',
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,10 @@ import {StripePaymentNotAvailableError} from '@fluxer/errors/src/domains/payment
|
||||
import {StripeSubscriptionAlreadyCancelingError} from '@fluxer/errors/src/domains/payment/StripeSubscriptionAlreadyCancelingError';
|
||||
import {StripeSubscriptionNotCancelingError} from '@fluxer/errors/src/domains/payment/StripeSubscriptionNotCancelingError';
|
||||
import {UnknownUserError} from '@fluxer/errors/src/domains/user/UnknownUserError';
|
||||
import type {CurrentSubscriptionPriceResponse} from '@fluxer/schema/src/domains/premium/PremiumSchemas';
|
||||
import type {
|
||||
CurrentSubscriptionPriceResponse,
|
||||
SwitchToListPriceResponse,
|
||||
} from '@fluxer/schema/src/domains/premium/PremiumSchemas';
|
||||
import type {ICacheService} from '@pkgs/cache/src/ICacheService';
|
||||
import {seconds} from 'itty-time';
|
||||
import type Stripe from 'stripe';
|
||||
@@ -25,7 +28,7 @@ import type {User} from '../../models/User';
|
||||
import type {IUserRepository} from '../../user/IUserRepository';
|
||||
import {mapUserToPrivateResponse} from '../../user/UserMappers';
|
||||
import type {Currency} from '../../utils/CurrencyUtils';
|
||||
import type {RecurringBillingCycle} from '../ProductRegistry';
|
||||
import type {ProductInfo, RecurringBillingCycle} from '../ProductRegistry';
|
||||
import {
|
||||
getPrimarySubscriptionItem,
|
||||
getSubscriptionEntitlementPeriodEndUnix,
|
||||
@@ -36,12 +39,80 @@ import {extractId} from '../StripeUtils';
|
||||
|
||||
type BillingCycleChangeEffectiveAt = 'now' | 'period_end';
|
||||
|
||||
const CHARGEABLE_SUBSCRIPTION_STATUSES = new Set<Stripe.Subscription.Status>(['active', 'trialing']);
|
||||
|
||||
function mapStripeIds(values: Array<string | {id: string}> | null | undefined): Array<string> | null {
|
||||
const ids = (values ?? []).map((value) => extractId(value)).filter((id): id is string => id !== null);
|
||||
return ids.length > 0 ? ids : null;
|
||||
}
|
||||
|
||||
function mapSchedulePhaseDiscounts(
|
||||
discounts:
|
||||
| Array<{
|
||||
coupon: string | {id: string} | null;
|
||||
discount: unknown;
|
||||
promotion_code: string | {id: string} | null;
|
||||
}>
|
||||
| null
|
||||
| undefined,
|
||||
): Array<Stripe.SubscriptionScheduleUpdateParams.Phase.Discount> | null {
|
||||
const mapped = (discounts ?? [])
|
||||
.map((discount): Stripe.SubscriptionScheduleUpdateParams.Phase.Discount | null => {
|
||||
const coupon = extractId(discount.coupon);
|
||||
if (coupon) {
|
||||
return {coupon};
|
||||
}
|
||||
const promotionCode = extractId(discount.promotion_code);
|
||||
if (promotionCode) {
|
||||
return {promotion_code: promotionCode};
|
||||
}
|
||||
return typeof discount.discount === 'string' ? {discount: discount.discount} : null;
|
||||
})
|
||||
.filter((discount): discount is Stripe.SubscriptionScheduleUpdateParams.Phase.Discount => discount !== null);
|
||||
return mapped.length > 0 ? mapped : null;
|
||||
}
|
||||
|
||||
function mapSchedulePhaseAddInvoiceItems(
|
||||
addInvoiceItems: Array<Stripe.SubscriptionSchedule.Phase.AddInvoiceItem> | null | undefined,
|
||||
): Array<Stripe.SubscriptionScheduleUpdateParams.Phase.AddInvoiceItem> | null {
|
||||
const mapped = (addInvoiceItems ?? [])
|
||||
.map((addInvoiceItem) => {
|
||||
const price = extractId(addInvoiceItem.price);
|
||||
if (!price) {
|
||||
return null;
|
||||
}
|
||||
const mappedItem: Stripe.SubscriptionScheduleUpdateParams.Phase.AddInvoiceItem = {
|
||||
price,
|
||||
quantity: addInvoiceItem.quantity ?? 1,
|
||||
period: addInvoiceItem.period,
|
||||
};
|
||||
const taxRates = mapStripeIds(addInvoiceItem.tax_rates);
|
||||
if (taxRates) {
|
||||
mappedItem.tax_rates = taxRates;
|
||||
}
|
||||
const discounts = mapSchedulePhaseDiscounts(addInvoiceItem.discounts);
|
||||
if (discounts) {
|
||||
mappedItem.discounts = discounts;
|
||||
}
|
||||
if (addInvoiceItem.metadata) {
|
||||
mappedItem.metadata = addInvoiceItem.metadata;
|
||||
}
|
||||
return mappedItem;
|
||||
})
|
||||
.filter(
|
||||
(addInvoiceItem): addInvoiceItem is Stripe.SubscriptionScheduleUpdateParams.Phase.AddInvoiceItem =>
|
||||
addInvoiceItem !== null,
|
||||
);
|
||||
return mapped.length > 0 ? mapped : null;
|
||||
}
|
||||
|
||||
export class StripeSubscriptionService {
|
||||
constructor(
|
||||
private stripe: Stripe | null,
|
||||
private userRepository: IUserRepository,
|
||||
private productRegistry: {
|
||||
getRecurringSubscriptionPriceId: (billingCycle: RecurringBillingCycle, currency: string) => string | null;
|
||||
getProduct: (priceId: string) => ProductInfo | null;
|
||||
},
|
||||
private cacheService: ICacheService,
|
||||
private gatewayService: IGatewayService,
|
||||
@@ -251,7 +322,7 @@ export class StripeSubscriptionService {
|
||||
return;
|
||||
}
|
||||
await this.stripe.subscriptionSchedules.release(schedule.id, {
|
||||
preserve_cancel_date: false,
|
||||
preserve_cancel_date: Boolean(subscription.cancel_at || subscription.cancel_at_period_end),
|
||||
});
|
||||
const releasedSubscription = await this.stripe.subscriptions.retrieve(subscription.id, {
|
||||
expand: ['items.data.price'],
|
||||
@@ -268,7 +339,7 @@ export class StripeSubscriptionService {
|
||||
);
|
||||
}
|
||||
const patch: Record<string, unknown> = {
|
||||
premium_will_cancel: false,
|
||||
premium_will_cancel: Boolean(releasedSubscription.cancel_at || releasedSubscription.cancel_at_period_end),
|
||||
};
|
||||
const computedPremiumUntil = getSubscriptionPremiumPeriodEnd(releasedSubscription);
|
||||
if (computedPremiumUntil) {
|
||||
@@ -433,6 +504,142 @@ export class StripeSubscriptionService {
|
||||
}
|
||||
}
|
||||
|
||||
async switchToCurrentListPrice(userId: UserID): Promise<SwitchToListPriceResponse> {
|
||||
if (!this.stripe) {
|
||||
throw new StripePaymentNotAvailableError();
|
||||
}
|
||||
const user = await this.userRepository.findUnique(userId);
|
||||
if (!user) {
|
||||
throw new UnknownUserError();
|
||||
}
|
||||
if (!user.stripeSubscriptionId) {
|
||||
throw new StripeNoActiveSubscriptionError();
|
||||
}
|
||||
const lockKey = `list_price_switch_lock:${user.id}`;
|
||||
const lockToken = await this.cacheService.acquireLock(
|
||||
lockKey,
|
||||
StripeSubscriptionService.LIST_PRICE_SWITCH_LOCK_TTL_SECONDS,
|
||||
);
|
||||
if (!lockToken) {
|
||||
Logger.debug(
|
||||
{userId, subscriptionId: user.stripeSubscriptionId, lockKey},
|
||||
'List price switch skipped because another switch is already in flight',
|
||||
);
|
||||
return {status: 'ineligible', reason: 'switch_in_progress'};
|
||||
}
|
||||
try {
|
||||
const subscription = await this.stripe.subscriptions.retrieve(user.stripeSubscriptionId, {
|
||||
expand: ['items.data.price', 'schedule'],
|
||||
});
|
||||
const item = getPrimarySubscriptionItem(subscription);
|
||||
if (!item?.id || !item.price?.recurring || !item.price.currency || item.price.unit_amount == null) {
|
||||
return {status: 'ineligible', reason: 'unsupported_subscription'};
|
||||
}
|
||||
if (!CHARGEABLE_SUBSCRIPTION_STATUSES.has(subscription.status)) {
|
||||
return {status: 'ineligible', reason: 'subscription_not_chargeable'};
|
||||
}
|
||||
if (subscription.cancel_at != null || subscription.cancel_at_period_end) {
|
||||
return {status: 'ineligible', reason: 'subscription_cancelling'};
|
||||
}
|
||||
const billingCycle = this.getBillingCycleFromInterval(item.price.recurring.interval);
|
||||
if (!billingCycle) {
|
||||
return {status: 'ineligible', reason: 'unsupported_subscription'};
|
||||
}
|
||||
const currency = item.price.currency.toUpperCase() as Currency;
|
||||
const targetPriceId = this.productRegistry.getRecurringSubscriptionPriceId(billingCycle, currency);
|
||||
if (!targetPriceId) {
|
||||
return {status: 'ineligible', reason: 'no_list_price'};
|
||||
}
|
||||
if (targetPriceId === item.price.id) {
|
||||
return {status: 'ineligible', reason: 'already_on_list_price'};
|
||||
}
|
||||
const targetProduct = this.productRegistry.getProduct(targetPriceId);
|
||||
if (!targetProduct || targetProduct.currency !== currency) {
|
||||
return {status: 'ineligible', reason: 'no_list_price'};
|
||||
}
|
||||
const targetAmountMinor = await this.getListPriceAmountMinor(targetPriceId);
|
||||
const currentAmountMinor = item.price.unit_amount;
|
||||
if (targetAmountMinor == null) {
|
||||
return {status: 'ineligible', reason: 'no_list_price'};
|
||||
}
|
||||
if (targetAmountMinor >= currentAmountMinor) {
|
||||
return {status: 'ineligible', reason: 'not_a_price_decrease'};
|
||||
}
|
||||
const periodEnd = getSubscriptionEntitlementPeriodEndUnix(subscription, item);
|
||||
if (!periodEnd || periodEnd <= Math.floor(Date.now() / 1000)) {
|
||||
return {status: 'ineligible', reason: 'missing_period_end'};
|
||||
}
|
||||
const switched = {
|
||||
effective_at: new Date(periodEnd * 1000).toISOString(),
|
||||
target_price_id: targetPriceId,
|
||||
target_amount_minor: targetAmountMinor,
|
||||
current_amount_minor: currentAmountMinor,
|
||||
currency,
|
||||
};
|
||||
const schedule = await this.loadSubscriptionSchedule(subscription.schedule);
|
||||
const pendingSchedule =
|
||||
schedule && (schedule.status === 'active' || schedule.status === 'not_started') ? schedule : null;
|
||||
if (pendingSchedule) {
|
||||
if (this.subscriptionScheduleHasFutureTargetPrice(pendingSchedule, targetPriceId)) {
|
||||
Logger.debug(
|
||||
{userId, subscriptionId: subscription.id, scheduleId: pendingSchedule.id, targetPriceId},
|
||||
'List price switch already scheduled for period end',
|
||||
);
|
||||
return {status: 'already_scheduled', ...switched};
|
||||
}
|
||||
if (pendingSchedule.end_behavior === 'cancel') {
|
||||
return {status: 'ineligible', reason: 'cancellation_managed_by_schedule'};
|
||||
}
|
||||
if (this.subscriptionScheduleHasPendingBillingCycleChange(pendingSchedule, subscription)) {
|
||||
return {status: 'ineligible', reason: 'conflicting_pending_change'};
|
||||
}
|
||||
}
|
||||
await this.scheduleBillingCycleChangeAtPeriodEnd({
|
||||
user,
|
||||
subscription,
|
||||
item,
|
||||
currentBillingCycle: billingCycle,
|
||||
targetBillingCycle: billingCycle,
|
||||
targetPriceId,
|
||||
clearCancellation: false,
|
||||
});
|
||||
Logger.debug(
|
||||
{
|
||||
userId,
|
||||
subscriptionId: subscription.id,
|
||||
billingCycle,
|
||||
currency,
|
||||
currentPriceId: item.price.id,
|
||||
targetPriceId,
|
||||
currentAmountMinor,
|
||||
targetAmountMinor,
|
||||
periodEnd,
|
||||
},
|
||||
'Subscription switch to current list price scheduled for period end',
|
||||
);
|
||||
return {status: 'scheduled', ...switched};
|
||||
} catch (error: unknown) {
|
||||
Logger.error(
|
||||
{error, userId, subscriptionId: user.stripeSubscriptionId},
|
||||
'Failed to switch subscription to the current list price',
|
||||
);
|
||||
if (error instanceof StripeError || error instanceof StripeInvalidProductConfigurationError) {
|
||||
throw error;
|
||||
}
|
||||
const message = error instanceof Error ? error.message : 'Failed to switch subscription to the list price';
|
||||
throw new StripeError(message);
|
||||
} finally {
|
||||
try {
|
||||
const released = await this.cacheService.releaseLock(lockKey, lockToken);
|
||||
if (!released) {
|
||||
Logger.warn({userId, lockKey}, 'List price switch lock token no longer matched on release');
|
||||
}
|
||||
} catch (error) {
|
||||
Logger.error({error, userId, lockKey}, 'Failed to release list price switch lock');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private async scheduleBillingCycleChangeAtPeriodEnd({
|
||||
user,
|
||||
subscription,
|
||||
@@ -440,6 +647,7 @@ export class StripeSubscriptionService {
|
||||
currentBillingCycle,
|
||||
targetBillingCycle,
|
||||
targetPriceId,
|
||||
clearCancellation = true,
|
||||
}: {
|
||||
user: User;
|
||||
subscription: Stripe.Subscription;
|
||||
@@ -447,6 +655,7 @@ export class StripeSubscriptionService {
|
||||
currentBillingCycle: RecurringBillingCycle;
|
||||
targetBillingCycle: RecurringBillingCycle;
|
||||
targetPriceId: string;
|
||||
clearCancellation?: boolean;
|
||||
}): Promise<void> {
|
||||
if (!this.stripe) {
|
||||
throw new StripePaymentNotAvailableError();
|
||||
@@ -456,7 +665,7 @@ export class StripeSubscriptionService {
|
||||
throw new StripeError('Subscription is missing a future period end for scheduled billing cycle change');
|
||||
}
|
||||
let currentSubscription = subscription;
|
||||
if (subscription.cancel_at || subscription.cancel_at_period_end) {
|
||||
if (clearCancellation && (subscription.cancel_at || subscription.cancel_at_period_end)) {
|
||||
currentSubscription = await this.stripe.subscriptions.update(
|
||||
subscription.id,
|
||||
this.getClearCancellationUpdateParams(subscription) ?? {proration_behavior: 'none'},
|
||||
@@ -491,7 +700,6 @@ export class StripeSubscriptionService {
|
||||
firstInvoiceCredit?.price_data?.unit_amount != null ? -firstInvoiceCredit.price_data.unit_amount : null;
|
||||
const targetPhase: Stripe.SubscriptionScheduleUpdateParams.Phase = {
|
||||
start_date: periodEnd,
|
||||
billing_cycle_anchor: 'phase_start',
|
||||
items: [
|
||||
{
|
||||
price: targetPriceId,
|
||||
@@ -500,6 +708,9 @@ export class StripeSubscriptionService {
|
||||
],
|
||||
proration_behavior: 'none',
|
||||
};
|
||||
if (currentBillingCycle !== targetBillingCycle) {
|
||||
targetPhase.billing_cycle_anchor = 'phase_start';
|
||||
}
|
||||
if (firstInvoiceCredit) {
|
||||
targetPhase.add_invoice_items = [firstInvoiceCredit];
|
||||
targetPhase.metadata = {
|
||||
@@ -508,7 +719,7 @@ export class StripeSubscriptionService {
|
||||
};
|
||||
}
|
||||
await this.stripe.subscriptionSchedules.update(schedule.id, {
|
||||
end_behavior: 'release',
|
||||
end_behavior: clearCancellation ? 'release' : schedule.end_behavior,
|
||||
proration_behavior: 'none',
|
||||
metadata: {
|
||||
user_id: user.id.toString(),
|
||||
@@ -516,14 +727,33 @@ export class StripeSubscriptionService {
|
||||
},
|
||||
phases: [currentPhase, targetPhase],
|
||||
});
|
||||
let scheduledSubscription = currentSubscription;
|
||||
if (!clearCancellation) {
|
||||
scheduledSubscription = await this.stripe.subscriptions.retrieve(currentSubscription.id, {
|
||||
expand: ['items.data.price'],
|
||||
});
|
||||
try {
|
||||
await getBillingRepository().subscriptions.upsertFromStripe(scheduledSubscription, {
|
||||
knownUserId: user.id,
|
||||
snapshotCapturedAt: new Date(),
|
||||
});
|
||||
} catch (mirrorErr) {
|
||||
Logger.error(
|
||||
{mirrorErr, subId: scheduledSubscription.id},
|
||||
'Mirror upsert failed after scheduling a period-end price change; reconciler will heal',
|
||||
);
|
||||
}
|
||||
}
|
||||
const patch: Record<string, unknown> = {
|
||||
premium_will_cancel: false,
|
||||
premium_will_cancel: clearCancellation
|
||||
? false
|
||||
: Boolean(scheduledSubscription.cancel_at || scheduledSubscription.cancel_at_period_end),
|
||||
};
|
||||
const computedPremiumUntil = getSubscriptionPremiumPeriodEnd(currentSubscription);
|
||||
const computedPremiumUntil = getSubscriptionPremiumPeriodEnd(scheduledSubscription);
|
||||
if (computedPremiumUntil) {
|
||||
patch['premium_until'] = computedPremiumUntil;
|
||||
}
|
||||
const updatedCustomerId = extractId(currentSubscription.customer);
|
||||
const updatedCustomerId = extractId(scheduledSubscription.customer);
|
||||
if (updatedCustomerId && updatedCustomerId !== user.stripeCustomerId) {
|
||||
patch['stripe_customer_id'] = updatedCustomerId;
|
||||
}
|
||||
@@ -532,7 +762,7 @@ export class StripeSubscriptionService {
|
||||
Logger.debug(
|
||||
{
|
||||
userId: user.id,
|
||||
subscriptionId: currentSubscription.id,
|
||||
subscriptionId: scheduledSubscription.id,
|
||||
scheduleId: schedule.id,
|
||||
fromBillingCycle: currentBillingCycle,
|
||||
toBillingCycle: targetBillingCycle,
|
||||
@@ -742,12 +972,28 @@ export class StripeSubscriptionService {
|
||||
if (!price) {
|
||||
return null;
|
||||
}
|
||||
return {
|
||||
const mappedItem: Stripe.SubscriptionScheduleUpdateParams.Phase.Item = {
|
||||
price,
|
||||
quantity: phaseItem.quantity ?? 1,
|
||||
};
|
||||
const itemTaxRates = mapStripeIds(phaseItem.tax_rates);
|
||||
if (itemTaxRates) {
|
||||
mappedItem.tax_rates = itemTaxRates;
|
||||
}
|
||||
const itemDiscounts = mapSchedulePhaseDiscounts(phaseItem.discounts);
|
||||
if (itemDiscounts) {
|
||||
mappedItem.discounts = itemDiscounts;
|
||||
}
|
||||
if (phaseItem.metadata) {
|
||||
mappedItem.metadata = phaseItem.metadata;
|
||||
}
|
||||
if (phaseItem.billing_thresholds?.usage_gte != null) {
|
||||
mappedItem.billing_thresholds = {usage_gte: phaseItem.billing_thresholds.usage_gte};
|
||||
}
|
||||
return mappedItem;
|
||||
})
|
||||
.filter((phaseItem): phaseItem is {price: string; quantity: number} => phaseItem !== null) ?? [];
|
||||
.filter((phaseItem): phaseItem is Stripe.SubscriptionScheduleUpdateParams.Phase.Item => phaseItem !== null) ??
|
||||
[];
|
||||
const currentPhase: Stripe.SubscriptionScheduleUpdateParams.Phase = {
|
||||
start_date: phase?.start_date ?? subscription.start_date ?? subscription.created,
|
||||
end_date: periodEnd,
|
||||
@@ -762,6 +1008,99 @@ export class StripeSubscriptionService {
|
||||
],
|
||||
proration_behavior: 'none',
|
||||
};
|
||||
if (phase) {
|
||||
const phaseDiscounts = mapSchedulePhaseDiscounts(phase.discounts);
|
||||
if (phaseDiscounts) {
|
||||
currentPhase.discounts = phaseDiscounts;
|
||||
}
|
||||
const defaultTaxRates = mapStripeIds(phase.default_tax_rates);
|
||||
if (defaultTaxRates) {
|
||||
currentPhase.default_tax_rates = defaultTaxRates;
|
||||
}
|
||||
if (phase.metadata) {
|
||||
currentPhase.metadata = phase.metadata;
|
||||
}
|
||||
if (phase.currency) {
|
||||
currentPhase.currency = phase.currency;
|
||||
}
|
||||
if (phase.description != null) {
|
||||
currentPhase.description = phase.description;
|
||||
}
|
||||
if (phase.collection_method) {
|
||||
currentPhase.collection_method = phase.collection_method;
|
||||
}
|
||||
if (phase.application_fee_percent != null) {
|
||||
currentPhase.application_fee_percent = phase.application_fee_percent;
|
||||
}
|
||||
const defaultPaymentMethod = extractId(phase.default_payment_method);
|
||||
if (defaultPaymentMethod) {
|
||||
currentPhase.default_payment_method = defaultPaymentMethod;
|
||||
}
|
||||
const onBehalfOf = extractId(phase.on_behalf_of);
|
||||
if (onBehalfOf) {
|
||||
currentPhase.on_behalf_of = onBehalfOf;
|
||||
}
|
||||
if (phase.automatic_tax) {
|
||||
const automaticTax: Stripe.SubscriptionScheduleUpdateParams.Phase.AutomaticTax = {
|
||||
enabled: phase.automatic_tax.enabled,
|
||||
};
|
||||
if (phase.automatic_tax.liability) {
|
||||
automaticTax.liability = {type: phase.automatic_tax.liability.type};
|
||||
const liabilityAccount = extractId(phase.automatic_tax.liability.account);
|
||||
if (liabilityAccount) {
|
||||
automaticTax.liability.account = liabilityAccount;
|
||||
}
|
||||
}
|
||||
currentPhase.automatic_tax = automaticTax;
|
||||
}
|
||||
if (phase.invoice_settings) {
|
||||
const invoiceSettings: Stripe.SubscriptionScheduleUpdateParams.Phase.InvoiceSettings = {};
|
||||
const accountTaxIds = mapStripeIds(phase.invoice_settings.account_tax_ids);
|
||||
if (accountTaxIds) {
|
||||
invoiceSettings.account_tax_ids = accountTaxIds;
|
||||
}
|
||||
if (phase.invoice_settings.days_until_due != null) {
|
||||
invoiceSettings.days_until_due = phase.invoice_settings.days_until_due;
|
||||
}
|
||||
if (phase.invoice_settings.issuer) {
|
||||
invoiceSettings.issuer = {type: phase.invoice_settings.issuer.type};
|
||||
const issuerAccount = extractId(phase.invoice_settings.issuer.account);
|
||||
if (issuerAccount) {
|
||||
invoiceSettings.issuer.account = issuerAccount;
|
||||
}
|
||||
}
|
||||
if (Object.keys(invoiceSettings).length > 0) {
|
||||
currentPhase.invoice_settings = invoiceSettings;
|
||||
}
|
||||
}
|
||||
if (phase.billing_thresholds) {
|
||||
const billingThresholds: Stripe.SubscriptionScheduleUpdateParams.Phase.BillingThresholds = {};
|
||||
if (phase.billing_thresholds.amount_gte != null) {
|
||||
billingThresholds.amount_gte = phase.billing_thresholds.amount_gte;
|
||||
}
|
||||
if (phase.billing_thresholds.reset_billing_cycle_anchor != null) {
|
||||
billingThresholds.reset_billing_cycle_anchor = phase.billing_thresholds.reset_billing_cycle_anchor;
|
||||
}
|
||||
if (Object.keys(billingThresholds).length > 0) {
|
||||
currentPhase.billing_thresholds = billingThresholds;
|
||||
}
|
||||
}
|
||||
if (phase.transfer_data) {
|
||||
const destination = extractId(phase.transfer_data.destination);
|
||||
if (destination) {
|
||||
currentPhase.transfer_data = {destination};
|
||||
if (phase.transfer_data.amount_percent != null) {
|
||||
currentPhase.transfer_data.amount_percent = phase.transfer_data.amount_percent;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (phase.start_date > now) {
|
||||
const addInvoiceItems = mapSchedulePhaseAddInvoiceItems(phase.add_invoice_items);
|
||||
if (addInvoiceItems) {
|
||||
currentPhase.add_invoice_items = addInvoiceItems;
|
||||
}
|
||||
}
|
||||
}
|
||||
const trialEnd = subscription.trial_end;
|
||||
if (trialEnd != null && trialEnd > now) {
|
||||
if (trialEnd >= periodEnd) {
|
||||
@@ -770,6 +1109,10 @@ export class StripeSubscriptionService {
|
||||
currentPhase.trial_end = trialEnd;
|
||||
}
|
||||
}
|
||||
const phaseIsTrial = currentPhase.trial === true || currentPhase.trial_end != null;
|
||||
if (phase?.billing_cycle_anchor && !(phaseIsTrial && phase.billing_cycle_anchor === 'phase_start')) {
|
||||
currentPhase.billing_cycle_anchor = phase.billing_cycle_anchor;
|
||||
}
|
||||
return currentPhase;
|
||||
}
|
||||
|
||||
@@ -1026,6 +1369,7 @@ export class StripeSubscriptionService {
|
||||
private static readonly CURRENT_PRICE_CACHE_TTL_SECONDS = seconds('5 minutes');
|
||||
private static readonly LIST_PRICE_CACHE_TTL_SECONDS = seconds('1 hour');
|
||||
private static readonly PRICE_CACHE_PRODUCE_TIMEOUT_MS = 90000;
|
||||
private static readonly LIST_PRICE_SWITCH_LOCK_TTL_SECONDS = seconds('30 seconds');
|
||||
private static readonly USER_TRIAL_LOCK_TTL_SECONDS = seconds('30 seconds');
|
||||
private static readonly USER_TRIAL_LOCK_MAX_WAIT_MS = 15000;
|
||||
private static readonly USER_TRIAL_LOCK_RETRY_DELAY_MS = 100;
|
||||
|
||||
@@ -65,6 +65,14 @@ export class StripeSubscriptionWebhookHandler {
|
||||
Logger.error({invoiceId: invoice.id, billingReason}, 'No subscription ID found in subscription invoice');
|
||||
throw new StripeError('Invoice missing subscription id');
|
||||
}
|
||||
const donor = await this.donationRepository.findDonorByStripeSubscriptionId(subscriptionId);
|
||||
if (donor) {
|
||||
Logger.debug(
|
||||
{invoiceId: invoice.id, eventId, subscriptionId, donorEmail: donor.email},
|
||||
'Skipping invoice payment for donation subscription',
|
||||
);
|
||||
return;
|
||||
}
|
||||
if (this.isSubscriptionUpdateInvoice(invoice)) {
|
||||
Logger.debug(
|
||||
{
|
||||
|
||||
@@ -309,6 +309,10 @@ export class StripeWebhookService {
|
||||
await this.safeMirrorUpsert(event, () => this.billingRepository.paymentMethods.markDetached(pm.id, new Date()));
|
||||
break;
|
||||
}
|
||||
case 'mandate.updated': {
|
||||
await this.handleMandateUpdated(event.data.object as Stripe.Mandate);
|
||||
break;
|
||||
}
|
||||
case 'payment_intent.created':
|
||||
case 'payment_intent.processing':
|
||||
case 'payment_intent.succeeded':
|
||||
@@ -369,6 +373,18 @@ export class StripeWebhookService {
|
||||
}
|
||||
}
|
||||
|
||||
private async handleMandateUpdated(mandate: Stripe.Mandate): Promise<void> {
|
||||
if (mandate.status !== 'inactive') {
|
||||
return;
|
||||
}
|
||||
const paymentMethodId =
|
||||
typeof mandate.payment_method === 'string' ? mandate.payment_method : (mandate.payment_method?.id ?? null);
|
||||
Logger.warn(
|
||||
{mandateId: mandate.id, paymentMethodId, status: mandate.status},
|
||||
'Stripe mandate is no longer active; recurring payments on this payment method will fail',
|
||||
);
|
||||
}
|
||||
|
||||
private async resolveRefundCustomerId(refund: Stripe.Refund): Promise<string | null> {
|
||||
const chargeId = typeof refund.charge === 'string' ? refund.charge : (refund.charge?.id ?? null);
|
||||
if (chargeId !== null) {
|
||||
|
||||
@@ -0,0 +1,370 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import {UserPremiumTypes} from '@fluxer/constants/src/UserConstants';
|
||||
import {afterAll, beforeAll, describe, expect, test} from 'vitest';
|
||||
import {Config} from '../../Config';
|
||||
import {ProductRegistry, ProductType} from '../ProductRegistry';
|
||||
|
||||
// Mirrors the live BRL/TRY configuration after the repricing: the BRL slots point at the new list
|
||||
// prices, TRY is not configured at all (production has no TRY prices), and every retired price id
|
||||
// lives only in the legacy map.
|
||||
const MOCK_PRICES = {
|
||||
monthlyUsd: 'price_monthly_usd',
|
||||
monthlyBrl: 'price_1TMbqsFPC94Os7FdfElrIIaZ',
|
||||
yearlyUsd: 'price_yearly_usd',
|
||||
yearlyBrl: 'price_1TMbqtFPC94Os7Fd7VJqmDyt',
|
||||
gift1MonthBrl: 'price_gift_1_month_brl',
|
||||
gift1YearBrl: 'price_gift_1_year_brl',
|
||||
};
|
||||
|
||||
const LEGACY_MONTHLY_BRL = 'price_legacy_monthly_brl';
|
||||
const LEGACY_YEARLY_BRL = 'price_legacy_yearly_brl';
|
||||
const LEGACY_GIFT_1_MONTH_BRL = 'price_legacy_gift_1_month_brl';
|
||||
const LEGACY_GIFT_1_YEAR_BRL = 'price_legacy_gift_1_year_brl';
|
||||
const LEGACY_MONTHLY_TRY = 'price_1TMYpdFPC94Os7FdZVRx98Up';
|
||||
|
||||
const MOCK_LEGACY_PRICES: Record<string, Array<string> | undefined> = {
|
||||
monthly_brl: [LEGACY_MONTHLY_BRL],
|
||||
yearly_brl: [LEGACY_YEARLY_BRL],
|
||||
gift_1_month_brl: [LEGACY_GIFT_1_MONTH_BRL],
|
||||
gift_1_year_brl: [LEGACY_GIFT_1_YEAR_BRL],
|
||||
monthly_try: [LEGACY_MONTHLY_TRY],
|
||||
};
|
||||
|
||||
describe('ProductRegistry - legacy prices', () => {
|
||||
let originalPrices: typeof Config.stripe.prices | undefined;
|
||||
let originalLegacyPrices: typeof Config.stripe.legacyPrices | undefined;
|
||||
|
||||
beforeAll(() => {
|
||||
originalPrices = Config.stripe.prices;
|
||||
originalLegacyPrices = Config.stripe.legacyPrices;
|
||||
});
|
||||
|
||||
afterAll(() => {
|
||||
Config.stripe.prices = originalPrices;
|
||||
Config.stripe.legacyPrices = originalLegacyPrices;
|
||||
});
|
||||
|
||||
function buildRegistry(
|
||||
prices: typeof Config.stripe.prices,
|
||||
legacyPrices: typeof Config.stripe.legacyPrices,
|
||||
): ProductRegistry {
|
||||
Config.stripe.prices = prices;
|
||||
Config.stripe.legacyPrices = legacyPrices;
|
||||
return new ProductRegistry();
|
||||
}
|
||||
|
||||
describe('slot shapes', () => {
|
||||
test('a legacy monthly slot resolves to a monthly recurring product in its currency', () => {
|
||||
const registry = buildRegistry(MOCK_PRICES, MOCK_LEGACY_PRICES);
|
||||
expect(registry.getProduct(LEGACY_MONTHLY_BRL)).toEqual({
|
||||
type: ProductType.MONTHLY_SUBSCRIPTION,
|
||||
premiumType: UserPremiumTypes.SUBSCRIPTION,
|
||||
durationMonths: 1,
|
||||
isGift: false,
|
||||
currency: 'BRL',
|
||||
billingCycle: 'monthly',
|
||||
});
|
||||
});
|
||||
|
||||
test('a legacy yearly slot resolves to a yearly recurring product in its currency', () => {
|
||||
const registry = buildRegistry(MOCK_PRICES, MOCK_LEGACY_PRICES);
|
||||
expect(registry.getProduct(LEGACY_YEARLY_BRL)).toEqual({
|
||||
type: ProductType.YEARLY_SUBSCRIPTION,
|
||||
premiumType: UserPremiumTypes.SUBSCRIPTION,
|
||||
durationMonths: 12,
|
||||
isGift: false,
|
||||
currency: 'BRL',
|
||||
billingCycle: 'yearly',
|
||||
});
|
||||
});
|
||||
|
||||
test('a legacy gift_1_month slot resolves to a one-month gift with no billing cycle', () => {
|
||||
const registry = buildRegistry(MOCK_PRICES, MOCK_LEGACY_PRICES);
|
||||
const info = registry.getProduct(LEGACY_GIFT_1_MONTH_BRL);
|
||||
expect(info).toEqual({
|
||||
type: ProductType.GIFT_1_MONTH,
|
||||
premiumType: UserPremiumTypes.SUBSCRIPTION,
|
||||
durationMonths: 1,
|
||||
isGift: true,
|
||||
currency: 'BRL',
|
||||
});
|
||||
expect(info?.billingCycle).toBeUndefined();
|
||||
});
|
||||
|
||||
test('a legacy gift_1_year slot resolves to a one-year gift with no billing cycle', () => {
|
||||
const registry = buildRegistry(MOCK_PRICES, MOCK_LEGACY_PRICES);
|
||||
const info = registry.getProduct(LEGACY_GIFT_1_YEAR_BRL);
|
||||
expect(info).toEqual({
|
||||
type: ProductType.GIFT_1_YEAR,
|
||||
premiumType: UserPremiumTypes.SUBSCRIPTION,
|
||||
durationMonths: 12,
|
||||
isGift: true,
|
||||
currency: 'BRL',
|
||||
});
|
||||
expect(info?.billingCycle).toBeUndefined();
|
||||
});
|
||||
|
||||
test('the currency comes from the slot suffix, not from the price id', () => {
|
||||
const registry = buildRegistry(MOCK_PRICES, MOCK_LEGACY_PRICES);
|
||||
// Same shape of id, different slot: only the slot suffix decides the currency.
|
||||
expect(registry.getProduct(LEGACY_MONTHLY_TRY)?.currency).toBe('TRY');
|
||||
expect(registry.getProduct(LEGACY_MONTHLY_BRL)?.currency).toBe('BRL');
|
||||
});
|
||||
|
||||
test('every supported currency suffix is recognised', () => {
|
||||
const registry = buildRegistry(
|
||||
{},
|
||||
{
|
||||
monthly_usd: ['legacy_usd'],
|
||||
monthly_eur: ['legacy_eur'],
|
||||
monthly_brl: ['legacy_brl'],
|
||||
monthly_inr: ['legacy_inr'],
|
||||
monthly_pln: ['legacy_pln'],
|
||||
monthly_try: ['legacy_try'],
|
||||
},
|
||||
);
|
||||
expect(registry.getProduct('legacy_usd')?.currency).toBe('USD');
|
||||
expect(registry.getProduct('legacy_eur')?.currency).toBe('EUR');
|
||||
expect(registry.getProduct('legacy_brl')?.currency).toBe('BRL');
|
||||
expect(registry.getProduct('legacy_inr')?.currency).toBe('INR');
|
||||
expect(registry.getProduct('legacy_pln')?.currency).toBe('PLN');
|
||||
expect(registry.getProduct('legacy_try')?.currency).toBe('TRY');
|
||||
});
|
||||
|
||||
test('an uppercased currency suffix is still recognised', () => {
|
||||
const registry = buildRegistry({}, {monthly_BRL: ['legacy_upper_brl']});
|
||||
expect(registry.getProduct('legacy_upper_brl')?.currency).toBe('BRL');
|
||||
});
|
||||
|
||||
test('a slot may retire more than one price id', () => {
|
||||
const registry = buildRegistry({}, {monthly_brl: ['legacy_one', 'legacy_two', 'legacy_three']});
|
||||
expect(registry.getProduct('legacy_one')?.type).toBe(ProductType.MONTHLY_SUBSCRIPTION);
|
||||
expect(registry.getProduct('legacy_two')?.type).toBe(ProductType.MONTHLY_SUBSCRIPTION);
|
||||
expect(registry.getProduct('legacy_three')?.type).toBe(ProductType.MONTHLY_SUBSCRIPTION);
|
||||
});
|
||||
|
||||
test('legacy prices register even when no prices are configured at all', () => {
|
||||
const registry = buildRegistry(undefined, MOCK_LEGACY_PRICES);
|
||||
expect(registry.getProduct(LEGACY_MONTHLY_BRL)?.type).toBe(ProductType.MONTHLY_SUBSCRIPTION);
|
||||
expect(registry.getProduct(MOCK_PRICES.monthlyBrl)).toBeNull();
|
||||
});
|
||||
|
||||
test('an unknown price id still resolves to null', () => {
|
||||
const registry = buildRegistry(MOCK_PRICES, MOCK_LEGACY_PRICES);
|
||||
expect(registry.getProduct('price_never_seen')).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
describe('honoured but unpurchasable', () => {
|
||||
test('a legacy recurring price resolves through getProduct but is never the checkout price', () => {
|
||||
const registry = buildRegistry(MOCK_PRICES, MOCK_LEGACY_PRICES);
|
||||
|
||||
// Direction 1: the retired price is honoured on renewal.
|
||||
expect(registry.getProduct(LEGACY_MONTHLY_BRL)).not.toBeNull();
|
||||
expect(registry.getProduct(LEGACY_YEARLY_BRL)).not.toBeNull();
|
||||
|
||||
// Direction 2: checkout only ever offers the authored list price.
|
||||
expect(registry.getRecurringSubscriptionPriceId('monthly', 'BRL')).toBe(MOCK_PRICES.monthlyBrl);
|
||||
expect(registry.getRecurringSubscriptionPriceId('monthly', 'BRL')).not.toBe(LEGACY_MONTHLY_BRL);
|
||||
expect(registry.getRecurringSubscriptionPriceId('yearly', 'BRL')).toBe(MOCK_PRICES.yearlyBrl);
|
||||
expect(registry.getRecurringSubscriptionPriceId('yearly', 'BRL')).not.toBe(LEGACY_YEARLY_BRL);
|
||||
});
|
||||
|
||||
test('a legacy gift price resolves through getProduct but is never the gift checkout price', () => {
|
||||
const registry = buildRegistry(MOCK_PRICES, MOCK_LEGACY_PRICES);
|
||||
|
||||
expect(registry.getProduct(LEGACY_GIFT_1_MONTH_BRL)).not.toBeNull();
|
||||
expect(registry.getProduct(LEGACY_GIFT_1_YEAR_BRL)).not.toBeNull();
|
||||
|
||||
expect(registry.getGiftPriceId('gift_1_month', 'BRL')).toBe(MOCK_PRICES.gift1MonthBrl);
|
||||
expect(registry.getGiftPriceId('gift_1_month', 'BRL')).not.toBe(LEGACY_GIFT_1_MONTH_BRL);
|
||||
expect(registry.getGiftPriceId('gift_1_year', 'BRL')).toBe(MOCK_PRICES.gift1YearBrl);
|
||||
expect(registry.getGiftPriceId('gift_1_year', 'BRL')).not.toBe(LEGACY_GIFT_1_YEAR_BRL);
|
||||
});
|
||||
|
||||
test('an archived price in a currency the instance does not configure renews but cannot be bought', () => {
|
||||
// The real production case: one live subscription sits on an archived TRY price that
|
||||
// production never configured. getProduct must resolve it; checkout must still refuse TRY.
|
||||
const registry = buildRegistry(MOCK_PRICES, MOCK_LEGACY_PRICES);
|
||||
|
||||
expect(registry.getProduct(LEGACY_MONTHLY_TRY)).toEqual({
|
||||
type: ProductType.MONTHLY_SUBSCRIPTION,
|
||||
premiumType: UserPremiumTypes.SUBSCRIPTION,
|
||||
durationMonths: 1,
|
||||
isGift: false,
|
||||
currency: 'TRY',
|
||||
billingCycle: 'monthly',
|
||||
});
|
||||
expect(registry.getRecurringSubscriptionPriceId('monthly', 'TRY')).toBeNull();
|
||||
expect(registry.getRecurringSubscriptionPriceId('yearly', 'TRY')).toBeNull();
|
||||
expect(registry.getGiftPriceId('gift_1_month', 'TRY')).toBeNull();
|
||||
expect(registry.getGiftPriceId('gift_1_year', 'TRY')).toBeNull();
|
||||
});
|
||||
|
||||
test('no legacy price id is ever returned by either price getter, for any cycle or currency', () => {
|
||||
const registry = buildRegistry(MOCK_PRICES, MOCK_LEGACY_PRICES);
|
||||
const legacyIds = new Set(Object.values(MOCK_LEGACY_PRICES).flatMap((ids) => ids ?? []));
|
||||
const currencies = ['USD', 'EUR', 'BRL', 'INR', 'PLN', 'TRY'];
|
||||
|
||||
const offered: Array<string> = [];
|
||||
for (const currency of currencies) {
|
||||
for (const cycle of ['monthly', 'yearly'] as const) {
|
||||
const priceId = registry.getRecurringSubscriptionPriceId(cycle, currency);
|
||||
if (priceId) offered.push(priceId);
|
||||
}
|
||||
for (const duration of ['gift_1_month', 'gift_1_year'] as const) {
|
||||
const priceId = registry.getGiftPriceId(duration, currency);
|
||||
if (priceId) offered.push(priceId);
|
||||
}
|
||||
}
|
||||
|
||||
expect(offered.length).toBeGreaterThan(0);
|
||||
expect(offered.filter((priceId) => legacyIds.has(priceId))).toEqual([]);
|
||||
// And every legacy id is still honoured by the registry.
|
||||
for (const legacyId of legacyIds) {
|
||||
expect(registry.getProduct(legacyId)).not.toBeNull();
|
||||
}
|
||||
});
|
||||
|
||||
test('a legacy recurring product is still classified as a recurring subscription', () => {
|
||||
const registry = buildRegistry(MOCK_PRICES, MOCK_LEGACY_PRICES);
|
||||
const recurring = registry.getProduct(LEGACY_MONTHLY_BRL);
|
||||
const gift = registry.getProduct(LEGACY_GIFT_1_YEAR_BRL);
|
||||
expect(recurring).not.toBeNull();
|
||||
expect(gift).not.toBeNull();
|
||||
expect(registry.isRecurringSubscription(recurring!)).toBe(true);
|
||||
expect(registry.isRecurringSubscription(gift!)).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
describe('precedence', () => {
|
||||
test('an authored price wins over a legacy entry claiming the same id', () => {
|
||||
// Deliberate collision: the live monthly BRL list price is also listed as a retired yearly
|
||||
// USD price. The authored ProductInfo must survive.
|
||||
const registry = buildRegistry(MOCK_PRICES, {
|
||||
yearly_usd: [MOCK_PRICES.monthlyBrl],
|
||||
});
|
||||
expect(registry.getProduct(MOCK_PRICES.monthlyBrl)).toEqual({
|
||||
type: ProductType.MONTHLY_SUBSCRIPTION,
|
||||
premiumType: UserPremiumTypes.SUBSCRIPTION,
|
||||
durationMonths: 1,
|
||||
isGift: false,
|
||||
currency: 'BRL',
|
||||
billingCycle: 'monthly',
|
||||
});
|
||||
});
|
||||
|
||||
test('an authored gift price wins over a legacy entry claiming the same id', () => {
|
||||
const registry = buildRegistry(MOCK_PRICES, {
|
||||
monthly_try: [MOCK_PRICES.gift1YearBrl],
|
||||
});
|
||||
expect(registry.getProduct(MOCK_PRICES.gift1YearBrl)).toEqual({
|
||||
type: ProductType.GIFT_1_YEAR,
|
||||
premiumType: UserPremiumTypes.SUBSCRIPTION,
|
||||
durationMonths: 12,
|
||||
isGift: true,
|
||||
currency: 'BRL',
|
||||
});
|
||||
});
|
||||
|
||||
test('the first legacy slot to claim an id wins over a later one', () => {
|
||||
const registry = buildRegistry(
|
||||
{},
|
||||
{
|
||||
monthly_brl: ['legacy_shared'],
|
||||
yearly_usd: ['legacy_shared'],
|
||||
},
|
||||
);
|
||||
expect(registry.getProduct('legacy_shared')).toEqual({
|
||||
type: ProductType.MONTHLY_SUBSCRIPTION,
|
||||
premiumType: UserPremiumTypes.SUBSCRIPTION,
|
||||
durationMonths: 1,
|
||||
isGift: false,
|
||||
currency: 'BRL',
|
||||
billingCycle: 'monthly',
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('malformed configuration', () => {
|
||||
test('a slot whose value is a bare string is ignored and the rest still registers', () => {
|
||||
const registry = buildRegistry(MOCK_PRICES, {
|
||||
monthly_brl: 'price_legacy_bare_string' as unknown as Array<string>,
|
||||
yearly_brl: [LEGACY_YEARLY_BRL],
|
||||
});
|
||||
expect(registry.getProduct('price_legacy_bare_string')).toBeNull();
|
||||
// Not accidentally registered character by character either.
|
||||
expect(registry.getProduct('p')).toBeNull();
|
||||
expect(registry.getProduct(LEGACY_YEARLY_BRL)?.type).toBe(ProductType.YEARLY_SUBSCRIPTION);
|
||||
});
|
||||
|
||||
test('a slot with an unrecognised name is ignored and the rest still registers', () => {
|
||||
const registry = buildRegistry(MOCK_PRICES, {
|
||||
weekly_brl: ['legacy_weekly'],
|
||||
visionary_usd: ['legacy_visionary'],
|
||||
brl: ['legacy_no_separator'],
|
||||
_brl: ['legacy_leading_separator'],
|
||||
yearly_brl: [LEGACY_YEARLY_BRL],
|
||||
});
|
||||
expect(registry.getProduct('legacy_weekly')).toBeNull();
|
||||
expect(registry.getProduct('legacy_visionary')).toBeNull();
|
||||
expect(registry.getProduct('legacy_no_separator')).toBeNull();
|
||||
expect(registry.getProduct('legacy_leading_separator')).toBeNull();
|
||||
expect(registry.getProduct(LEGACY_YEARLY_BRL)?.type).toBe(ProductType.YEARLY_SUBSCRIPTION);
|
||||
});
|
||||
|
||||
test('a slot with an unknown currency is ignored and the rest still registers', () => {
|
||||
const registry = buildRegistry(MOCK_PRICES, {
|
||||
monthly_jpy: ['legacy_jpy'],
|
||||
gift_1_year_gbp: ['legacy_gbp'],
|
||||
monthly_brl: [LEGACY_MONTHLY_BRL],
|
||||
});
|
||||
expect(registry.getProduct('legacy_jpy')).toBeNull();
|
||||
expect(registry.getProduct('legacy_gbp')).toBeNull();
|
||||
expect(registry.getProduct(LEGACY_MONTHLY_BRL)?.currency).toBe('BRL');
|
||||
});
|
||||
|
||||
test('empty, blank and undefined entries inside a slot are skipped', () => {
|
||||
const registry = buildRegistry(MOCK_PRICES, {
|
||||
monthly_brl: ['', undefined as unknown as string, LEGACY_MONTHLY_BRL],
|
||||
});
|
||||
expect(registry.getProduct('')).toBeNull();
|
||||
expect(registry.getProduct(LEGACY_MONTHLY_BRL)?.currency).toBe('BRL');
|
||||
});
|
||||
|
||||
test('an undefined slot value is ignored', () => {
|
||||
const registry = buildRegistry(MOCK_PRICES, {
|
||||
monthly_try: undefined,
|
||||
monthly_brl: [LEGACY_MONTHLY_BRL],
|
||||
});
|
||||
expect(registry.getProduct(LEGACY_MONTHLY_BRL)?.currency).toBe('BRL');
|
||||
});
|
||||
|
||||
test('an array-valued legacy map is ignored without throwing', () => {
|
||||
const registry = buildRegistry(MOCK_PRICES, [
|
||||
'price_legacy_array',
|
||||
] as unknown as typeof Config.stripe.legacyPrices);
|
||||
expect(registry.getProduct('price_legacy_array')).toBeNull();
|
||||
// The authored prices are untouched.
|
||||
expect(registry.getProduct(MOCK_PRICES.monthlyBrl)?.currency).toBe('BRL');
|
||||
expect(registry.getRecurringSubscriptionPriceId('monthly', 'BRL')).toBe(MOCK_PRICES.monthlyBrl);
|
||||
});
|
||||
|
||||
test('a string-valued legacy map is ignored without throwing', () => {
|
||||
const registry = buildRegistry(MOCK_PRICES, 'nonsense' as unknown as typeof Config.stripe.legacyPrices);
|
||||
expect(registry.getProduct('nonsense')).toBeNull();
|
||||
expect(registry.getProduct(MOCK_PRICES.monthlyBrl)?.currency).toBe('BRL');
|
||||
});
|
||||
|
||||
test('a number-valued legacy map is ignored without throwing', () => {
|
||||
const registry = buildRegistry(MOCK_PRICES, 42 as unknown as typeof Config.stripe.legacyPrices);
|
||||
expect(registry.getProduct(MOCK_PRICES.monthlyBrl)?.currency).toBe('BRL');
|
||||
});
|
||||
|
||||
test('an absent or empty legacy map leaves the authored registry intact', () => {
|
||||
expect(buildRegistry(MOCK_PRICES, undefined).getProduct(MOCK_PRICES.monthlyBrl)?.currency).toBe('BRL');
|
||||
expect(buildRegistry(MOCK_PRICES, {}).getProduct(MOCK_PRICES.monthlyBrl)?.currency).toBe('BRL');
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -1,6 +1,8 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import crypto from 'node:crypto';
|
||||
import {APIErrorCodes} from '@fluxer/constants/src/ApiErrorCodes';
|
||||
import {PremiumFlags} from '@fluxer/constants/src/UserConstants';
|
||||
import type {
|
||||
SelfServeRefundEligibilityResponse,
|
||||
SelfServeRefundResponse,
|
||||
@@ -9,10 +11,17 @@ import {HttpResponse, http} from 'msw';
|
||||
import {afterAll, afterEach, beforeAll, beforeEach, describe, expect, test} from 'vitest';
|
||||
import {createTestAccount, type TestAccount} from '../../auth/tests/AuthTestUtils';
|
||||
import {createUserID} from '../../BrandedTypes';
|
||||
import {Config} from '../../Config';
|
||||
import {type ApiTestHarness, createApiTestHarness} from '../../test/ApiTestHarness';
|
||||
import {createStripeApiHandlers} from '../../test/msw/handlers/StripeApiHandlers';
|
||||
import {
|
||||
createMockWebhookPayload,
|
||||
createStripeApiHandlers,
|
||||
type StripeWebhookEventData,
|
||||
} from '../../test/msw/handlers/StripeApiHandlers';
|
||||
import {server} from '../../test/msw/server';
|
||||
import {createBuilder} from '../../test/TestRequestBuilder';
|
||||
import {UserRepository} from '../../user/repositories/UserRepository';
|
||||
import {setupSyncStripeWebhookWorker} from './StripeWebhookTestUtils';
|
||||
|
||||
const MOCK_CUSTOMER_ID = 'cus_self_serve_refund';
|
||||
const MOCK_SUBSCRIPTION_ID = 'sub_self_serve_refund';
|
||||
@@ -107,6 +116,7 @@ function invoiceListHandler(invoices: ReadonlyArray<MockStripeInvoice>) {
|
||||
}
|
||||
|
||||
function refundCreateHandler(opts?: {
|
||||
refundId?: string;
|
||||
status?: 'succeeded' | 'pending' | 'failed';
|
||||
failureReason?: string;
|
||||
onRequest?: (idempotencyKey: string | null) => void;
|
||||
@@ -121,7 +131,7 @@ function refundCreateHandler(opts?: {
|
||||
if (match) metadata[match[1]] = value as string;
|
||||
}
|
||||
return HttpResponse.json({
|
||||
id: 're_test_self_serve',
|
||||
id: opts?.refundId ?? 're_test_self_serve',
|
||||
object: 'refund',
|
||||
amount: Number.parseInt((params.amount as string) ?? '0', 10),
|
||||
currency: 'usd',
|
||||
@@ -156,7 +166,27 @@ describe('StripeRefundService self-serve refund', () => {
|
||||
let harness: ApiTestHarness;
|
||||
beforeAll(async () => {
|
||||
harness = await createApiTestHarness();
|
||||
setupSyncStripeWebhookWorker();
|
||||
});
|
||||
function createWebhookSignature(payload: string, timestamp: number, secret: string): string {
|
||||
const signedPayload = `${timestamp}.${payload}`;
|
||||
const signature = crypto.createHmac('sha256', secret).update(signedPayload).digest('hex');
|
||||
return `t=${timestamp},v1=${signature}`;
|
||||
}
|
||||
async function sendWebhook(eventData: StripeWebhookEventData): Promise<{
|
||||
received: boolean;
|
||||
}> {
|
||||
const {payload, timestamp} = createMockWebhookPayload(eventData);
|
||||
const signature = createWebhookSignature(payload, timestamp, Config.stripe.webhookSecret!);
|
||||
return createBuilder<{
|
||||
received: boolean;
|
||||
}>(harness, '')
|
||||
.post('/stripe/webhook')
|
||||
.header('stripe-signature', signature)
|
||||
.header('content-type', 'application/json')
|
||||
.body(payload)
|
||||
.execute();
|
||||
}
|
||||
beforeEach(async () => {
|
||||
await harness.reset();
|
||||
});
|
||||
@@ -345,6 +375,102 @@ describe('StripeRefundService self-serve refund', () => {
|
||||
const updatedUser = await new UserRepository().findUnique(createUserID(BigInt(account.userId)));
|
||||
expect(updatedUser!.firstRefundAt).toBeNull();
|
||||
});
|
||||
test('counts one self-serve refund once even when charge.refunded arrives afterwards and is retried', async () => {
|
||||
server.use(...createStripeApiHandlers().handlers);
|
||||
const invoice = buildInvoice({
|
||||
id: 'in_cross_path',
|
||||
paidAtSecondsAgo: SECONDS_PER_DAY,
|
||||
subscriptionId: null,
|
||||
});
|
||||
server.use(invoiceListHandler([invoice]), refundCreateHandler({refundId: 're_cross_path'}));
|
||||
const account = await createTestAccount(harness);
|
||||
const userId = createUserID(BigInt(account.userId));
|
||||
await setStripeIds(harness, account, {stripe_customer_id: MOCK_CUSTOMER_ID});
|
||||
const response = await createBuilder<SelfServeRefundResponse>(harness, account.token)
|
||||
.post('/premium/refund-latest')
|
||||
.execute();
|
||||
expect(response.refund_id).toBe('re_cross_path');
|
||||
expect(response.status).toBe('succeeded');
|
||||
const userRepository = new UserRepository();
|
||||
const afterSelfServe = await userRepository.findUnique(userId);
|
||||
expect(afterSelfServe!.firstRefundAt).not.toBeNull();
|
||||
expect(afterSelfServe!.premiumFlags & PremiumFlags.PURCHASE_DISABLED).toBe(0);
|
||||
const chargeEvent = {
|
||||
type: 'charge.refunded' as const,
|
||||
data: {
|
||||
object: {
|
||||
id: invoice.chargeId,
|
||||
payment_intent: invoice.paymentIntentId,
|
||||
customer: MOCK_CUSTOMER_ID,
|
||||
amount_refunded: 2500,
|
||||
refunds: {
|
||||
object: 'list',
|
||||
has_more: false,
|
||||
url: `/v1/charges/${invoice.chargeId}/refunds`,
|
||||
data: [
|
||||
{
|
||||
id: 're_cross_path',
|
||||
object: 'refund',
|
||||
charge: invoice.chargeId,
|
||||
payment_intent: invoice.paymentIntentId,
|
||||
amount: 2500,
|
||||
currency: 'usd',
|
||||
status: 'succeeded',
|
||||
created: Math.floor(Date.now() / 1000),
|
||||
metadata: {
|
||||
refund_kind: 'self_serve',
|
||||
user_id: account.userId,
|
||||
invoice_id: invoice.id,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
await sendWebhook({...chargeEvent, id: 'evt_cross_path_1'});
|
||||
await sendWebhook({...chargeEvent, id: 'evt_cross_path_2'});
|
||||
const afterWebhook = await userRepository.findUnique(userId);
|
||||
expect(afterWebhook!.firstRefundAt!.getTime()).toBe(afterSelfServe!.firstRefundAt!.getTime());
|
||||
expect(afterWebhook!.premiumFlags & PremiumFlags.PURCHASE_DISABLED).toBe(0);
|
||||
});
|
||||
test('counts one self-serve refund once even when refund.updated confirms it after the endpoint already did', async () => {
|
||||
server.use(...createStripeApiHandlers().handlers);
|
||||
const invoice = buildInvoice({
|
||||
id: 'in_double_confirm',
|
||||
paidAtSecondsAgo: SECONDS_PER_DAY,
|
||||
subscriptionId: null,
|
||||
});
|
||||
server.use(invoiceListHandler([invoice]), refundCreateHandler({refundId: 're_double_confirm'}));
|
||||
const account = await createTestAccount(harness);
|
||||
const userId = createUserID(BigInt(account.userId));
|
||||
await setStripeIds(harness, account, {stripe_customer_id: MOCK_CUSTOMER_ID});
|
||||
await createBuilder<SelfServeRefundResponse>(harness, account.token).post('/premium/refund-latest').execute();
|
||||
const userRepository = new UserRepository();
|
||||
const afterSelfServe = await userRepository.findUnique(userId);
|
||||
expect(afterSelfServe!.firstRefundAt).not.toBeNull();
|
||||
await sendWebhook({
|
||||
id: 'evt_double_confirm_1',
|
||||
type: 'refund.updated',
|
||||
data: {
|
||||
object: {
|
||||
id: 're_double_confirm',
|
||||
object: 'refund',
|
||||
status: 'succeeded',
|
||||
amount: 2500,
|
||||
currency: 'usd',
|
||||
metadata: {
|
||||
refund_kind: 'self_serve',
|
||||
user_id: account.userId,
|
||||
invoice_id: invoice.id,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
const afterWebhook = await userRepository.findUnique(userId);
|
||||
expect(afterWebhook!.firstRefundAt!.getTime()).toBe(afterSelfServe!.firstRefundAt!.getTime());
|
||||
expect(afterWebhook!.premiumFlags & PremiumFlags.PURCHASE_DISABLED).toBe(0);
|
||||
});
|
||||
test('retries with a fresh idempotency key once a prior attempt has failed at the provider', async () => {
|
||||
server.use(...createStripeApiHandlers().handlers);
|
||||
server.use(invoiceListHandler([buildInvoice({id: 'in_recent', paidAtSecondsAgo: SECONDS_PER_DAY})]));
|
||||
|
||||
@@ -0,0 +1,589 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import {APIErrorCodes} from '@fluxer/constants/src/ApiErrorCodes';
|
||||
import type {
|
||||
ListPriceSwitchIneligibilityReason,
|
||||
PremiumStateResponse,
|
||||
SwitchToListPriceResponse,
|
||||
} from '@fluxer/schema/src/domains/premium/PremiumSchemas';
|
||||
import {HttpResponse, http} from 'msw';
|
||||
import Stripe from 'stripe';
|
||||
import {afterAll, beforeAll, beforeEach, describe, expect, test} from 'vitest';
|
||||
import {createTestAccount} from '../../auth/tests/AuthTestUtils';
|
||||
import {createUserID, type UserID} from '../../BrandedTypes';
|
||||
import {Config} from '../../Config';
|
||||
import {getBillingRepository} from '../../middleware/ServiceRegistry';
|
||||
import {type ApiTestHarness, createApiTestHarness} from '../../test/ApiTestHarness';
|
||||
import {createPwnedPasswordsRangeHandler} from '../../test/msw/handlers/PwnedPasswordsHandlers';
|
||||
import {createStripeApiHandlers, type StripeApiHandlers} from '../../test/msw/handlers/StripeApiHandlers';
|
||||
import {server} from '../../test/msw/server';
|
||||
import {createBuilder} from '../../test/TestRequestBuilder';
|
||||
import {STRIPE_API_VERSION} from '../StripeApiVersion';
|
||||
|
||||
const MOCK_PRICES = {
|
||||
monthlyUsd: 'price_list_monthly_usd',
|
||||
yearlyUsd: 'price_list_yearly_usd',
|
||||
monthlyBrl: 'price_list_monthly_brl',
|
||||
yearlyBrl: 'price_list_yearly_brl',
|
||||
};
|
||||
|
||||
const RETIRED_MONTHLY_BRL = 'price_retired_monthly_brl';
|
||||
const RETIRED_CHEAP_MONTHLY_BRL = 'price_retired_cheap_monthly_brl';
|
||||
const RETIRED_MONTHLY_TRY = 'price_retired_monthly_try';
|
||||
const RETIRED_EQUAL_MONTHLY_BRL = 'price_retired_equal_monthly_brl';
|
||||
|
||||
const LIST_MONTHLY_BRL_MINOR = 1890;
|
||||
const LIST_YEARLY_BRL_MINOR = 18900;
|
||||
const RETIRED_MONTHLY_BRL_MINOR = 2499;
|
||||
const RETIRED_CHEAP_MONTHLY_BRL_MINOR = 990;
|
||||
const RETIRED_MONTHLY_TRY_MINOR = 2999;
|
||||
|
||||
const MOCK_PRICE_SEEDS: Record<
|
||||
string,
|
||||
{
|
||||
unit_amount: number;
|
||||
currency: string;
|
||||
interval: 'month' | 'year';
|
||||
}
|
||||
> = {
|
||||
[MOCK_PRICES.monthlyUsd]: {unit_amount: 499, currency: 'usd', interval: 'month'},
|
||||
[MOCK_PRICES.yearlyUsd]: {unit_amount: 4999, currency: 'usd', interval: 'year'},
|
||||
[MOCK_PRICES.monthlyBrl]: {unit_amount: LIST_MONTHLY_BRL_MINOR, currency: 'brl', interval: 'month'},
|
||||
[MOCK_PRICES.yearlyBrl]: {unit_amount: LIST_YEARLY_BRL_MINOR, currency: 'brl', interval: 'year'},
|
||||
[RETIRED_MONTHLY_BRL]: {unit_amount: RETIRED_MONTHLY_BRL_MINOR, currency: 'brl', interval: 'month'},
|
||||
[RETIRED_CHEAP_MONTHLY_BRL]: {unit_amount: RETIRED_CHEAP_MONTHLY_BRL_MINOR, currency: 'brl', interval: 'month'},
|
||||
[RETIRED_MONTHLY_TRY]: {unit_amount: RETIRED_MONTHLY_TRY_MINOR, currency: 'try', interval: 'month'},
|
||||
[RETIRED_EQUAL_MONTHLY_BRL]: {unit_amount: LIST_MONTHLY_BRL_MINOR, currency: 'brl', interval: 'month'},
|
||||
};
|
||||
|
||||
interface SubscriberFixture {
|
||||
subscriptionId: string;
|
||||
priceId: string;
|
||||
status?: 'active' | 'trialing' | 'past_due';
|
||||
cancelAt?: number | null;
|
||||
cancelAtPeriodEnd?: boolean;
|
||||
periodStart?: number;
|
||||
periodEnd?: number;
|
||||
}
|
||||
|
||||
interface ResolvedSubscriber {
|
||||
token: string;
|
||||
userId: UserID;
|
||||
subscriptionId: string;
|
||||
priceId: string;
|
||||
periodStart: number;
|
||||
periodEnd: number;
|
||||
}
|
||||
|
||||
describe('StripeSubscriptionListPriceSwitch', () => {
|
||||
let harness: ApiTestHarness;
|
||||
let stripeHandlers: StripeApiHandlers;
|
||||
let originalPrices: typeof Config.stripe.prices | undefined;
|
||||
|
||||
function applyStripeHandlers(fixture: Required<SubscriberFixture>): void {
|
||||
const seed = MOCK_PRICE_SEEDS[fixture.priceId];
|
||||
if (!seed) {
|
||||
throw new Error(`Missing explicit price seed for ${fixture.priceId}`);
|
||||
}
|
||||
stripeHandlers = createStripeApiHandlers({
|
||||
subscriptions: {
|
||||
[fixture.subscriptionId]: {
|
||||
customer: `cus_${fixture.subscriptionId}`,
|
||||
price_id: fixture.priceId,
|
||||
unit_amount: seed.unit_amount,
|
||||
currency: seed.currency,
|
||||
interval: seed.interval,
|
||||
item_id: `si_${fixture.subscriptionId}`,
|
||||
current_period_start: fixture.periodStart,
|
||||
current_period_end: fixture.periodEnd,
|
||||
status: fixture.status,
|
||||
cancel_at: fixture.cancelAt,
|
||||
cancel_at_period_end: fixture.cancelAtPeriodEnd,
|
||||
},
|
||||
},
|
||||
prices: MOCK_PRICE_SEEDS,
|
||||
});
|
||||
server.use(...stripeHandlers.handlers, createPwnedPasswordsRangeHandler());
|
||||
}
|
||||
|
||||
async function mirrorStripeState(userId: UserID, subscriptionId: string): Promise<void> {
|
||||
const stripe = new Stripe(Config.stripe.secretKey ?? 'sk_test_fluxer', {
|
||||
apiVersion: STRIPE_API_VERSION,
|
||||
httpClient: Stripe.createFetchHttpClient(),
|
||||
});
|
||||
const subscription = await stripe.subscriptions.retrieve(subscriptionId, {expand: ['items.data.price']});
|
||||
await getBillingRepository().subscriptions.upsertFromStripe(subscription, {
|
||||
knownUserId: userId,
|
||||
snapshotCapturedAt: new Date(),
|
||||
});
|
||||
for (const priceId of Object.keys(MOCK_PRICE_SEEDS)) {
|
||||
const price = await stripe.prices.retrieve(priceId);
|
||||
await getBillingRepository().prices.upsertFromStripe(price);
|
||||
}
|
||||
}
|
||||
|
||||
async function createSubscriber(fixture: SubscriberFixture): Promise<ResolvedSubscriber> {
|
||||
const periodStart = fixture.periodStart ?? Math.floor(Date.now() / 1000) - 3 * 24 * 60 * 60;
|
||||
const periodEnd = fixture.periodEnd ?? periodStart + 30 * 24 * 60 * 60;
|
||||
const resolved: Required<SubscriberFixture> = {
|
||||
subscriptionId: fixture.subscriptionId,
|
||||
priceId: fixture.priceId,
|
||||
status: fixture.status ?? 'active',
|
||||
cancelAt: fixture.cancelAt ?? null,
|
||||
cancelAtPeriodEnd: fixture.cancelAtPeriodEnd ?? false,
|
||||
periodStart,
|
||||
periodEnd,
|
||||
};
|
||||
const account = await createTestAccount(harness);
|
||||
applyStripeHandlers(resolved);
|
||||
await createBuilder(harness, account.token)
|
||||
.post(`/test/users/${account.userId}/premium`)
|
||||
.body({
|
||||
stripe_subscription_id: resolved.subscriptionId,
|
||||
premium_type: 1,
|
||||
premium_billing_cycle: MOCK_PRICE_SEEDS[resolved.priceId]?.interval === 'year' ? 'yearly' : 'monthly',
|
||||
premium_until: new Date(periodEnd * 1000).toISOString(),
|
||||
premium_will_cancel: Boolean(resolved.cancelAt) || resolved.cancelAtPeriodEnd,
|
||||
})
|
||||
.execute();
|
||||
const userId = createUserID(BigInt(account.userId));
|
||||
await mirrorStripeState(userId, resolved.subscriptionId);
|
||||
return {
|
||||
token: account.token,
|
||||
userId,
|
||||
subscriptionId: resolved.subscriptionId,
|
||||
priceId: resolved.priceId,
|
||||
periodStart,
|
||||
periodEnd,
|
||||
};
|
||||
}
|
||||
|
||||
function switchToListPrice(subscriber: ResolvedSubscriber): Promise<SwitchToListPriceResponse> {
|
||||
return createBuilder<SwitchToListPriceResponse>(harness, subscriber.token)
|
||||
.post('/premium/switch-to-list-price')
|
||||
.expect(200)
|
||||
.execute();
|
||||
}
|
||||
|
||||
function getPremiumState(subscriber: ResolvedSubscriber): Promise<PremiumStateResponse> {
|
||||
return createBuilder<PremiumStateResponse>(harness, subscriber.token).get('/premium/state').expect(200).execute();
|
||||
}
|
||||
|
||||
function expectNoStripeWrites(): void {
|
||||
expect(stripeHandlers.spies.updatedSubscriptions).toHaveLength(0);
|
||||
expect(stripeHandlers.spies.cancelledSubscriptions).toHaveLength(0);
|
||||
expect(stripeHandlers.spies.createdSubscriptionSchedules).toHaveLength(0);
|
||||
expect(stripeHandlers.spies.updatedSubscriptionSchedules).toHaveLength(0);
|
||||
expect(stripeHandlers.spies.releasedSubscriptionSchedules).toHaveLength(0);
|
||||
}
|
||||
|
||||
async function expectRefusal(
|
||||
subscriber: ResolvedSubscriber,
|
||||
reason: ListPriceSwitchIneligibilityReason,
|
||||
): Promise<void> {
|
||||
const result = await switchToListPrice(subscriber);
|
||||
expect(result).toEqual({status: 'ineligible', reason});
|
||||
const state = await getPremiumState(subscriber);
|
||||
expect(state.billing.list_price_switch.available).toBe(false);
|
||||
expect(state.billing.list_price_switch.reason).toBe(reason);
|
||||
}
|
||||
|
||||
beforeAll(async () => {
|
||||
originalPrices = Config.stripe.prices;
|
||||
Config.stripe.prices = MOCK_PRICES;
|
||||
harness = await createApiTestHarness();
|
||||
stripeHandlers = createStripeApiHandlers({prices: MOCK_PRICE_SEEDS});
|
||||
server.use(...stripeHandlers.handlers);
|
||||
});
|
||||
afterAll(async () => {
|
||||
await harness.shutdown();
|
||||
Config.stripe.prices = originalPrices;
|
||||
});
|
||||
beforeEach(async () => {
|
||||
await harness.resetData();
|
||||
Config.stripe.prices = MOCK_PRICES;
|
||||
stripeHandlers.resetAll();
|
||||
server.use(...stripeHandlers.handlers, createPwnedPasswordsRangeHandler());
|
||||
});
|
||||
|
||||
describe('POST /premium/switch-to-list-price', () => {
|
||||
test('schedules a grandfathered BRL monthly subscriber onto the current list price at period end', async () => {
|
||||
const moneyMoves: Array<string> = [];
|
||||
server.use(
|
||||
http.post('https://api.stripe.com/v1/invoices', () => {
|
||||
moneyMoves.push('invoices.create');
|
||||
return HttpResponse.json({});
|
||||
}),
|
||||
http.post('https://api.stripe.com/v1/charges', () => {
|
||||
moneyMoves.push('charges.create');
|
||||
return HttpResponse.json({});
|
||||
}),
|
||||
http.post('https://api.stripe.com/v1/payment_intents', () => {
|
||||
moneyMoves.push('payment_intents.create');
|
||||
return HttpResponse.json({});
|
||||
}),
|
||||
);
|
||||
const subscriber = await createSubscriber({
|
||||
subscriptionId: 'sub_brl_grandfathered',
|
||||
priceId: RETIRED_MONTHLY_BRL,
|
||||
});
|
||||
const result = await switchToListPrice(subscriber);
|
||||
expect(result).toEqual({
|
||||
status: 'scheduled',
|
||||
effective_at: new Date(subscriber.periodEnd * 1000).toISOString(),
|
||||
target_price_id: MOCK_PRICES.monthlyBrl,
|
||||
target_amount_minor: LIST_MONTHLY_BRL_MINOR,
|
||||
current_amount_minor: RETIRED_MONTHLY_BRL_MINOR,
|
||||
currency: 'BRL',
|
||||
});
|
||||
expect(stripeHandlers.spies.createdSubscriptionSchedules).toHaveLength(1);
|
||||
expect(stripeHandlers.spies.createdSubscriptionSchedules[0]?.from_subscription).toBe('sub_brl_grandfathered');
|
||||
expect(stripeHandlers.spies.updatedSubscriptionSchedules).toHaveLength(1);
|
||||
const scheduleUpdate = stripeHandlers.spies.updatedSubscriptionSchedules[0];
|
||||
expect(scheduleUpdate?.params.end_behavior).toBe('release');
|
||||
expect(scheduleUpdate?.params.proration_behavior).toBe('none');
|
||||
expect(scheduleUpdate?.params.phases).toHaveLength(2);
|
||||
expect(scheduleUpdate?.params.phases?.[0]?.end_date).toBe(String(subscriber.periodEnd));
|
||||
expect(scheduleUpdate?.params.phases?.[0]?.items?.[0]?.price).toBe(RETIRED_MONTHLY_BRL);
|
||||
expect(scheduleUpdate?.params.phases?.[1]?.start_date).toBe(String(subscriber.periodEnd));
|
||||
expect(scheduleUpdate?.params.phases?.[1]?.items?.[0]?.price).toBe(MOCK_PRICES.monthlyBrl);
|
||||
expect(scheduleUpdate?.params.phases?.[1]?.proration_behavior).toBe('none');
|
||||
expect(scheduleUpdate?.params.phases?.[1]?.billing_cycle_anchor).toBeUndefined();
|
||||
expect(scheduleUpdate?.params.phases?.[1]?.add_invoice_items).toBeUndefined();
|
||||
expect(stripeHandlers.spies.updatedSubscriptions).toHaveLength(0);
|
||||
expect(moneyMoves).toEqual([]);
|
||||
const me = await createBuilder<{
|
||||
premium_will_cancel: boolean;
|
||||
}>(harness, subscriber.token)
|
||||
.get('/users/@me')
|
||||
.execute();
|
||||
expect(me.premium_will_cancel).toBe(false);
|
||||
const state = await getPremiumState(subscriber);
|
||||
expect(state.billing.pending_subscription_change).toBeNull();
|
||||
expect(state.billing.list_price_switch).toEqual(
|
||||
expect.objectContaining({
|
||||
available: false,
|
||||
reason: null,
|
||||
pending: true,
|
||||
effective_at: new Date(subscriber.periodEnd * 1000).toISOString(),
|
||||
current_price_id: RETIRED_MONTHLY_BRL,
|
||||
current_amount_minor: RETIRED_MONTHLY_BRL_MINOR,
|
||||
list_price_id: MOCK_PRICES.monthlyBrl,
|
||||
list_amount_minor: LIST_MONTHLY_BRL_MINOR,
|
||||
currency: 'BRL',
|
||||
billing_cycle: 'monthly',
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
test('preserves the phase-level settings Stripe would otherwise unset on the live subscription', async () => {
|
||||
const subscriber = await createSubscriber({
|
||||
subscriptionId: 'sub_brl_phase_settings',
|
||||
priceId: RETIRED_MONTHLY_BRL,
|
||||
});
|
||||
const scheduleId = 'sub_sched_phase_settings';
|
||||
const richSchedule = {
|
||||
id: scheduleId,
|
||||
object: 'subscription_schedule',
|
||||
status: 'active',
|
||||
subscription: subscriber.subscriptionId,
|
||||
end_behavior: 'release',
|
||||
metadata: {},
|
||||
current_phase: {start_date: subscriber.periodStart, end_date: subscriber.periodEnd},
|
||||
phases: [
|
||||
{
|
||||
start_date: subscriber.periodStart,
|
||||
end_date: subscriber.periodEnd,
|
||||
currency: 'brl',
|
||||
collection_method: 'send_invoice',
|
||||
description: 'Grandfathered Plutonium',
|
||||
metadata: {campaign: 'brl_2026'},
|
||||
discounts: [{coupon: {id: 'co_grandfather_10'}, discount: null, promotion_code: null}],
|
||||
default_tax_rates: [{id: 'txr_br_icms'}],
|
||||
automatic_tax: {enabled: true, disabled_reason: null, liability: {type: 'self'}},
|
||||
invoice_settings: {account_tax_ids: null, days_until_due: 14, issuer: null},
|
||||
billing_cycle_anchor: 'automatic',
|
||||
add_invoice_items: [],
|
||||
items: [
|
||||
{
|
||||
price: RETIRED_MONTHLY_BRL,
|
||||
quantity: 1,
|
||||
metadata: {seat: 'primary'},
|
||||
discounts: [{coupon: null, discount: 'di_existing', promotion_code: null}],
|
||||
tax_rates: [{id: 'txr_br_iss'}],
|
||||
billing_thresholds: null,
|
||||
},
|
||||
],
|
||||
proration_behavior: 'none',
|
||||
},
|
||||
],
|
||||
livemode: false,
|
||||
created: Math.floor(Date.now() / 1000),
|
||||
};
|
||||
const scheduleUpdates: Array<Record<string, string>> = [];
|
||||
server.use(
|
||||
http.post('https://api.stripe.com/v1/subscription_schedules', () => HttpResponse.json(richSchedule)),
|
||||
http.post(`https://api.stripe.com/v1/subscription_schedules/${scheduleId}`, async ({request}) => {
|
||||
const formData = await request.formData();
|
||||
const entries: Record<string, string> = {};
|
||||
for (const [key, value] of formData.entries()) {
|
||||
entries[key] = String(value);
|
||||
}
|
||||
scheduleUpdates.push(entries);
|
||||
return HttpResponse.json(richSchedule);
|
||||
}),
|
||||
);
|
||||
const result = await switchToListPrice(subscriber);
|
||||
expect(result.status).toBe('scheduled');
|
||||
expect(scheduleUpdates).toHaveLength(1);
|
||||
const update = scheduleUpdates[0]!;
|
||||
expect(update['phases[0][items][0][price]']).toBe(RETIRED_MONTHLY_BRL);
|
||||
expect(update['phases[0][discounts][0][coupon]']).toBe('co_grandfather_10');
|
||||
expect(update['phases[0][default_tax_rates][0]']).toBe('txr_br_icms');
|
||||
expect(update['phases[0][items][0][tax_rates][0]']).toBe('txr_br_iss');
|
||||
expect(update['phases[0][items][0][discounts][0][discount]']).toBe('di_existing');
|
||||
expect(update['phases[0][items][0][metadata][seat]']).toBe('primary');
|
||||
expect(update['phases[0][metadata][campaign]']).toBe('brl_2026');
|
||||
expect(update['phases[0][collection_method]']).toBe('send_invoice');
|
||||
expect(update['phases[0][description]']).toBe('Grandfathered Plutonium');
|
||||
expect(update['phases[0][currency]']).toBe('brl');
|
||||
expect(update['phases[0][automatic_tax][enabled]']).toBe('true');
|
||||
expect(update['phases[0][automatic_tax][liability][type]']).toBe('self');
|
||||
expect(update['phases[0][invoice_settings][days_until_due]']).toBe('14');
|
||||
expect(update['phases[0][billing_cycle_anchor]']).toBe('automatic');
|
||||
expect(update['phases[0][end_date]']).toBe(String(subscriber.periodEnd));
|
||||
expect(update['phases[1][items][0][price]']).toBe(MOCK_PRICES.monthlyBrl);
|
||||
expect(update['phases[1][discounts][0][coupon]']).toBeUndefined();
|
||||
});
|
||||
|
||||
test('refuses to move a subscriber up to a more expensive list price', async () => {
|
||||
const subscriber = await createSubscriber({
|
||||
subscriptionId: 'sub_brl_below_list',
|
||||
priceId: RETIRED_CHEAP_MONTHLY_BRL,
|
||||
});
|
||||
await expectRefusal(subscriber, 'not_a_price_decrease');
|
||||
expectNoStripeWrites();
|
||||
});
|
||||
|
||||
test('refuses a subscriber who is cancelling at period end', async () => {
|
||||
const periodStart = Math.floor(Date.now() / 1000) - 3 * 24 * 60 * 60;
|
||||
const periodEnd = periodStart + 30 * 24 * 60 * 60;
|
||||
const subscriber = await createSubscriber({
|
||||
subscriptionId: 'sub_brl_cancel_at_period_end',
|
||||
priceId: RETIRED_MONTHLY_BRL,
|
||||
cancelAtPeriodEnd: true,
|
||||
periodStart,
|
||||
periodEnd,
|
||||
});
|
||||
await expectRefusal(subscriber, 'subscription_cancelling');
|
||||
expectNoStripeWrites();
|
||||
const me = await createBuilder<{
|
||||
premium_will_cancel: boolean;
|
||||
}>(harness, subscriber.token)
|
||||
.get('/users/@me')
|
||||
.execute();
|
||||
expect(me.premium_will_cancel).toBe(true);
|
||||
});
|
||||
|
||||
test('refuses a subscriber who is cancelling on an explicit cancel_at date', async () => {
|
||||
const periodStart = Math.floor(Date.now() / 1000) - 3 * 24 * 60 * 60;
|
||||
const periodEnd = periodStart + 30 * 24 * 60 * 60;
|
||||
const subscriber = await createSubscriber({
|
||||
subscriptionId: 'sub_brl_cancel_at',
|
||||
priceId: RETIRED_MONTHLY_BRL,
|
||||
cancelAt: periodEnd,
|
||||
cancelAtPeriodEnd: false,
|
||||
periodStart,
|
||||
periodEnd,
|
||||
});
|
||||
await expectRefusal(subscriber, 'subscription_cancelling');
|
||||
expectNoStripeWrites();
|
||||
const me = await createBuilder<{
|
||||
premium_will_cancel: boolean;
|
||||
}>(harness, subscriber.token)
|
||||
.get('/users/@me')
|
||||
.execute();
|
||||
expect(me.premium_will_cancel).toBe(true);
|
||||
});
|
||||
|
||||
test('is idempotent and reports an already scheduled switch on the second call', async () => {
|
||||
const subscriber = await createSubscriber({
|
||||
subscriptionId: 'sub_brl_idempotent',
|
||||
priceId: RETIRED_MONTHLY_BRL,
|
||||
});
|
||||
const first = await switchToListPrice(subscriber);
|
||||
expect(first.status).toBe('scheduled');
|
||||
const second = await switchToListPrice(subscriber);
|
||||
expect(second).toEqual({
|
||||
status: 'already_scheduled',
|
||||
effective_at: new Date(subscriber.periodEnd * 1000).toISOString(),
|
||||
target_price_id: MOCK_PRICES.monthlyBrl,
|
||||
target_amount_minor: LIST_MONTHLY_BRL_MINOR,
|
||||
current_amount_minor: RETIRED_MONTHLY_BRL_MINOR,
|
||||
currency: 'BRL',
|
||||
});
|
||||
expect(stripeHandlers.spies.createdSubscriptionSchedules).toHaveLength(1);
|
||||
expect(stripeHandlers.spies.updatedSubscriptionSchedules).toHaveLength(1);
|
||||
});
|
||||
|
||||
test('refuses a retired price that costs exactly the same as the list price', async () => {
|
||||
const subscriber = await createSubscriber({
|
||||
subscriptionId: 'sub_brl_equal_price',
|
||||
priceId: RETIRED_EQUAL_MONTHLY_BRL,
|
||||
});
|
||||
await expectRefusal(subscriber, 'not_a_price_decrease');
|
||||
expectNoStripeWrites();
|
||||
});
|
||||
|
||||
test('lets a scheduled switch be withdrawn again and restores eligibility', async () => {
|
||||
const subscriber = await createSubscriber({
|
||||
subscriptionId: 'sub_brl_withdrawn',
|
||||
priceId: RETIRED_MONTHLY_BRL,
|
||||
});
|
||||
expect((await switchToListPrice(subscriber)).status).toBe('scheduled');
|
||||
await createBuilder(harness, subscriber.token)
|
||||
.post('/premium/cancel-pending-subscription-change')
|
||||
.expect(204)
|
||||
.execute();
|
||||
expect(stripeHandlers.spies.releasedSubscriptionSchedules).toHaveLength(1);
|
||||
expect(stripeHandlers.spies.releasedSubscriptionSchedules[0]?.params.preserve_cancel_date).toBe('false');
|
||||
const state = await getPremiumState(subscriber);
|
||||
expect(state.billing.pending_subscription_change).toBeNull();
|
||||
expect(state.billing.list_price_switch).toEqual(
|
||||
expect.objectContaining({
|
||||
available: true,
|
||||
reason: null,
|
||||
pending: false,
|
||||
current_price_id: RETIRED_MONTHLY_BRL,
|
||||
current_amount_minor: RETIRED_MONTHLY_BRL_MINOR,
|
||||
list_price_id: MOCK_PRICES.monthlyBrl,
|
||||
list_amount_minor: LIST_MONTHLY_BRL_MINOR,
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
test('refuses a subscriber who is already on the current list price', async () => {
|
||||
const subscriber = await createSubscriber({
|
||||
subscriptionId: 'sub_brl_on_list_price',
|
||||
priceId: MOCK_PRICES.monthlyBrl,
|
||||
});
|
||||
await expectRefusal(subscriber, 'already_on_list_price');
|
||||
expectNoStripeWrites();
|
||||
});
|
||||
|
||||
test('refuses a currency that has no configured list price', async () => {
|
||||
const subscriber = await createSubscriber({
|
||||
subscriptionId: 'sub_try_unconfigured',
|
||||
priceId: RETIRED_MONTHLY_TRY,
|
||||
});
|
||||
await expectRefusal(subscriber, 'no_list_price');
|
||||
expectNoStripeWrites();
|
||||
});
|
||||
|
||||
test('refuses a subscription that is not chargeable', async () => {
|
||||
const subscriber = await createSubscriber({
|
||||
subscriptionId: 'sub_brl_past_due',
|
||||
priceId: RETIRED_MONTHLY_BRL,
|
||||
status: 'past_due',
|
||||
});
|
||||
await expectRefusal(subscriber, 'subscription_not_chargeable');
|
||||
expectNoStripeWrites();
|
||||
});
|
||||
|
||||
test('refuses a subscriber whose cancellation is managed by a subscription schedule', async () => {
|
||||
const subscriber = await createSubscriber({
|
||||
subscriptionId: 'sub_brl_schedule_cancel',
|
||||
priceId: RETIRED_MONTHLY_BRL,
|
||||
});
|
||||
await createBuilder(harness, subscriber.token)
|
||||
.post('/premium/change-subscription')
|
||||
.body({billing_cycle: 'yearly', effective_at: 'period_end'})
|
||||
.expect(204)
|
||||
.execute();
|
||||
await createBuilder(harness, subscriber.token).post('/premium/cancel-subscription').expect(204).execute();
|
||||
stripeHandlers.spies.updatedSubscriptions.length = 0;
|
||||
stripeHandlers.spies.createdSubscriptionSchedules.length = 0;
|
||||
stripeHandlers.spies.updatedSubscriptionSchedules.length = 0;
|
||||
stripeHandlers.spies.releasedSubscriptionSchedules.length = 0;
|
||||
const result = await switchToListPrice(subscriber);
|
||||
expect(result).toEqual({status: 'ineligible', reason: 'subscription_cancelling'});
|
||||
expectNoStripeWrites();
|
||||
const me = await createBuilder<{
|
||||
premium_will_cancel: boolean;
|
||||
}>(harness, subscriber.token)
|
||||
.get('/users/@me')
|
||||
.execute();
|
||||
expect(me.premium_will_cancel).toBe(true);
|
||||
});
|
||||
|
||||
test('refuses when a billing cycle change is already pending', async () => {
|
||||
const subscriber = await createSubscriber({
|
||||
subscriptionId: 'sub_brl_pending_cycle_change',
|
||||
priceId: RETIRED_MONTHLY_BRL,
|
||||
});
|
||||
await createBuilder(harness, subscriber.token)
|
||||
.post('/premium/change-subscription')
|
||||
.body({billing_cycle: 'yearly', effective_at: 'period_end'})
|
||||
.expect(204)
|
||||
.execute();
|
||||
stripeHandlers.spies.updatedSubscriptions.length = 0;
|
||||
stripeHandlers.spies.createdSubscriptionSchedules.length = 0;
|
||||
stripeHandlers.spies.updatedSubscriptionSchedules.length = 0;
|
||||
await expectRefusal(subscriber, 'conflicting_pending_change');
|
||||
expectNoStripeWrites();
|
||||
});
|
||||
|
||||
test('rejects a user without an active subscription and mirrors that in premium state', async () => {
|
||||
const account = await createTestAccount(harness);
|
||||
await createBuilder(harness, account.token)
|
||||
.post('/premium/switch-to-list-price')
|
||||
.expect(400, APIErrorCodes.STRIPE_NO_ACTIVE_SUBSCRIPTION)
|
||||
.execute();
|
||||
const state = await createBuilder<PremiumStateResponse>(harness, account.token)
|
||||
.get('/premium/state')
|
||||
.expect(200)
|
||||
.execute();
|
||||
expect(state.billing.list_price_switch.available).toBe(false);
|
||||
expect(state.billing.list_price_switch.reason).toBe('no_active_subscription');
|
||||
expectNoStripeWrites();
|
||||
});
|
||||
});
|
||||
|
||||
describe('POST /premium/change-subscription (unchanged behaviour)', () => {
|
||||
test('still clears a pending cancellation and re-anchors billing when the cycle actually changes', async () => {
|
||||
const periodStart = Math.floor(Date.now() / 1000) - 3 * 24 * 60 * 60;
|
||||
const periodEnd = periodStart + 30 * 24 * 60 * 60;
|
||||
const subscriber = await createSubscriber({
|
||||
subscriptionId: 'sub_brl_cycle_change',
|
||||
priceId: RETIRED_MONTHLY_BRL,
|
||||
cancelAt: periodEnd,
|
||||
cancelAtPeriodEnd: false,
|
||||
periodStart,
|
||||
periodEnd,
|
||||
});
|
||||
await createBuilder(harness, subscriber.token)
|
||||
.post('/premium/change-subscription')
|
||||
.body({billing_cycle: 'yearly', effective_at: 'period_end'})
|
||||
.expect(204)
|
||||
.execute();
|
||||
expect(stripeHandlers.spies.updatedSubscriptions).toHaveLength(1);
|
||||
const clearCancelUpdate = stripeHandlers.spies.updatedSubscriptions[0];
|
||||
expect(clearCancelUpdate?.id).toBe('sub_brl_cycle_change');
|
||||
expect(clearCancelUpdate?.params.cancel_at).toBe('');
|
||||
expect(clearCancelUpdate?.params.proration_behavior).toBe('none');
|
||||
expect(clearCancelUpdate?.params.items).toBeUndefined();
|
||||
expect(stripeHandlers.spies.updatedSubscriptionSchedules).toHaveLength(1);
|
||||
const scheduleUpdate = stripeHandlers.spies.updatedSubscriptionSchedules[0];
|
||||
expect(scheduleUpdate?.params.end_behavior).toBe('release');
|
||||
expect(scheduleUpdate?.params.phases?.[1]?.start_date).toBe(String(periodEnd));
|
||||
expect(scheduleUpdate?.params.phases?.[1]?.billing_cycle_anchor).toBe('phase_start');
|
||||
expect(scheduleUpdate?.params.phases?.[1]?.items?.[0]?.price).toBe(MOCK_PRICES.yearlyBrl);
|
||||
const me = await createBuilder<{
|
||||
premium_will_cancel: boolean;
|
||||
}>(harness, subscriber.token)
|
||||
.get('/users/@me')
|
||||
.execute();
|
||||
expect(me.premium_will_cancel).toBe(false);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -4,12 +4,14 @@ import crypto from 'node:crypto';
|
||||
import {APIErrorCodes} from '@fluxer/constants/src/ApiErrorCodes';
|
||||
import {UserPremiumTypes} from '@fluxer/constants/src/UserConstants';
|
||||
import {HttpResponse, http} from 'msw';
|
||||
import {afterAll, afterEach, beforeAll, beforeEach, describe, expect, test} from 'vitest';
|
||||
import {afterAll, afterEach, beforeAll, beforeEach, describe, expect, test, vi} from 'vitest';
|
||||
import {createTestAccount} from '../../auth/tests/AuthTestUtils';
|
||||
import {createUserID} from '../../BrandedTypes';
|
||||
import {Config} from '../../Config';
|
||||
import {Logger} from '../../Logger';
|
||||
import {getBillingRepository} from '../../middleware/ServiceRegistry';
|
||||
import {type ApiTestHarness, createApiTestHarness} from '../../test/ApiTestHarness';
|
||||
import {NoopLogger} from '../../test/mocks/NoopLogger';
|
||||
import {
|
||||
createInvoiceFinalizationFailedEvent,
|
||||
createInvoicePaidEvent,
|
||||
@@ -41,16 +43,24 @@ const MOCK_PRICES = {
|
||||
gift1YearEur: 'price_gift_1_year_eur',
|
||||
};
|
||||
|
||||
const LEGACY_MONTHLY_BRL_PRICE = 'price_legacy_monthly_brl';
|
||||
const LEGACY_YEARLY_BRL_PRICE = 'price_legacy_yearly_brl';
|
||||
const UNMAPPED_PRICE = 'price_retired_unmapped_brl';
|
||||
const MANDATE_REVOKED_WARNING =
|
||||
'Stripe mandate is no longer active; recurring payments on this payment method will fail';
|
||||
|
||||
describe('Stripe Webhook - Invoice Events', () => {
|
||||
let harness: ApiTestHarness;
|
||||
let stripeHandlers: StripeApiHandlers;
|
||||
let originalWebhookSecret: string | undefined;
|
||||
let originalPrices: typeof Config.stripe.prices | undefined;
|
||||
let originalLegacyPrices: typeof Config.stripe.legacyPrices | undefined;
|
||||
beforeAll(async () => {
|
||||
harness = await createApiTestHarness();
|
||||
setupSyncStripeWebhookWorker();
|
||||
originalWebhookSecret = Config.stripe.webhookSecret;
|
||||
originalPrices = Config.stripe.prices;
|
||||
originalLegacyPrices = Config.stripe.legacyPrices;
|
||||
Config.stripe.webhookSecret = 'whsec_test_secret';
|
||||
Config.stripe.prices = MOCK_PRICES;
|
||||
stripeHandlers = createStripeApiHandlers();
|
||||
@@ -60,9 +70,11 @@ describe('Stripe Webhook - Invoice Events', () => {
|
||||
await harness.shutdown();
|
||||
Config.stripe.webhookSecret = originalWebhookSecret;
|
||||
Config.stripe.prices = originalPrices;
|
||||
Config.stripe.legacyPrices = originalLegacyPrices;
|
||||
});
|
||||
beforeEach(async () => {
|
||||
await harness.resetData();
|
||||
Config.stripe.legacyPrices = undefined;
|
||||
stripeHandlers.reset();
|
||||
server.use(...stripeHandlers.handlers);
|
||||
});
|
||||
@@ -104,7 +116,7 @@ describe('Stripe Webhook - Invoice Events', () => {
|
||||
subscriptionId: string;
|
||||
priceId: string;
|
||||
productType: string;
|
||||
}): Promise<void> {
|
||||
}): Promise<string> {
|
||||
const {userId, subscriptionId, priceId, productType} = params;
|
||||
const checkoutSessionId = `cs_test_${crypto.randomUUID()}`;
|
||||
const {PaymentRepository} = await import('../../user/repositories/PaymentRepository');
|
||||
@@ -127,6 +139,7 @@ describe('Stripe Webhook - Invoice Events', () => {
|
||||
currency: 'usd',
|
||||
completed_at: new Date(),
|
||||
});
|
||||
return checkoutSessionId;
|
||||
}
|
||||
async function setSubscriptionUserState(params: {
|
||||
accountUserId: string;
|
||||
@@ -856,4 +869,365 @@ describe('Stripe Webhook - Invoice Events', () => {
|
||||
expect(me.premium_until).not.toBeNull();
|
||||
});
|
||||
});
|
||||
describe('renewals on retired prices', () => {
|
||||
test('renews a subscription whose price is only known to the legacy price map', async () => {
|
||||
Config.stripe.legacyPrices = {monthly_brl: [LEGACY_MONTHLY_BRL_PRICE]};
|
||||
const account = await createTestAccount(harness);
|
||||
const subscriptionId = 'sub_legacy_brl_renewal';
|
||||
const customerId = 'cus_legacy_brl_renewal';
|
||||
const invoiceId = 'in_legacy_brl_renewal';
|
||||
const checkoutSessionId = await createPaymentRecord({
|
||||
userId: account.userId,
|
||||
subscriptionId,
|
||||
priceId: LEGACY_MONTHLY_BRL_PRICE,
|
||||
productType: ProductType.MONTHLY_SUBSCRIPTION,
|
||||
});
|
||||
const currentPeriodStart = Math.floor(Date.now() / 1000) - 2 * 24 * 60 * 60;
|
||||
server.use(
|
||||
...createStripeApiHandlers({
|
||||
subscriptions: {
|
||||
[subscriptionId]: {
|
||||
customer: customerId,
|
||||
price_id: LEGACY_MONTHLY_BRL_PRICE,
|
||||
currency: 'brl',
|
||||
interval: 'month',
|
||||
item_id: 'si_legacy_brl_renewal',
|
||||
current_period_start: currentPeriodStart,
|
||||
current_period_end: currentPeriodStart + 30 * 24 * 60 * 60,
|
||||
},
|
||||
},
|
||||
}).handlers,
|
||||
);
|
||||
const result = await sendWebhook({
|
||||
type: 'invoice.payment_succeeded',
|
||||
data: {
|
||||
object: {
|
||||
id: invoiceId,
|
||||
billing_reason: 'subscription_cycle',
|
||||
customer: customerId,
|
||||
parent: {subscription_details: {subscription: subscriptionId}},
|
||||
},
|
||||
},
|
||||
});
|
||||
expect(result.received).toBe(true);
|
||||
const me = await createBuilder<{
|
||||
premium_billing_cycle: string | null;
|
||||
premium_type: number | null;
|
||||
premium_until: string | null;
|
||||
}>(harness, account.token)
|
||||
.get('/users/@me')
|
||||
.execute();
|
||||
expect(me.premium_type).toBe(UserPremiumTypes.SUBSCRIPTION);
|
||||
expect(me.premium_billing_cycle).toBe('monthly');
|
||||
expect(me.premium_until).not.toBeNull();
|
||||
expect(new Date(me.premium_until!).toISOString()).toBe(
|
||||
new Date((currentPeriodStart + 30 * 24 * 60 * 60) * 1000).toISOString(),
|
||||
);
|
||||
const {PaymentRepository} = await import('../../user/repositories/PaymentRepository');
|
||||
const payment = await new PaymentRepository().getPaymentByCheckoutSession(checkoutSessionId);
|
||||
expect(payment?.invoiceId).toBe(invoiceId);
|
||||
});
|
||||
test('renews a subscription whose retired price sits in a legacy slot alongside other price ids', async () => {
|
||||
Config.stripe.legacyPrices = {
|
||||
monthly_brl: ['price_legacy_monthly_brl_older', LEGACY_MONTHLY_BRL_PRICE],
|
||||
yearly_brl: [LEGACY_YEARLY_BRL_PRICE],
|
||||
};
|
||||
const account = await createTestAccount(harness);
|
||||
const subscriptionId = 'sub_legacy_brl_yearly_renewal';
|
||||
const customerId = 'cus_legacy_brl_yearly_renewal';
|
||||
await createPaymentRecord({
|
||||
userId: account.userId,
|
||||
subscriptionId,
|
||||
priceId: LEGACY_YEARLY_BRL_PRICE,
|
||||
productType: ProductType.YEARLY_SUBSCRIPTION,
|
||||
});
|
||||
const currentPeriodStart = Math.floor(Date.now() / 1000) - 2 * 24 * 60 * 60;
|
||||
server.use(
|
||||
...createStripeApiHandlers({
|
||||
subscriptions: {
|
||||
[subscriptionId]: {
|
||||
customer: customerId,
|
||||
price_id: LEGACY_YEARLY_BRL_PRICE,
|
||||
currency: 'brl',
|
||||
interval: 'year',
|
||||
item_id: 'si_legacy_brl_yearly_renewal',
|
||||
current_period_start: currentPeriodStart,
|
||||
current_period_end: currentPeriodStart + 365 * 24 * 60 * 60,
|
||||
},
|
||||
},
|
||||
}).handlers,
|
||||
);
|
||||
const result = await sendWebhook({
|
||||
type: 'invoice.payment_succeeded',
|
||||
data: {
|
||||
object: {
|
||||
id: 'in_legacy_brl_yearly_renewal',
|
||||
billing_reason: 'subscription_cycle',
|
||||
customer: customerId,
|
||||
parent: {subscription_details: {subscription: subscriptionId}},
|
||||
},
|
||||
},
|
||||
});
|
||||
expect(result.received).toBe(true);
|
||||
const me = await createBuilder<{
|
||||
premium_billing_cycle: string | null;
|
||||
premium_type: number | null;
|
||||
premium_until: string | null;
|
||||
}>(harness, account.token)
|
||||
.get('/users/@me')
|
||||
.execute();
|
||||
expect(me.premium_type).toBe(UserPremiumTypes.SUBSCRIPTION);
|
||||
expect(me.premium_billing_cycle).toBe('yearly');
|
||||
expect(new Date(me.premium_until!).toISOString()).toBe(
|
||||
new Date((currentPeriodStart + 365 * 24 * 60 * 60) * 1000).toISOString(),
|
||||
);
|
||||
});
|
||||
test('still rejects a renewal whose price is in neither the configured nor the legacy price map', async () => {
|
||||
Config.stripe.legacyPrices = {monthly_brl: [LEGACY_MONTHLY_BRL_PRICE]};
|
||||
const account = await createTestAccount(harness);
|
||||
const subscriptionId = 'sub_unmapped_price_renewal';
|
||||
const customerId = 'cus_unmapped_price_renewal';
|
||||
await createPaymentRecord({
|
||||
userId: account.userId,
|
||||
subscriptionId,
|
||||
priceId: UNMAPPED_PRICE,
|
||||
productType: ProductType.MONTHLY_SUBSCRIPTION,
|
||||
});
|
||||
await createBuilder(harness, account.token)
|
||||
.post(`/test/users/${account.userId}/premium`)
|
||||
.body({
|
||||
stripe_subscription_id: subscriptionId,
|
||||
stripe_customer_id: customerId,
|
||||
})
|
||||
.execute();
|
||||
const currentPeriodStart = Math.floor(Date.now() / 1000) - 2 * 24 * 60 * 60;
|
||||
server.use(
|
||||
...createStripeApiHandlers({
|
||||
subscriptions: {
|
||||
[subscriptionId]: {
|
||||
customer: customerId,
|
||||
price_id: UNMAPPED_PRICE,
|
||||
currency: 'brl',
|
||||
interval: 'month',
|
||||
item_id: 'si_unmapped_price_renewal',
|
||||
current_period_start: currentPeriodStart,
|
||||
current_period_end: currentPeriodStart + 30 * 24 * 60 * 60,
|
||||
},
|
||||
},
|
||||
}).handlers,
|
||||
);
|
||||
await sendWebhookExpectStripeError({
|
||||
type: 'invoice.payment_succeeded',
|
||||
data: {
|
||||
object: {
|
||||
id: 'in_unmapped_price_renewal',
|
||||
billing_reason: 'subscription_cycle',
|
||||
customer: customerId,
|
||||
parent: {subscription_details: {subscription: subscriptionId}},
|
||||
},
|
||||
},
|
||||
});
|
||||
const me = await createBuilder<{
|
||||
premium_type: number | null;
|
||||
premium_until: string | null;
|
||||
}>(harness, account.token)
|
||||
.get('/users/@me')
|
||||
.execute();
|
||||
expect(me.premium_type).toBe(UserPremiumTypes.NONE);
|
||||
expect(me.premium_until).toBeNull();
|
||||
});
|
||||
test('lets an authored price win over a legacy entry that claims the same price id', async () => {
|
||||
Config.stripe.legacyPrices = {yearly_brl: [MOCK_PRICES.monthlyUsd]};
|
||||
const account = await createTestAccount(harness);
|
||||
const subscriptionId = 'sub_authored_wins_over_legacy';
|
||||
await createPaymentRecord({
|
||||
userId: account.userId,
|
||||
subscriptionId,
|
||||
priceId: MOCK_PRICES.monthlyUsd,
|
||||
productType: ProductType.MONTHLY_SUBSCRIPTION,
|
||||
});
|
||||
const result = await sendWebhook({
|
||||
type: 'invoice.payment_succeeded',
|
||||
data: {
|
||||
object: {
|
||||
id: 'in_authored_wins_over_legacy',
|
||||
billing_reason: 'subscription_cycle',
|
||||
parent: {subscription_details: {subscription: subscriptionId}},
|
||||
},
|
||||
},
|
||||
});
|
||||
expect(result.received).toBe(true);
|
||||
const me = await createBuilder<{
|
||||
premium_billing_cycle: string | null;
|
||||
premium_type: number | null;
|
||||
}>(harness, account.token)
|
||||
.get('/users/@me')
|
||||
.execute();
|
||||
expect(me.premium_type).toBe(UserPremiumTypes.SUBSCRIPTION);
|
||||
expect(me.premium_billing_cycle).toBe('monthly');
|
||||
});
|
||||
});
|
||||
describe('donation subscription guard', () => {
|
||||
test('does not extend premium for an invoice on a donation subscription', async () => {
|
||||
const account = await createTestAccount(harness);
|
||||
const subscriptionId = 'sub_donation_recurring';
|
||||
await createPaymentRecord({
|
||||
userId: account.userId,
|
||||
subscriptionId,
|
||||
priceId: MOCK_PRICES.monthlyUsd,
|
||||
productType: ProductType.MONTHLY_SUBSCRIPTION,
|
||||
});
|
||||
const {DonationRepository} = await import('../../donation/DonationRepository');
|
||||
await new DonationRepository().createDonor({
|
||||
email: '[email protected]',
|
||||
stripeCustomerId: 'cus_donation_recurring',
|
||||
stripeSubscriptionId: subscriptionId,
|
||||
subscriptionAmountCents: 1000,
|
||||
subscriptionCurrency: 'usd',
|
||||
subscriptionInterval: 'month',
|
||||
subscriptionCurrentPeriodEnd: null,
|
||||
});
|
||||
const result = await sendWebhook({
|
||||
type: 'invoice.payment_succeeded',
|
||||
data: {
|
||||
object: {
|
||||
id: 'in_donation_recurring',
|
||||
billing_reason: 'subscription_cycle',
|
||||
customer: 'cus_donation_recurring',
|
||||
parent: {subscription_details: {subscription: subscriptionId}},
|
||||
},
|
||||
},
|
||||
});
|
||||
expect(result.received).toBe(true);
|
||||
const me = await createBuilder<{
|
||||
premium_type: number | null;
|
||||
premium_until: string | null;
|
||||
}>(harness, account.token)
|
||||
.get('/users/@me')
|
||||
.execute();
|
||||
expect(me.premium_type).toBe(UserPremiumTypes.NONE);
|
||||
expect(me.premium_until).toBeNull();
|
||||
});
|
||||
test('still renews when only the donor customer id matches and the subscription id does not', async () => {
|
||||
const account = await createTestAccount(harness);
|
||||
const sharedCustomerId = 'cus_donor_and_subscriber';
|
||||
const premiumSubscriptionId = 'sub_premium_beside_donation';
|
||||
await createPaymentRecord({
|
||||
userId: account.userId,
|
||||
subscriptionId: premiumSubscriptionId,
|
||||
priceId: MOCK_PRICES.monthlyUsd,
|
||||
productType: ProductType.MONTHLY_SUBSCRIPTION,
|
||||
});
|
||||
const {DonationRepository} = await import('../../donation/DonationRepository');
|
||||
await new DonationRepository().createDonor({
|
||||
email: '[email protected]',
|
||||
stripeCustomerId: sharedCustomerId,
|
||||
stripeSubscriptionId: 'sub_donation_beside_premium',
|
||||
subscriptionAmountCents: 1000,
|
||||
subscriptionCurrency: 'usd',
|
||||
subscriptionInterval: 'month',
|
||||
subscriptionCurrentPeriodEnd: null,
|
||||
});
|
||||
const result = await sendWebhook({
|
||||
type: 'invoice.payment_succeeded',
|
||||
data: {
|
||||
object: {
|
||||
id: 'in_premium_beside_donation',
|
||||
billing_reason: 'subscription_cycle',
|
||||
customer: sharedCustomerId,
|
||||
parent: {subscription_details: {subscription: premiumSubscriptionId}},
|
||||
},
|
||||
},
|
||||
});
|
||||
expect(result.received).toBe(true);
|
||||
const me = await createBuilder<{
|
||||
premium_type: number | null;
|
||||
premium_until: string | null;
|
||||
}>(harness, account.token)
|
||||
.get('/users/@me')
|
||||
.execute();
|
||||
expect(me.premium_type).toBe(UserPremiumTypes.SUBSCRIPTION);
|
||||
expect(me.premium_until).not.toBeNull();
|
||||
});
|
||||
});
|
||||
describe('mandate.updated', () => {
|
||||
function captureLoggerWarnings(): {
|
||||
messages: Array<unknown>;
|
||||
restore: () => void;
|
||||
} {
|
||||
const activeLogger = Logger.child({}) as unknown as NoopLogger;
|
||||
expect(activeLogger).toBeInstanceOf(NoopLogger);
|
||||
const messages: Array<unknown> = [];
|
||||
const spy = vi.spyOn(activeLogger, 'warn').mockImplementation((...args: Array<unknown>) => {
|
||||
messages.push(args[args.length - 1]);
|
||||
});
|
||||
return {messages, restore: () => spy.mockRestore()};
|
||||
}
|
||||
function revocationWarnings(messages: Array<unknown>): Array<unknown> {
|
||||
return messages.filter((message) => message === MANDATE_REVOKED_WARNING);
|
||||
}
|
||||
test('logs the revocation warning and leaves premium untouched when a mandate goes inactive', async () => {
|
||||
const account = await createTestAccount(harness);
|
||||
const premiumUntil = new Date(Date.now() + 30 * 24 * 60 * 60 * 1000);
|
||||
await createBuilder(harness, account.token)
|
||||
.post(`/test/users/${account.userId}/premium`)
|
||||
.body({
|
||||
premium_type: UserPremiumTypes.SUBSCRIPTION,
|
||||
premium_until: premiumUntil.toISOString(),
|
||||
stripe_subscription_id: 'sub_pix_mandate',
|
||||
stripe_customer_id: 'cus_pix_mandate',
|
||||
})
|
||||
.execute();
|
||||
const warnings = captureLoggerWarnings();
|
||||
try {
|
||||
const result = await sendWebhook({
|
||||
type: 'mandate.updated',
|
||||
data: {
|
||||
object: {
|
||||
id: 'mandate_test_inactive',
|
||||
object: 'mandate',
|
||||
status: 'inactive',
|
||||
payment_method: 'pm_pix_mandate',
|
||||
type: 'multi_use',
|
||||
},
|
||||
},
|
||||
});
|
||||
expect(result.received).toBe(true);
|
||||
expect(revocationWarnings(warnings.messages)).toHaveLength(1);
|
||||
} finally {
|
||||
warnings.restore();
|
||||
}
|
||||
const me = await createBuilder<{
|
||||
premium_type: number | null;
|
||||
premium_until: string | null;
|
||||
}>(harness, account.token)
|
||||
.get('/users/@me')
|
||||
.execute();
|
||||
expect(me.premium_type).toBe(UserPremiumTypes.SUBSCRIPTION);
|
||||
expect(me.premium_until).toBe(premiumUntil.toISOString());
|
||||
});
|
||||
test('does not log the revocation warning for a pending or still-active mandate', async () => {
|
||||
const warnings = captureLoggerWarnings();
|
||||
try {
|
||||
for (const status of ['pending', 'active'] as const) {
|
||||
const result = await sendWebhook({
|
||||
type: 'mandate.updated',
|
||||
data: {
|
||||
object: {
|
||||
id: `mandate_test_${status}`,
|
||||
object: 'mandate',
|
||||
status,
|
||||
payment_method: {id: 'pm_pix_mandate', object: 'payment_method', type: 'pix'},
|
||||
type: 'multi_use',
|
||||
},
|
||||
},
|
||||
});
|
||||
expect(result.received).toBe(true);
|
||||
}
|
||||
expect(revocationWarnings(warnings.messages)).toHaveLength(0);
|
||||
} finally {
|
||||
warnings.restore();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -49,14 +49,14 @@ describe('Stripe Webhook Refund', () => {
|
||||
.body(payload)
|
||||
.execute();
|
||||
}
|
||||
function useRefundListHandler(chargeId: string): void {
|
||||
function useRefundListHandler(chargeId: string, refunds: Array<Record<string, unknown>> = []): void {
|
||||
server.use(
|
||||
http.get(
|
||||
({request}) => request.url === `https://api.stripe.com/v1/refunds?charge=${chargeId}&limit=100`,
|
||||
() =>
|
||||
HttpResponse.json({
|
||||
object: 'list',
|
||||
data: [],
|
||||
data: refunds,
|
||||
has_more: false,
|
||||
url: '/v1/refunds',
|
||||
}),
|
||||
@@ -155,6 +155,366 @@ describe('Stripe Webhook Refund', () => {
|
||||
expect(updatedPayment).not.toBeNull();
|
||||
expect(updatedPayment!.status).toBe('refunded');
|
||||
});
|
||||
test('counts a refund once when the same charge.refunded event is redelivered', async () => {
|
||||
const account = await createTestAccount(harness);
|
||||
const userId = createUserID(BigInt(account.userId));
|
||||
const {PaymentRepository} = await import('../../user/repositories/PaymentRepository');
|
||||
const {UserRepository} = await import('../../user/repositories/UserRepository');
|
||||
const paymentRepository = new PaymentRepository();
|
||||
const userRepository = new UserRepository();
|
||||
const paymentIntentId = 'pi_test_refund_retry_123';
|
||||
const checkoutSessionId = 'cs_test_refund_retry_123';
|
||||
const chargeId = 'ch_test_refund_retry_123';
|
||||
await paymentRepository.createPayment({
|
||||
checkout_session_id: checkoutSessionId,
|
||||
user_id: userId,
|
||||
price_id: 'price_test_monthly',
|
||||
product_type: 'monthly_subscription',
|
||||
status: 'completed',
|
||||
is_gift: false,
|
||||
created_at: new Date(),
|
||||
});
|
||||
await paymentRepository.updatePayment({
|
||||
checkout_session_id: checkoutSessionId,
|
||||
payment_intent_id: paymentIntentId,
|
||||
completed_at: new Date(),
|
||||
});
|
||||
useRefundListHandler(chargeId, [
|
||||
{
|
||||
id: 're_test_refund_retry_123',
|
||||
object: 'refund',
|
||||
charge: chargeId,
|
||||
payment_intent: paymentIntentId,
|
||||
amount: 2500,
|
||||
currency: 'brl',
|
||||
status: 'succeeded',
|
||||
created: Math.floor(Date.now() / 1000),
|
||||
metadata: {},
|
||||
},
|
||||
]);
|
||||
const chargeEvent = {
|
||||
type: 'charge.refunded' as const,
|
||||
data: {
|
||||
object: {
|
||||
id: chargeId,
|
||||
payment_intent: paymentIntentId,
|
||||
amount_refunded: 2500,
|
||||
},
|
||||
},
|
||||
};
|
||||
await sendWebhook({...chargeEvent, id: 'evt_test_refund_retry_1'});
|
||||
await sendWebhook({...chargeEvent, id: 'evt_test_refund_retry_2'});
|
||||
const updatedUser = await userRepository.findUnique(userId);
|
||||
expect(updatedUser!.firstRefundAt).not.toBeNull();
|
||||
expect(updatedUser!.premiumFlags & PremiumFlags.PURCHASE_DISABLED).toBe(0);
|
||||
});
|
||||
test('counts a refund once when charge.refunded lands before the refund record exists', async () => {
|
||||
const account = await createTestAccount(harness);
|
||||
const userId = createUserID(BigInt(account.userId));
|
||||
const {PaymentRepository} = await import('../../user/repositories/PaymentRepository');
|
||||
const {UserRepository} = await import('../../user/repositories/UserRepository');
|
||||
const paymentRepository = new PaymentRepository();
|
||||
const userRepository = new UserRepository();
|
||||
const paymentIntentId = 'pi_test_refund_late_record';
|
||||
const checkoutSessionId = 'cs_test_refund_late_record';
|
||||
const chargeId = 'ch_test_refund_late_record';
|
||||
const refundId = 're_test_refund_late_record';
|
||||
await paymentRepository.createPayment({
|
||||
checkout_session_id: checkoutSessionId,
|
||||
user_id: userId,
|
||||
price_id: 'price_test_monthly',
|
||||
product_type: 'monthly_subscription',
|
||||
status: 'completed',
|
||||
is_gift: false,
|
||||
created_at: new Date(),
|
||||
});
|
||||
await paymentRepository.updatePayment({
|
||||
checkout_session_id: checkoutSessionId,
|
||||
payment_intent_id: paymentIntentId,
|
||||
completed_at: new Date(),
|
||||
});
|
||||
const refund = {
|
||||
id: refundId,
|
||||
object: 'refund',
|
||||
charge: chargeId,
|
||||
payment_intent: paymentIntentId,
|
||||
amount: 2500,
|
||||
currency: 'brl',
|
||||
status: 'succeeded',
|
||||
created: Math.floor(Date.now() / 1000),
|
||||
metadata: {},
|
||||
};
|
||||
const chargeEvent = {
|
||||
type: 'charge.refunded' as const,
|
||||
data: {
|
||||
object: {
|
||||
id: chargeId,
|
||||
payment_intent: paymentIntentId,
|
||||
amount_refunded: 2500,
|
||||
},
|
||||
},
|
||||
};
|
||||
useRefundListHandler(chargeId);
|
||||
await sendWebhook({...chargeEvent, id: 'evt_test_refund_late_record_1'});
|
||||
const afterFallback = await userRepository.findUnique(userId);
|
||||
expect(afterFallback!.firstRefundAt).not.toBeNull();
|
||||
expect(afterFallback!.premiumFlags & PremiumFlags.PURCHASE_DISABLED).toBe(0);
|
||||
await sendWebhook({
|
||||
id: 'evt_test_refund_late_record_2',
|
||||
type: 'refund.created',
|
||||
data: {object: refund},
|
||||
});
|
||||
useRefundListHandler(chargeId, [refund]);
|
||||
await sendWebhook({...chargeEvent, id: 'evt_test_refund_late_record_3'});
|
||||
const afterRecord = await userRepository.findUnique(userId);
|
||||
expect(afterRecord!.firstRefundAt!.getTime()).toBe(afterFallback!.firstRefundAt!.getTime());
|
||||
expect(afterRecord!.premiumFlags & PremiumFlags.PURCHASE_DISABLED).toBe(0);
|
||||
});
|
||||
test('does not count a refund Fluxer issued itself against the refund allowance', async () => {
|
||||
const account = await createTestAccount(harness);
|
||||
const userId = createUserID(BigInt(account.userId));
|
||||
const {PaymentRepository} = await import('../../user/repositories/PaymentRepository');
|
||||
const {UserRepository} = await import('../../user/repositories/UserRepository');
|
||||
const paymentRepository = new PaymentRepository();
|
||||
const userRepository = new UserRepository();
|
||||
const paymentIntentId = 'pi_test_refund_system_123';
|
||||
const checkoutSessionId = 'cs_test_refund_system_123';
|
||||
const chargeId = 'ch_test_refund_system_123';
|
||||
await paymentRepository.createPayment({
|
||||
checkout_session_id: checkoutSessionId,
|
||||
user_id: userId,
|
||||
price_id: 'price_test_monthly',
|
||||
product_type: 'monthly_subscription',
|
||||
status: 'completed',
|
||||
is_gift: false,
|
||||
created_at: new Date(),
|
||||
});
|
||||
await paymentRepository.updatePayment({
|
||||
checkout_session_id: checkoutSessionId,
|
||||
payment_intent_id: paymentIntentId,
|
||||
completed_at: new Date(),
|
||||
});
|
||||
useRefundListHandler(chargeId, [
|
||||
{
|
||||
id: 're_test_refund_system_123',
|
||||
object: 'refund',
|
||||
charge: chargeId,
|
||||
payment_intent: paymentIntentId,
|
||||
amount: 2500,
|
||||
currency: 'brl',
|
||||
status: 'succeeded',
|
||||
created: Math.floor(Date.now() / 1000),
|
||||
metadata: {rejection_reason: 'duplicate_active_subscription'},
|
||||
},
|
||||
]);
|
||||
await sendWebhook({
|
||||
type: 'charge.refunded',
|
||||
data: {
|
||||
object: {
|
||||
id: chargeId,
|
||||
payment_intent: paymentIntentId,
|
||||
amount_refunded: 2500,
|
||||
},
|
||||
},
|
||||
});
|
||||
const updatedUser = await userRepository.findUnique(userId);
|
||||
expect(updatedUser!.firstRefundAt).toBeNull();
|
||||
expect(updatedUser!.premiumFlags & PremiumFlags.PURCHASE_DISABLED).toBe(0);
|
||||
});
|
||||
test('does not count a refund Fluxer issued for a localized card country mismatch', async () => {
|
||||
const account = await createTestAccount(harness);
|
||||
const userId = createUserID(BigInt(account.userId));
|
||||
const {PaymentRepository} = await import('../../user/repositories/PaymentRepository');
|
||||
const {UserRepository} = await import('../../user/repositories/UserRepository');
|
||||
const paymentRepository = new PaymentRepository();
|
||||
const userRepository = new UserRepository();
|
||||
const paymentIntentId = 'pi_test_refund_card_mismatch';
|
||||
const checkoutSessionId = 'cs_test_refund_card_mismatch';
|
||||
const chargeId = 'ch_test_refund_card_mismatch';
|
||||
await paymentRepository.createPayment({
|
||||
checkout_session_id: checkoutSessionId,
|
||||
user_id: userId,
|
||||
price_id: 'price_test_monthly',
|
||||
product_type: 'monthly_subscription',
|
||||
status: 'completed',
|
||||
is_gift: false,
|
||||
created_at: new Date(),
|
||||
});
|
||||
await paymentRepository.updatePayment({
|
||||
checkout_session_id: checkoutSessionId,
|
||||
payment_intent_id: paymentIntentId,
|
||||
completed_at: new Date(),
|
||||
});
|
||||
useRefundListHandler(chargeId, [
|
||||
{
|
||||
id: 're_test_refund_card_mismatch',
|
||||
object: 'refund',
|
||||
charge: chargeId,
|
||||
payment_intent: paymentIntentId,
|
||||
amount: 2500,
|
||||
currency: 'brl',
|
||||
status: 'succeeded',
|
||||
created: Math.floor(Date.now() / 1000),
|
||||
metadata: {rejection_reason: 'localized_card_country_mismatch'},
|
||||
},
|
||||
]);
|
||||
await sendWebhook({
|
||||
type: 'charge.refunded',
|
||||
data: {
|
||||
object: {
|
||||
id: chargeId,
|
||||
payment_intent: paymentIntentId,
|
||||
amount_refunded: 2500,
|
||||
},
|
||||
},
|
||||
});
|
||||
const updatedUser = await userRepository.findUnique(userId);
|
||||
expect(updatedUser!.firstRefundAt).toBeNull();
|
||||
expect(updatedUser!.premiumFlags & PremiumFlags.PURCHASE_DISABLED).toBe(0);
|
||||
const updatedPayment = await userRepository.getPaymentByPaymentIntent(paymentIntentId);
|
||||
expect(updatedPayment!.status).toBe('refunded');
|
||||
});
|
||||
test('counts only the customer refund when Fluxer issued a later system refund on the same charge', async () => {
|
||||
const account = await createTestAccount(harness);
|
||||
const userId = createUserID(BigInt(account.userId));
|
||||
const {PaymentRepository} = await import('../../user/repositories/PaymentRepository');
|
||||
const {UserRepository} = await import('../../user/repositories/UserRepository');
|
||||
const paymentRepository = new PaymentRepository();
|
||||
const userRepository = new UserRepository();
|
||||
const paymentIntentId = 'pi_test_refund_mixed';
|
||||
const checkoutSessionId = 'cs_test_refund_mixed';
|
||||
const chargeId = 'ch_test_refund_mixed';
|
||||
await paymentRepository.createPayment({
|
||||
checkout_session_id: checkoutSessionId,
|
||||
user_id: userId,
|
||||
price_id: 'price_test_monthly',
|
||||
product_type: 'monthly_subscription',
|
||||
status: 'completed',
|
||||
is_gift: false,
|
||||
created_at: new Date(),
|
||||
});
|
||||
await paymentRepository.updatePayment({
|
||||
checkout_session_id: checkoutSessionId,
|
||||
payment_intent_id: paymentIntentId,
|
||||
completed_at: new Date(),
|
||||
});
|
||||
const nowSeconds = Math.floor(Date.now() / 1000);
|
||||
const chargeEvent = {
|
||||
type: 'charge.refunded' as const,
|
||||
data: {
|
||||
object: {
|
||||
id: chargeId,
|
||||
payment_intent: paymentIntentId,
|
||||
amount_refunded: 2500,
|
||||
refunds: {
|
||||
object: 'list',
|
||||
has_more: false,
|
||||
url: `/v1/charges/${chargeId}/refunds`,
|
||||
data: [
|
||||
{
|
||||
id: 're_test_refund_mixed_customer',
|
||||
object: 'refund',
|
||||
charge: chargeId,
|
||||
payment_intent: paymentIntentId,
|
||||
amount: 1500,
|
||||
currency: 'brl',
|
||||
status: 'succeeded',
|
||||
created: nowSeconds - 600,
|
||||
metadata: {},
|
||||
},
|
||||
{
|
||||
id: 're_test_refund_mixed_system',
|
||||
object: 'refund',
|
||||
charge: chargeId,
|
||||
payment_intent: paymentIntentId,
|
||||
amount: 1000,
|
||||
currency: 'brl',
|
||||
status: 'succeeded',
|
||||
created: nowSeconds,
|
||||
metadata: {rejection_reason: 'duplicate_active_subscription'},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
await sendWebhook({...chargeEvent, id: 'evt_test_refund_mixed_1'});
|
||||
const afterFirst = await userRepository.findUnique(userId);
|
||||
expect(afterFirst!.firstRefundAt).not.toBeNull();
|
||||
expect(afterFirst!.premiumFlags & PremiumFlags.PURCHASE_DISABLED).toBe(0);
|
||||
await sendWebhook({...chargeEvent, id: 'evt_test_refund_mixed_2'});
|
||||
const afterRetry = await userRepository.findUnique(userId);
|
||||
expect(afterRetry!.firstRefundAt!.getTime()).toBe(afterFirst!.firstRefundAt!.getTime());
|
||||
expect(afterRetry!.premiumFlags & PremiumFlags.PURCHASE_DISABLED).toBe(0);
|
||||
});
|
||||
test('counts a second, distinct refund against the allowance after the first one was already counted', async () => {
|
||||
const account = await createTestAccount(harness);
|
||||
const userId = createUserID(BigInt(account.userId));
|
||||
const {PaymentRepository} = await import('../../user/repositories/PaymentRepository');
|
||||
const {UserRepository} = await import('../../user/repositories/UserRepository');
|
||||
const paymentRepository = new PaymentRepository();
|
||||
const userRepository = new UserRepository();
|
||||
const paymentIntentId = 'pi_test_refund_ladder';
|
||||
const checkoutSessionId = 'cs_test_refund_ladder';
|
||||
const chargeId = 'ch_test_refund_ladder';
|
||||
await paymentRepository.createPayment({
|
||||
checkout_session_id: checkoutSessionId,
|
||||
user_id: userId,
|
||||
price_id: 'price_test_monthly',
|
||||
product_type: 'monthly_subscription',
|
||||
status: 'completed',
|
||||
is_gift: false,
|
||||
created_at: new Date(),
|
||||
});
|
||||
await paymentRepository.updatePayment({
|
||||
checkout_session_id: checkoutSessionId,
|
||||
payment_intent_id: paymentIntentId,
|
||||
completed_at: new Date(),
|
||||
});
|
||||
const nowSeconds = Math.floor(Date.now() / 1000);
|
||||
function chargeEventWithRefunds(refunds: Array<Record<string, unknown>>) {
|
||||
return {
|
||||
type: 'charge.refunded' as const,
|
||||
data: {
|
||||
object: {
|
||||
id: chargeId,
|
||||
payment_intent: paymentIntentId,
|
||||
amount_refunded: 2500,
|
||||
refunds: {
|
||||
object: 'list',
|
||||
has_more: false,
|
||||
url: `/v1/charges/${chargeId}/refunds`,
|
||||
data: refunds,
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
const firstRefund = {
|
||||
id: 're_test_refund_ladder_1',
|
||||
object: 'refund',
|
||||
charge: chargeId,
|
||||
payment_intent: paymentIntentId,
|
||||
amount: 1200,
|
||||
currency: 'brl',
|
||||
status: 'succeeded',
|
||||
created: nowSeconds - 600,
|
||||
metadata: {},
|
||||
};
|
||||
const secondRefund = {
|
||||
...firstRefund,
|
||||
id: 're_test_refund_ladder_2',
|
||||
amount: 1300,
|
||||
created: nowSeconds,
|
||||
};
|
||||
await sendWebhook({...chargeEventWithRefunds([firstRefund]), id: 'evt_test_refund_ladder_1'});
|
||||
const afterFirst = await userRepository.findUnique(userId);
|
||||
expect(afterFirst!.firstRefundAt).not.toBeNull();
|
||||
expect(afterFirst!.premiumFlags & PremiumFlags.PURCHASE_DISABLED).toBe(0);
|
||||
await sendWebhook({...chargeEventWithRefunds([firstRefund, secondRefund]), id: 'evt_test_refund_ladder_2'});
|
||||
const afterSecond = await userRepository.findUnique(userId);
|
||||
expect(afterSecond!.premiumFlags & PremiumFlags.PURCHASE_DISABLED).toBe(PremiumFlags.PURCHASE_DISABLED);
|
||||
});
|
||||
test('falls back to customer ID when payment intent is not indexed (subscription mode)', async () => {
|
||||
const account = await createTestAccount(harness);
|
||||
const userId = createUserID(BigInt(account.userId));
|
||||
|
||||
@@ -64,6 +64,14 @@ interface StripeApiMockConfig {
|
||||
paymentMethods?: Record<string, Partial<MockStripePaymentMethod>>;
|
||||
setupIntents?: Record<string, Partial<MockStripeSetupIntent>>;
|
||||
subscriptions?: Record<string, Partial<MockStripeSubscriptionState>>;
|
||||
prices?: Record<string, MockStripePriceOverrides>;
|
||||
}
|
||||
|
||||
interface MockStripePriceOverrides {
|
||||
unit_amount?: number;
|
||||
currency?: string;
|
||||
interval?: 'month' | 'year';
|
||||
product?: string;
|
||||
}
|
||||
|
||||
interface SubscriptionScheduleParams {
|
||||
@@ -302,6 +310,7 @@ interface MockStripeSubscriptionState {
|
||||
customer: string;
|
||||
trial_end: number | null;
|
||||
price_id: string;
|
||||
unit_amount: number;
|
||||
currency: string;
|
||||
interval: 'month' | 'year';
|
||||
item_id: string;
|
||||
@@ -808,6 +817,7 @@ export function createStripeApiHandlers(config: StripeApiMockConfig = {}): Strip
|
||||
customer: 'cus_test_1',
|
||||
trial_end: null,
|
||||
price_id: 'price_test_1',
|
||||
unit_amount: 2500,
|
||||
currency: 'usd',
|
||||
interval: 'month',
|
||||
item_id: 'si_test_1',
|
||||
@@ -856,7 +866,7 @@ export function createStripeApiHandlers(config: StripeApiMockConfig = {}): Strip
|
||||
price: {
|
||||
id: subState.price_id,
|
||||
object: 'price',
|
||||
unit_amount: 2500,
|
||||
unit_amount: subState.unit_amount,
|
||||
currency: subState.currency,
|
||||
recurring: {
|
||||
interval: subState.interval,
|
||||
@@ -1703,28 +1713,31 @@ export function createStripeApiHandlers(config: StripeApiMockConfig = {}): Strip
|
||||
http.get(`${STRIPE_API_BASE}/v1/prices/:id`, ({params}) => {
|
||||
const {id} = params;
|
||||
const normalizedPriceId = String(id).toLowerCase();
|
||||
const overrides = config.prices?.[String(id)];
|
||||
return HttpResponse.json({
|
||||
id,
|
||||
object: 'price',
|
||||
active: true,
|
||||
currency: normalizedPriceId.includes('eur')
|
||||
? 'eur'
|
||||
: normalizedPriceId.includes('brl')
|
||||
? 'brl'
|
||||
: normalizedPriceId.includes('inr')
|
||||
? 'inr'
|
||||
: normalizedPriceId.includes('pln')
|
||||
? 'pln'
|
||||
: normalizedPriceId.includes('try')
|
||||
? 'try'
|
||||
: 'usd',
|
||||
unit_amount: normalizedPriceId.includes('year') ? 4999 : 499,
|
||||
currency:
|
||||
overrides?.currency ??
|
||||
(normalizedPriceId.includes('eur')
|
||||
? 'eur'
|
||||
: normalizedPriceId.includes('brl')
|
||||
? 'brl'
|
||||
: normalizedPriceId.includes('inr')
|
||||
? 'inr'
|
||||
: normalizedPriceId.includes('pln')
|
||||
? 'pln'
|
||||
: normalizedPriceId.includes('try')
|
||||
? 'try'
|
||||
: 'usd'),
|
||||
unit_amount: overrides?.unit_amount ?? (normalizedPriceId.includes('year') ? 4999 : 499),
|
||||
type: 'recurring',
|
||||
recurring: {
|
||||
interval: normalizedPriceId.includes('year') ? 'year' : 'month',
|
||||
interval: overrides?.interval ?? (normalizedPriceId.includes('year') ? 'year' : 'month'),
|
||||
interval_count: 1,
|
||||
},
|
||||
product: 'prod_test_1',
|
||||
product: overrides?.product ?? 'prod_test_1',
|
||||
livemode: false,
|
||||
created: Math.floor(Date.now() / 1000) - 365 * 24 * 60 * 60,
|
||||
});
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import {describe, expect, it} from 'vitest';
|
||||
import {isDerivedTrait, isServerManagedTrait, resolveAssignedTraits} from './UserTraits';
|
||||
|
||||
describe('UserTraits', () => {
|
||||
it('treats premium as derived rather than assignable', () => {
|
||||
expect(isDerivedTrait('premium')).toBe(true);
|
||||
expect(isDerivedTrait('beta-tester')).toBe(false);
|
||||
});
|
||||
|
||||
it('recognises every trait shape the server manages', () => {
|
||||
expect(isServerManagedTrait('sso')).toBe(true);
|
||||
expect(isServerManagedTrait('sso:acme')).toBe(true);
|
||||
expect(isServerManagedTrait('sso_provider:0123456789abcdef')).toBe(true);
|
||||
expect(isServerManagedTrait('sso_identity:0123456789abcdef')).toBe(true);
|
||||
expect(isServerManagedTrait('registration_pending_approval')).toBe(true);
|
||||
expect(isServerManagedTrait('registration_rejected')).toBe(true);
|
||||
expect(isServerManagedTrait('beta-tester')).toBe(false);
|
||||
});
|
||||
|
||||
it('keeps the operator traits it was given', () => {
|
||||
expect([...resolveAssignedTraits([], ['beta-tester', 'experimental'])]).toEqual(['beta-tester', 'experimental']);
|
||||
});
|
||||
|
||||
it('drops premium because nothing reads the stored value', () => {
|
||||
expect([...resolveAssignedTraits([], ['premium'])]).toEqual([]);
|
||||
expect([...resolveAssignedTraits([], ['beta-tester', 'premium'])]).toEqual(['beta-tester']);
|
||||
});
|
||||
|
||||
it('keeps a premium user premium when the operator saves other traits', () => {
|
||||
expect([...resolveAssignedTraits(['premium'], ['beta-tester'])]).toEqual(['beta-tester']);
|
||||
});
|
||||
|
||||
it('preserves server managed traits the operator did not send', () => {
|
||||
const resolved = resolveAssignedTraits(
|
||||
['sso', 'sso:acme', 'sso_identity:0123456789abcdef', 'beta-tester'],
|
||||
['experimental'],
|
||||
);
|
||||
expect([...resolved].sort()).toEqual(['experimental', 'sso', 'sso:acme', 'sso_identity:0123456789abcdef']);
|
||||
});
|
||||
|
||||
it('keeps a pending approval user pending when their traits are cleared', () => {
|
||||
expect([...resolveAssignedTraits(['registration_pending_approval'], [])]).toEqual([
|
||||
'registration_pending_approval',
|
||||
]);
|
||||
});
|
||||
|
||||
it('refuses to let an operator forge a server managed trait', () => {
|
||||
expect([...resolveAssignedTraits([], ['sso', 'sso_identity:forged'])]).toEqual([]);
|
||||
});
|
||||
|
||||
it('ignores empty trait names', () => {
|
||||
expect([...resolveAssignedTraits([], ['', 'beta-tester'])]).toEqual(['beta-tester']);
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,31 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
const DERIVED_TRAITS = new Set(['premium']);
|
||||
|
||||
const SERVER_MANAGED_TRAITS = new Set(['sso', 'registration_pending_approval', 'registration_rejected']);
|
||||
|
||||
const SERVER_MANAGED_TRAIT_PREFIXES = ['sso:', 'sso_provider:', 'sso_identity:'];
|
||||
|
||||
export function isDerivedTrait(trait: string): boolean {
|
||||
return DERIVED_TRAITS.has(trait);
|
||||
}
|
||||
|
||||
export function isServerManagedTrait(trait: string): boolean {
|
||||
return SERVER_MANAGED_TRAITS.has(trait) || SERVER_MANAGED_TRAIT_PREFIXES.some((prefix) => trait.startsWith(prefix));
|
||||
}
|
||||
|
||||
export function resolveAssignedTraits(current: Iterable<string>, requested: Iterable<string>): Set<string> {
|
||||
const next = new Set<string>();
|
||||
for (const trait of requested) {
|
||||
if (!trait || isDerivedTrait(trait) || isServerManagedTrait(trait)) {
|
||||
continue;
|
||||
}
|
||||
next.add(trait);
|
||||
}
|
||||
for (const trait of current) {
|
||||
if (isServerManagedTrait(trait)) {
|
||||
next.add(trait);
|
||||
}
|
||||
}
|
||||
return next;
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import {describe, expect, it} from 'vitest';
|
||||
import {type ChannelID, createChannelID, createMessageID, createUserID, type MessageID} from '../../BrandedTypes';
|
||||
import {harvestMessages} from './HarvestUserData';
|
||||
|
||||
const AUTHOR = createUserID(1000000000000000000n);
|
||||
|
||||
function makeRepository(refs: Array<{channelId: ChannelID; messageId: MessageID}>, missing = new Set<string>()) {
|
||||
let pages = 0;
|
||||
return {
|
||||
pages: () => pages,
|
||||
listMessagesByAuthor: async (_userId: typeof AUTHOR, limit: number, lastMessageId?: MessageID) => {
|
||||
pages++;
|
||||
const start = lastMessageId ? refs.findIndex((r) => r.messageId === lastMessageId) + 1 : 0;
|
||||
return refs.slice(start, start + limit);
|
||||
},
|
||||
getMessage: async (_channelId: ChannelID, messageId: MessageID) =>
|
||||
missing.has(messageId.toString()) ? null : {content: `body ${messageId.toString()}`, attachments: undefined},
|
||||
};
|
||||
}
|
||||
|
||||
function refsAcross(channelCount: number, perChannel: number) {
|
||||
const out: Array<{channelId: ChannelID; messageId: MessageID}> = [];
|
||||
let id = 1500000000000000000n;
|
||||
for (let c = 0; c < channelCount; c++) {
|
||||
const channelId = createChannelID(2000000000000000000n + BigInt(c));
|
||||
for (let m = 0; m < perChannel; m++) {
|
||||
out.push({channelId, messageId: createMessageID(id)});
|
||||
id += 1n;
|
||||
}
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
describe('harvestMessages', () => {
|
||||
it('reads past a single page instead of stopping at one query', async () => {
|
||||
const refs = refsAcross(1, 2500);
|
||||
const repo = makeRepository(refs);
|
||||
const result = await harvestMessages(repo, AUTHOR, Date.now(), null);
|
||||
expect(result.totalMessages).toBe(2500);
|
||||
expect(repo.pages()).toBeGreaterThan(1);
|
||||
});
|
||||
|
||||
it('groups every message under its own channel', async () => {
|
||||
const repo = makeRepository(refsAcross(3, 4));
|
||||
const result = await harvestMessages(repo, AUTHOR, Date.now(), null);
|
||||
expect(result.channelMessagesMap.size).toBe(3);
|
||||
for (const messages of result.channelMessagesMap.values()) {
|
||||
expect(messages).toHaveLength(4);
|
||||
}
|
||||
expect(result.totalMessages).toBe(12);
|
||||
});
|
||||
|
||||
it('leaves out a message the repository cannot return', async () => {
|
||||
const refs = refsAcross(1, 5);
|
||||
const repo = makeRepository(refs, new Set([refs[2].messageId.toString()]));
|
||||
const result = await harvestMessages(repo, AUTHOR, Date.now(), null);
|
||||
expect(result.totalMessages).toBe(4);
|
||||
});
|
||||
|
||||
it('returns an empty map for an account with no messages', async () => {
|
||||
const repo = makeRepository([]);
|
||||
const result = await harvestMessages(repo, AUTHOR, Date.now(), null);
|
||||
expect(result.totalMessages).toBe(0);
|
||||
expect(result.channelMessagesMap.size).toBe(0);
|
||||
});
|
||||
});
|
||||
@@ -171,6 +171,10 @@ interface ArchiveResult {
|
||||
downloadUrl: string;
|
||||
}
|
||||
|
||||
// A harvest is every message the account wrote, so the read pages to the end of
|
||||
// the account rather than stopping at a count. The page size is what bounds one
|
||||
// query, not what bounds the archive.
|
||||
const HARVEST_MESSAGE_CHUNK_SIZE = 1000;
|
||||
const CONCURRENT_MESSAGE_LIMIT = 10;
|
||||
const INITIAL_PROGRESS = 5;
|
||||
const MESSAGES_PROGRESS_MAX = 55;
|
||||
@@ -226,11 +230,12 @@ interface HarvestMessagesFilterArgs {
|
||||
findChannel: (channelId: ChannelID) => Promise<Channel | null>;
|
||||
}
|
||||
|
||||
async function harvestMessages(
|
||||
export async function harvestMessages(
|
||||
channelRepository: {
|
||||
listMessagesByAuthor: (
|
||||
userId: UserID,
|
||||
limit: number,
|
||||
lastMessageId?: MessageID,
|
||||
) => Promise<
|
||||
Array<{
|
||||
channelId: ChannelID;
|
||||
@@ -250,24 +255,78 @@ async function harvestMessages(
|
||||
filterArgs: HarvestMessagesFilterArgs | null,
|
||||
): Promise<HarvestMessageResult> {
|
||||
const channelMessagesMap = new Map<string, Array<HarvestedMessage>>();
|
||||
const channelEligibility = filterArgs ? new Map<string, boolean>() : null;
|
||||
Logger.debug('Fetching all user messages');
|
||||
const startFetchTime = Date.now();
|
||||
const messageRefs = await channelRepository.listMessagesByAuthor(userId, 100000);
|
||||
Logger.debug(
|
||||
{
|
||||
totalMessages: messageRefs.length,
|
||||
fetchElapsed: Date.now() - startFetchTime,
|
||||
totalElapsed: Date.now() - startTime,
|
||||
},
|
||||
'All messages retrieved',
|
||||
);
|
||||
if (messageRefs.length === 0) {
|
||||
return {channelMessagesMap, totalMessages: 0};
|
||||
}
|
||||
const channelEligibility = filterArgs ? new Map<string, boolean>() : null;
|
||||
const filteredRefs: Array<{channelId: ChannelID; messageId: MessageID}> = [];
|
||||
if (filterArgs) {
|
||||
for (const ref of messageRefs) {
|
||||
let lastMessageId: MessageID | undefined;
|
||||
let scannedMessages = 0;
|
||||
let totalMessages = 0;
|
||||
|
||||
const readMessage = async ({
|
||||
channelId,
|
||||
messageId,
|
||||
}: {
|
||||
channelId: ChannelID;
|
||||
messageId: MessageID;
|
||||
}): Promise<ChannelHarvestResult | null> => {
|
||||
try {
|
||||
const message = await channelRepository.getMessage(channelId, messageId);
|
||||
if (!message) {
|
||||
Logger.warn(
|
||||
{channelId: channelId.toString(), messageId: messageId.toString()},
|
||||
'Message not found during harvest',
|
||||
);
|
||||
return null;
|
||||
}
|
||||
const timestamp = snowflakeToDate(messageId);
|
||||
const attachments: Array<HarvestedAttachment> = [];
|
||||
if (message.attachments) {
|
||||
for (const attachment of message.attachments) {
|
||||
attachments.push({
|
||||
attachment_id: attachment.id.toString(),
|
||||
filename: attachment.filename,
|
||||
size: attachment.size.toString(),
|
||||
content_type: attachment.contentType,
|
||||
content_hash: null,
|
||||
archive_path: null,
|
||||
cdn_url: makeAttachmentCdnUrl(channelId, attachment.id, attachment.filename),
|
||||
width: attachment.width,
|
||||
height: attachment.height,
|
||||
});
|
||||
}
|
||||
}
|
||||
return {
|
||||
channelId: channelId.toString(),
|
||||
messageData: {
|
||||
id: messageId.toString(),
|
||||
timestamp: timestamp.toISOString(),
|
||||
content: message.content ?? '',
|
||||
attachments,
|
||||
},
|
||||
};
|
||||
} catch (error) {
|
||||
Logger.error(
|
||||
{error, channelId: channelId.toString(), messageId: messageId.toString()},
|
||||
'Failed to process message during harvest',
|
||||
);
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
while (true) {
|
||||
const page = await channelRepository.listMessagesByAuthor(userId, HARVEST_MESSAGE_CHUNK_SIZE, lastMessageId);
|
||||
if (page.length === 0) {
|
||||
break;
|
||||
}
|
||||
scannedMessages += page.length;
|
||||
lastMessageId = page[page.length - 1].messageId;
|
||||
|
||||
const pageRefs: Array<{channelId: ChannelID; messageId: MessageID}> = [];
|
||||
for (const ref of page) {
|
||||
if (!filterArgs) {
|
||||
pageRefs.push(ref);
|
||||
continue;
|
||||
}
|
||||
const ts = snowflakeToDate(ref.messageId).getTime();
|
||||
if (!isTimestampInWindow(ts, filterArgs.filter)) {
|
||||
continue;
|
||||
@@ -280,76 +339,41 @@ async function harvestMessages(
|
||||
channelEligibility!.set(channelIdStr, eligible);
|
||||
}
|
||||
if (eligible) {
|
||||
filteredRefs.push(ref);
|
||||
pageRefs.push(ref);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
filteredRefs.push(...messageRefs);
|
||||
}
|
||||
if (filteredRefs.length === 0) {
|
||||
return {channelMessagesMap, totalMessages: 0};
|
||||
}
|
||||
const messages: Array<ChannelHarvestResult> = [];
|
||||
for (let i = 0; i < filteredRefs.length; i += CONCURRENT_MESSAGE_LIMIT) {
|
||||
const batch = filteredRefs.slice(i, i + CONCURRENT_MESSAGE_LIMIT);
|
||||
const batchPromises = batch.map(async ({channelId, messageId}): Promise<ChannelHarvestResult | null> => {
|
||||
try {
|
||||
const message = await channelRepository.getMessage(channelId, messageId);
|
||||
if (!message) {
|
||||
Logger.warn(
|
||||
{channelId: channelId.toString(), messageId: messageId.toString()},
|
||||
'Message not found during harvest',
|
||||
);
|
||||
return null;
|
||||
|
||||
for (let i = 0; i < pageRefs.length; i += CONCURRENT_MESSAGE_LIMIT) {
|
||||
const batchResults = await Promise.all(pageRefs.slice(i, i + CONCURRENT_MESSAGE_LIMIT).map(readMessage));
|
||||
for (const result of batchResults) {
|
||||
if (result === null) {
|
||||
continue;
|
||||
}
|
||||
const timestamp = snowflakeToDate(messageId);
|
||||
const attachments: Array<HarvestedAttachment> = [];
|
||||
if (message.attachments) {
|
||||
for (const attachment of message.attachments) {
|
||||
attachments.push({
|
||||
attachment_id: attachment.id.toString(),
|
||||
filename: attachment.filename,
|
||||
size: attachment.size.toString(),
|
||||
content_type: attachment.contentType,
|
||||
content_hash: null,
|
||||
archive_path: null,
|
||||
cdn_url: makeAttachmentCdnUrl(channelId, attachment.id, attachment.filename),
|
||||
width: attachment.width,
|
||||
height: attachment.height,
|
||||
});
|
||||
}
|
||||
let bucket = channelMessagesMap.get(result.channelId);
|
||||
if (!bucket) {
|
||||
bucket = [];
|
||||
channelMessagesMap.set(result.channelId, bucket);
|
||||
}
|
||||
return {
|
||||
channelId: channelId.toString(),
|
||||
messageData: {
|
||||
id: messageId.toString(),
|
||||
timestamp: timestamp.toISOString(),
|
||||
content: message.content ?? '',
|
||||
attachments,
|
||||
},
|
||||
};
|
||||
} catch (error) {
|
||||
Logger.error(
|
||||
{error, channelId: channelId.toString(), messageId: messageId.toString()},
|
||||
'Failed to process message during harvest',
|
||||
);
|
||||
return null;
|
||||
}
|
||||
});
|
||||
const batchResults = await Promise.all(batchPromises);
|
||||
for (const result of batchResults) {
|
||||
if (result !== null) {
|
||||
messages.push(result);
|
||||
bucket.push(result.messageData);
|
||||
totalMessages++;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (const {channelId, messageData} of messages) {
|
||||
if (!channelMessagesMap.has(channelId)) {
|
||||
channelMessagesMap.set(channelId, []);
|
||||
|
||||
if (page.length < HARVEST_MESSAGE_CHUNK_SIZE) {
|
||||
break;
|
||||
}
|
||||
channelMessagesMap.get(channelId)!.push(messageData);
|
||||
}
|
||||
return {channelMessagesMap, totalMessages: messages.length};
|
||||
|
||||
Logger.debug(
|
||||
{
|
||||
scannedMessages,
|
||||
totalMessages,
|
||||
fetchElapsed: Date.now() - startFetchTime,
|
||||
totalElapsed: Date.now() - startTime,
|
||||
},
|
||||
'All messages retrieved',
|
||||
);
|
||||
return {channelMessagesMap, totalMessages};
|
||||
}
|
||||
|
||||
function buildUserDataJson(params: UserDataJsonParams) {
|
||||
|
||||
@@ -11,6 +11,7 @@ const JSX_EXTENSIONS = new Set(['.tsx', '.jsx']);
|
||||
const SKIP_DIRS = new Set(['node_modules', 'dist', 'coverage', '.cache', '.swc']);
|
||||
const GENERATED_FILES = new Set([join(SOURCE_DIR, 'features', 'ui', 'components', 'SVGMasks.tsx')]);
|
||||
const NON_THEMEABLE_IDENTIFIERS = new Set([
|
||||
'AppI18nProvider',
|
||||
'Fragment',
|
||||
'I18nProvider',
|
||||
'Outlet',
|
||||
|
||||
@@ -23,6 +23,7 @@ import {type LayoutVariant, LayoutVariantProvider} from '@app/features/app/state
|
||||
import RuntimeCrash from '@app/features/app/state/RuntimeCrash';
|
||||
import {showMyselfTypingHelper} from '@app/features/devtools/utils/ShowMyselfTypingHelper';
|
||||
import GatewayConnection from '@app/features/gateway/transport/GatewayConnection';
|
||||
import {AppI18nProvider} from '@app/features/i18n/components/AppI18nProvider';
|
||||
import MemberSidebar from '@app/features/member/state/MemberSidebar';
|
||||
import {startDeepLinkHandling} from '@app/features/navigation/utils/DeepLinkUtils';
|
||||
import {Outlet, RouterProvider} from '@app/features/platform/components/router/RouterReact';
|
||||
@@ -60,7 +61,6 @@ import {useStopFlashFrameOnFocus} from '@app/features/window/hooks/useStopFlashF
|
||||
import {useWindowEventListeners} from '@app/features/window/hooks/useWindowEventListeners';
|
||||
import {i18n} from '@lingui/core';
|
||||
import {msg} from '@lingui/core/macro';
|
||||
import {I18nProvider} from '@lingui/react';
|
||||
import {useLingui} from '@lingui/react/macro';
|
||||
import {IconContext} from '@phosphor-icons/react';
|
||||
import {reaction} from 'mobx';
|
||||
@@ -239,7 +239,7 @@ export const App = observer((): React.ReactElement => {
|
||||
return () => detach?.();
|
||||
}, []);
|
||||
return (
|
||||
<I18nProvider i18n={i18n}>
|
||||
<AppI18nProvider i18n={i18n}>
|
||||
<IconContext.Provider value={{color: 'currentColor', weight: 'fill'}}>
|
||||
<PremiumCheckoutReturnWatcher data-flx="app.app.premium-checkout-return-watcher" />
|
||||
<DndContext data-flx="app.app.dnd-context">
|
||||
@@ -250,6 +250,6 @@ export const App = observer((): React.ReactElement => {
|
||||
</RouterProvider>
|
||||
</DndContext>
|
||||
</IconContext.Provider>
|
||||
</I18nProvider>
|
||||
</AppI18nProvider>
|
||||
);
|
||||
});
|
||||
|
||||
Vendored
+2
@@ -18,6 +18,8 @@ interface FluxerDebugApi {
|
||||
getClientInfoObjectSync?: () => unknown;
|
||||
getVoiceSubscriptionDebug?: () => Promise<unknown>;
|
||||
getVoiceSubscriptionDebugJson?: () => Promise<string>;
|
||||
getTranslationDomGuardStats?: () => unknown;
|
||||
uninstallTranslationDomGuard?: () => boolean;
|
||||
}
|
||||
|
||||
type FluxerDebugGlobal = Record<string, unknown> & FluxerDebugApi;
|
||||
|
||||
+165
-6
@@ -2,6 +2,7 @@
|
||||
|
||||
import {ConfirmModal} from '@app/features/app/components/dialogs/ConfirmModal';
|
||||
import {PerksButton} from '@app/features/app/components/dialogs/components/PerksButton';
|
||||
import {useSubscriptionActions} from '@app/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions';
|
||||
import type {GracePeriodInfo} from '@app/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionStatus';
|
||||
import statusStyles from '@app/features/app/components/dialogs/components/plutonium/PurchaseHistoryStatus.module.css';
|
||||
import styles from '@app/features/app/components/dialogs/components/plutonium/SubscriptionCard.module.css';
|
||||
@@ -11,6 +12,7 @@ import {
|
||||
PREMIUM_PRODUCT_NAME,
|
||||
} from '@app/features/app/config/I18nDisplayConstants';
|
||||
import {JOIN_COMMUNITY_DESCRIPTOR} from '@app/features/i18n/utils/CommonMessageDescriptors';
|
||||
import PremiumState from '@app/features/premium/state/PremiumState';
|
||||
import {
|
||||
CLAIM_ACCOUNT_TO_PURCHASE_OR_REDEEM_PREMIUM_DESCRIPTOR,
|
||||
MANAGE_SUBSCRIPTION_DESCRIPTOR,
|
||||
@@ -21,6 +23,7 @@ import {Button} from '@app/features/ui/button/Button';
|
||||
import * as ModalCommands from '@app/features/ui/commands/ModalCommands';
|
||||
import {modal} from '@app/features/ui/commands/ModalCommands';
|
||||
import {Tooltip} from '@app/features/ui/tooltip/Tooltip';
|
||||
import Users from '@app/features/user/state/Users';
|
||||
import {getFormattedLongDate} from '@fluxer/date_utils/src/DateFormatting';
|
||||
import type {PendingSubscriptionChangeResponse} from '@fluxer/schema/src/domains/premium/PremiumSchemas';
|
||||
import {msg} from '@lingui/core/macro';
|
||||
@@ -55,6 +58,14 @@ const SWITCH_TO_MONTHLY_DESCRIPTOR = msg({
|
||||
message: 'Switch to monthly',
|
||||
comment: 'Button confirming a change to monthly subscription billing.',
|
||||
});
|
||||
const SWITCH_TO_THE_NEW_PRICE_TITLE_DESCRIPTOR = msg({
|
||||
message: 'Switch to the new price?',
|
||||
comment: 'Billing confirmation title for moving an active subscription down to the current price.',
|
||||
});
|
||||
const SWITCH_PRICE_DESCRIPTOR = msg({
|
||||
message: 'Switch price',
|
||||
comment: 'Button confirming a move of an active subscription down to the current price.',
|
||||
});
|
||||
const NOT_NOW_DESCRIPTOR = msg({
|
||||
message: 'Not now',
|
||||
comment: 'Button that cancels a subscription billing change.',
|
||||
@@ -171,6 +182,7 @@ export const SubscriptionCard: React.FC<SubscriptionCardProps> = observer(
|
||||
purchaseDisabledTooltip,
|
||||
}) => {
|
||||
const {i18n} = useLingui();
|
||||
const {loadingSwitchToListPrice, handleSwitchToListPrice} = useSubscriptionActions();
|
||||
const {isInGracePeriod, isExpired: isFullyExpired, graceEndDate} = gracePeriodInfo;
|
||||
const tooltipText: string | (() => React.ReactNode) =
|
||||
purchaseDisabledTooltip != null
|
||||
@@ -184,9 +196,26 @@ export const SubscriptionCard: React.FC<SubscriptionCardProps> = observer(
|
||||
const effectiveYearlyPrice =
|
||||
billingCycle === 'yearly' && currentSubscriptionPriceLabel ? currentSubscriptionPriceLabel : yearlyPrice;
|
||||
const hasPendingSubscriptionChange = pendingSubscriptionChange != null && !premiumWillCancel;
|
||||
const currentUserId = Users.currentUser?.id;
|
||||
const listPriceSwitch =
|
||||
currentUserId != null && PremiumState.loadedForUserId === currentUserId
|
||||
? (PremiumState.state?.billing.list_price_switch ?? null)
|
||||
: null;
|
||||
const listPriceNewLabel = listPriceSwitch
|
||||
? formatMinorUnitPrice(listPriceSwitch.list_amount_minor, listPriceSwitch.currency, locale)
|
||||
: null;
|
||||
const listPriceCurrentLabel = listPriceSwitch
|
||||
? formatMinorUnitPrice(listPriceSwitch.current_amount_minor, listPriceSwitch.currency, locale)
|
||||
: null;
|
||||
const listPriceEffectiveDate = listPriceSwitch?.effective_at
|
||||
? getFormattedLongDate(listPriceSwitch.effective_at, locale)
|
||||
: null;
|
||||
const hasPendingListPriceSwitch = listPriceSwitch?.pending === true && !premiumWillCancel;
|
||||
const pendingChangeDate = pendingSubscriptionChange
|
||||
? getFormattedLongDate(new Date(pendingSubscriptionChange.effective_at), locale)
|
||||
: null;
|
||||
: hasPendingListPriceSwitch
|
||||
? listPriceEffectiveDate
|
||||
: null;
|
||||
const pendingInitialPriceLabel = pendingSubscriptionChange
|
||||
? formatMinorUnitPrice(pendingSubscriptionChange.initial_amount_minor, pendingSubscriptionChange.currency, locale)
|
||||
: null;
|
||||
@@ -200,6 +229,26 @@ export const SubscriptionCard: React.FC<SubscriptionCardProps> = observer(
|
||||
const pendingCreditPriceLabel = pendingSubscriptionChange
|
||||
? formatMinorUnitPrice(pendingSubscriptionChange.credit_amount_minor, pendingSubscriptionChange.currency, locale)
|
||||
: null;
|
||||
const canSwitchToListPrice =
|
||||
listPriceSwitch?.available === true &&
|
||||
!premiumWillCancel &&
|
||||
!hasPendingSubscriptionChange &&
|
||||
listPriceNewLabel != null &&
|
||||
listPriceCurrentLabel != null &&
|
||||
listPriceEffectiveDate != null;
|
||||
const shouldSuggestCancelingPendingChange =
|
||||
listPriceSwitch?.available === false &&
|
||||
listPriceSwitch.reason === 'conflicting_pending_change' &&
|
||||
listPriceSwitch.list_amount_minor != null &&
|
||||
listPriceSwitch.current_amount_minor != null &&
|
||||
listPriceSwitch.list_amount_minor < listPriceSwitch.current_amount_minor;
|
||||
const shouldMentionListPriceWhileCancelling =
|
||||
listPriceSwitch?.available === false &&
|
||||
listPriceSwitch.reason === 'subscription_cancelling' &&
|
||||
listPriceSwitch.list_amount_minor != null &&
|
||||
listPriceSwitch.current_amount_minor != null &&
|
||||
listPriceSwitch.list_amount_minor < listPriceSwitch.current_amount_minor;
|
||||
const pendingTargetPriceLabel = hasPendingListPriceSwitch ? listPriceNewLabel : null;
|
||||
const grandfatheredTooltip =
|
||||
isCurrentSubscriptionGrandfathered && currentSubscriptionListPriceLabel
|
||||
? i18n._(LEGACY_RATE_WITH_PRICE_DESCRIPTOR, {currentSubscriptionListPriceLabel})
|
||||
@@ -314,6 +363,32 @@ export const SubscriptionCard: React.FC<SubscriptionCardProps> = observer(
|
||||
yearlyAmountMinor,
|
||||
],
|
||||
);
|
||||
const handleConfirmSwitchToListPrice = useCallback(() => {
|
||||
ModalCommands.push(
|
||||
modal(() => (
|
||||
<ConfirmModal
|
||||
title={i18n._(SWITCH_TO_THE_NEW_PRICE_TITLE_DESCRIPTOR)}
|
||||
description={
|
||||
<Trans comment="Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.">
|
||||
On{' '}
|
||||
<strong data-flx="app.plutonium.subscription-card.handle-confirm-switch-to-list-price.strong">
|
||||
{listPriceEffectiveDate}
|
||||
</strong>{' '}
|
||||
your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today,
|
||||
and the rest of your subscription stays exactly as it is.
|
||||
</Trans>
|
||||
}
|
||||
primaryText={i18n._(SWITCH_PRICE_DESCRIPTOR)}
|
||||
primaryVariant="primary"
|
||||
secondaryText={i18n._(NOT_NOW_DESCRIPTOR)}
|
||||
onPrimary={async () => {
|
||||
await handleSwitchToListPrice();
|
||||
}}
|
||||
data-flx="app.plutonium.subscription-card.handle-confirm-switch-to-list-price.confirm-modal"
|
||||
/>
|
||||
)),
|
||||
);
|
||||
}, [handleSwitchToListPrice, i18n, listPriceCurrentLabel, listPriceEffectiveDate, listPriceNewLabel]);
|
||||
const wrapIfDisabled = (element: React.ReactElement, key: string, disabled: boolean) =>
|
||||
disabled ? (
|
||||
<Tooltip key={key} text={tooltipText} data-flx="app.plutonium.subscription-card.wrap-if-disabled.tooltip">
|
||||
@@ -498,8 +573,7 @@ export const SubscriptionCard: React.FC<SubscriptionCardProps> = observer(
|
||||
)}
|
||||
</div>
|
||||
{!isVisionary &&
|
||||
hasPendingSubscriptionChange &&
|
||||
pendingSubscriptionChange &&
|
||||
(hasPendingSubscriptionChange || hasPendingListPriceSwitch) &&
|
||||
pendingChangeDate &&
|
||||
!isInGracePeriod &&
|
||||
!isFullyExpired &&
|
||||
@@ -508,7 +582,20 @@ export const SubscriptionCard: React.FC<SubscriptionCardProps> = observer(
|
||||
className={styles.pendingChangeInfo}
|
||||
data-flx="app.plutonium.subscription-card.pending-change-info"
|
||||
>
|
||||
{pendingSubscriptionChange.target_billing_cycle === 'yearly' ? (
|
||||
{hasPendingListPriceSwitch ? (
|
||||
pendingTargetPriceLabel ? (
|
||||
<Trans comment="Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.">
|
||||
New price scheduled for{' '}
|
||||
<strong data-flx="app.plutonium.subscription-card.strong--13">{pendingChangeDate}</strong>.
|
||||
Renewals will be {pendingTargetPriceLabel} from then on.
|
||||
</Trans>
|
||||
) : (
|
||||
<Trans comment="Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.">
|
||||
New price scheduled for{' '}
|
||||
<strong data-flx="app.plutonium.subscription-card.strong--13">{pendingChangeDate}</strong>.
|
||||
</Trans>
|
||||
)
|
||||
) : pendingSubscriptionChange?.target_billing_cycle === 'yearly' ? (
|
||||
pendingInitialPriceLabel && pendingRecurringPriceLabel ? (
|
||||
pendingCreditPriceLabel ? (
|
||||
<Trans>
|
||||
@@ -546,6 +633,59 @@ export const SubscriptionCard: React.FC<SubscriptionCardProps> = observer(
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
{!isVisionary &&
|
||||
shouldSuggestCancelingPendingChange &&
|
||||
!isInGracePeriod &&
|
||||
!isFullyExpired &&
|
||||
!isGiftSubscription && (
|
||||
<div
|
||||
className={styles.pendingChangeInfo}
|
||||
data-flx="app.plutonium.subscription-card.list-price-switch-blocked-info"
|
||||
>
|
||||
<Trans comment="Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.">
|
||||
Cancel the scheduled change to move to the current price instead.
|
||||
</Trans>
|
||||
</div>
|
||||
)}
|
||||
{!isVisionary &&
|
||||
shouldMentionListPriceWhileCancelling &&
|
||||
listPriceNewLabel &&
|
||||
premiumUntil &&
|
||||
!isInGracePeriod &&
|
||||
!isFullyExpired &&
|
||||
!isGiftSubscription &&
|
||||
(() => {
|
||||
const cancelDate = getFormattedLongDate(premiumUntil, locale);
|
||||
return (
|
||||
<div
|
||||
className={styles.pendingChangeInfo}
|
||||
data-flx="app.plutonium.subscription-card.list-price-switch-cancelling-info"
|
||||
>
|
||||
<Trans comment="Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.">
|
||||
Your subscription still ends on{' '}
|
||||
<strong data-flx="app.plutonium.subscription-card.strong--15">{cancelDate}</strong>. The current
|
||||
price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here.
|
||||
</Trans>
|
||||
</div>
|
||||
);
|
||||
})()}
|
||||
{!isVisionary &&
|
||||
canSwitchToListPrice &&
|
||||
listPriceEffectiveDate &&
|
||||
!isInGracePeriod &&
|
||||
!isFullyExpired &&
|
||||
!isGiftSubscription && (
|
||||
<div
|
||||
className={styles.pendingChangeInfo}
|
||||
data-flx="app.plutonium.subscription-card.list-price-switch-info"
|
||||
>
|
||||
<Trans comment="Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.">
|
||||
A lower price is available. Switching takes effect on{' '}
|
||||
<strong data-flx="app.plutonium.subscription-card.strong--14">{listPriceEffectiveDate}</strong> and
|
||||
changes nothing else.
|
||||
</Trans>
|
||||
</div>
|
||||
)}
|
||||
{!isVisionary &&
|
||||
premiumUntil &&
|
||||
!premiumWillCancel &&
|
||||
@@ -628,6 +768,7 @@ export const SubscriptionCard: React.FC<SubscriptionCardProps> = observer(
|
||||
{shouldUseChangePlanQuickAction &&
|
||||
targetBillingCycle &&
|
||||
!hasPendingSubscriptionChange &&
|
||||
!hasPendingListPriceSwitch &&
|
||||
wrapIfDisabled(
|
||||
<Button
|
||||
variant="secondary"
|
||||
@@ -651,7 +792,21 @@ export const SubscriptionCard: React.FC<SubscriptionCardProps> = observer(
|
||||
'change-plan',
|
||||
purchaseDisabled,
|
||||
)}
|
||||
{hasPendingSubscriptionChange && (
|
||||
{canSwitchToListPrice && listPriceNewLabel && (
|
||||
<Button
|
||||
variant="secondary"
|
||||
onClick={handleConfirmSwitchToListPrice}
|
||||
submitting={loadingSwitchToListPrice}
|
||||
small
|
||||
className={styles.actionButton}
|
||||
data-flx="app.plutonium.subscription-card.action-button.confirm-switch-to-list-price"
|
||||
>
|
||||
<Trans comment="Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.">
|
||||
Switch to {listPriceNewLabel}
|
||||
</Trans>
|
||||
</Button>
|
||||
)}
|
||||
{(hasPendingSubscriptionChange || hasPendingListPriceSwitch) && (
|
||||
<Button
|
||||
variant="secondary"
|
||||
onClick={handleCancelPendingSubscriptionChange}
|
||||
@@ -660,7 +815,11 @@ export const SubscriptionCard: React.FC<SubscriptionCardProps> = observer(
|
||||
className={styles.actionButton}
|
||||
data-flx="app.plutonium.subscription-card.action-button.cancel-pending-subscription-change"
|
||||
>
|
||||
{pendingSubscriptionChange?.target_billing_cycle === 'yearly' ? (
|
||||
{hasPendingListPriceSwitch ? (
|
||||
<Trans comment="Billing button that cancels a scheduled move to a lower subscription price.">
|
||||
Cancel price change
|
||||
</Trans>
|
||||
) : pendingSubscriptionChange?.target_billing_cycle === 'yearly' ? (
|
||||
<Trans comment="Billing button that cancels a scheduled yearly upgrade.">
|
||||
Cancel yearly upgrade
|
||||
</Trans>
|
||||
|
||||
+4
-1
@@ -106,6 +106,9 @@ export const usePremiumData = (
|
||||
currentSubscriptionPrice,
|
||||
currentSubscriptionPriceLabel,
|
||||
currentSubscriptionListPriceLabel,
|
||||
isCurrentSubscriptionGrandfathered: currentSubscriptionPrice?.is_grandfathered ?? false,
|
||||
isCurrentSubscriptionGrandfathered:
|
||||
currentSubscriptionPrice?.is_grandfathered === true &&
|
||||
(currentSubscriptionPrice.list_amount_minor == null ||
|
||||
currentSubscriptionPrice.list_amount_minor > currentSubscriptionPrice.amount_minor),
|
||||
};
|
||||
};
|
||||
|
||||
+60
@@ -5,6 +5,8 @@ import {Logger} from '@app/features/platform/utils/AppLogger';
|
||||
import * as PremiumCommands from '@app/features/premium/commands/PremiumCommands';
|
||||
import * as ToastCommands from '@app/features/ui/commands/ToastCommands';
|
||||
import {openExternalUrl} from '@app/features/ui/utils/NativeUtils';
|
||||
import * as LocaleUtils from '@app/features/user/utils/LocaleUtils';
|
||||
import {getFormattedLongDate} from '@fluxer/date_utils/src/DateFormatting';
|
||||
import {msg} from '@lingui/core/macro';
|
||||
import {useLingui} from '@lingui/react/macro';
|
||||
import {useCallback, useState} from 'react';
|
||||
@@ -91,6 +93,31 @@ const CANCEL_PENDING_CHANGE_FAILED_MESSAGE_DESCRIPTOR = msg({
|
||||
comment:
|
||||
'Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.',
|
||||
});
|
||||
const YOUR_SUBSCRIPTION_WILL_MOVE_TO_THE_NEW_PRICE_DESCRIPTOR = msg({
|
||||
message: 'Your subscription moves to the new price on {effectiveDate}.',
|
||||
comment:
|
||||
'Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.',
|
||||
});
|
||||
const THE_NEW_PRICE_IS_ALREADY_SCHEDULED_DESCRIPTOR = msg({
|
||||
message: 'The new price is already scheduled for {effectiveDate}.',
|
||||
comment:
|
||||
'Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.',
|
||||
});
|
||||
const SWITCH_TO_LIST_PRICE_UNAVAILABLE_DESCRIPTOR = msg({
|
||||
message: "Your subscription can't move to the new price right now.",
|
||||
comment:
|
||||
'Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.',
|
||||
});
|
||||
const SWITCH_TO_LIST_PRICE_FAILED_TITLE_DESCRIPTOR = msg({
|
||||
message: "Couldn't change your price",
|
||||
comment:
|
||||
'Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.',
|
||||
});
|
||||
const SWITCH_TO_LIST_PRICE_FAILED_MESSAGE_DESCRIPTOR = msg({
|
||||
message: 'Something went wrong while changing your price. Please try again in a moment.',
|
||||
comment:
|
||||
'Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.',
|
||||
});
|
||||
const logger = new Logger('useSubscriptionActions');
|
||||
export const useSubscriptionActions = (countryCode?: string | null) => {
|
||||
const {i18n} = useLingui();
|
||||
@@ -100,6 +127,7 @@ export const useSubscriptionActions = (countryCode?: string | null) => {
|
||||
const [loadingEndGrace, setLoadingEndGrace] = useState(false);
|
||||
const [loadingChangeBillingCycle, setLoadingChangeBillingCycle] = useState<'monthly' | 'yearly' | null>(null);
|
||||
const [loadingCancelPendingChange, setLoadingCancelPendingChange] = useState(false);
|
||||
const [loadingSwitchToListPrice, setLoadingSwitchToListPrice] = useState(false);
|
||||
const handleOpenCustomerPortal = useCallback(async () => {
|
||||
setLoadingPortal(true);
|
||||
try {
|
||||
@@ -213,6 +241,36 @@ export const useSubscriptionActions = (countryCode?: string | null) => {
|
||||
},
|
||||
[countryCode, i18n],
|
||||
);
|
||||
const handleSwitchToListPrice = useCallback(async () => {
|
||||
setLoadingSwitchToListPrice(true);
|
||||
try {
|
||||
const result = await PremiumCommands.switchSubscriptionToListPrice();
|
||||
await PremiumCommands.refreshPremiumState(countryCode ?? undefined);
|
||||
if (result.status === 'ineligible') {
|
||||
logger.warn('List price switch refused', {reason: result.reason});
|
||||
ToastCommands.error(i18n._(SWITCH_TO_LIST_PRICE_UNAVAILABLE_DESCRIPTOR));
|
||||
return;
|
||||
}
|
||||
const effectiveDate = getFormattedLongDate(result.effective_at, LocaleUtils.getCurrentLocale());
|
||||
ToastCommands.success(
|
||||
result.status === 'already_scheduled'
|
||||
? i18n._(THE_NEW_PRICE_IS_ALREADY_SCHEDULED_DESCRIPTOR, {effectiveDate})
|
||||
: i18n._(YOUR_SUBSCRIPTION_WILL_MOVE_TO_THE_NEW_PRICE_DESCRIPTOR, {effectiveDate}),
|
||||
);
|
||||
} catch (error) {
|
||||
logger.error('Failed to switch subscription to the current list price', error);
|
||||
showPremiumActionErrorModal(
|
||||
error,
|
||||
{
|
||||
fallbackTitle: SWITCH_TO_LIST_PRICE_FAILED_TITLE_DESCRIPTOR,
|
||||
fallbackMessage: SWITCH_TO_LIST_PRICE_FAILED_MESSAGE_DESCRIPTOR,
|
||||
},
|
||||
'app.plutonium.use-subscription-actions.switch-to-list-price.generic-error-modal',
|
||||
);
|
||||
} finally {
|
||||
setLoadingSwitchToListPrice(false);
|
||||
}
|
||||
}, [countryCode, i18n]);
|
||||
const handleCancelPendingSubscriptionChange = useCallback(async () => {
|
||||
setLoadingCancelPendingChange(true);
|
||||
try {
|
||||
@@ -240,11 +298,13 @@ export const useSubscriptionActions = (countryCode?: string | null) => {
|
||||
loadingEndGrace,
|
||||
loadingChangeBillingCycle,
|
||||
loadingCancelPendingChange,
|
||||
loadingSwitchToListPrice,
|
||||
handleOpenCustomerPortal,
|
||||
handleCancelSubscription,
|
||||
handleEndPremiumGracePeriod,
|
||||
handleReactivateSubscription,
|
||||
handleChangeSubscriptionBillingCycle,
|
||||
handleCancelPendingSubscriptionChange,
|
||||
handleSwitchToListPrice,
|
||||
};
|
||||
};
|
||||
|
||||
@@ -12,6 +12,7 @@ import {AuthCardContainer} from '@app/features/auth/flow/AuthCardContainer';
|
||||
import {useAuthBackground} from '@app/features/auth/hooks/useAuthBackground';
|
||||
import {type AuthCardVariant, AuthLayoutContext} from '@app/features/auth/state/AuthLayoutContext';
|
||||
import {AuthRegisterDraftContext, type AuthRegisterFormDraft} from '@app/features/auth/state/AuthRegisterDraftContext';
|
||||
import {AppI18nProvider} from '@app/features/i18n/components/AppI18nProvider';
|
||||
import {useLocation} from '@app/features/platform/components/router/RouterReact';
|
||||
import {FluxerWordmark} from '@app/features/ui/components/icons/FluxerWordmark';
|
||||
import {Scroller, type ScrollerHandle} from '@app/features/ui/components/Scroller';
|
||||
@@ -21,7 +22,6 @@ import {useNativeTitleBar} from '@app/features/window/hooks/useNativeTitleBar';
|
||||
import foodPatternUrl from '@app/media/images/i-like-food.svg';
|
||||
import type {GuildSplashCardAlignmentValue} from '@fluxer/constants/src/GuildConstants';
|
||||
import {GuildSplashCardAlignment} from '@fluxer/constants/src/GuildConstants';
|
||||
import {I18nProvider} from '@lingui/react';
|
||||
import clsx from 'clsx';
|
||||
import {observer} from 'mobx-react-lite';
|
||||
import {type ReactNode, useCallback, useEffect, useMemo, useRef, useState} from 'react';
|
||||
@@ -258,8 +258,8 @@ export const AuthLayout = observer(function AuthLayout({children}: {children?: R
|
||||
return null;
|
||||
}
|
||||
return (
|
||||
<I18nProvider i18n={i18n}>
|
||||
<AppI18nProvider i18n={i18n}>
|
||||
<AuthLayoutContent data-flx="app.auth-layout.auth-layout-content">{children}</AuthLayoutContent>
|
||||
</I18nProvider>
|
||||
</AppI18nProvider>
|
||||
);
|
||||
});
|
||||
|
||||
@@ -1275,6 +1275,8 @@ const SKELETON_NAGBAR_ROW_SHAPES: Record<NagbarType, SkeletonNagbarRowShape> = {
|
||||
[NagbarType.PREMIUM_GRACE_PERIOD]: {tone: SkeletonNagbarTone.PREMIUM, hasActions: true},
|
||||
[NagbarType.PREMIUM_EXPIRED]: {tone: SkeletonNagbarTone.DANGER, hasActions: true},
|
||||
[NagbarType.PREMIUM_ONBOARDING]: {tone: SkeletonNagbarTone.BRAND, hasActions: true},
|
||||
[NagbarType.PRICE_ANNOUNCEMENT]: {tone: SkeletonNagbarTone.BRAND, hasActions: true},
|
||||
[NagbarType.LEGACY_PRICE_OPT_IN]: {tone: SkeletonNagbarTone.BRAND, hasActions: true},
|
||||
[NagbarType.GIFT_INVENTORY]: {tone: SkeletonNagbarTone.BRAND, hasActions: true},
|
||||
[NagbarType.DESKTOP_DOWNLOAD]: {tone: SkeletonNagbarTone.BRAND, hasActions: true},
|
||||
[NagbarType.DESKTOP_UPDATE_READY]: {tone: SkeletonNagbarTone.BRAND, hasActions: true},
|
||||
|
||||
@@ -18,6 +18,8 @@ import DeveloperOptions from '@app/features/devtools/state/DeveloperOptions';
|
||||
import GatewayConnection from '@app/features/gateway/transport/GatewayConnection';
|
||||
import * as NotificationUtils from '@app/features/notification/utils/NotificationUtils';
|
||||
import NativePermission from '@app/features/permissions/system/state/NativePermission';
|
||||
import {resolvePriceAnnouncementCampaign} from '@app/features/premium/config/PriceAnnouncementCampaign';
|
||||
import PremiumState from '@app/features/premium/state/PremiumState';
|
||||
import StreamerMode from '@app/features/streamer_mode/state/StreamerMode';
|
||||
import Nagbar from '@app/features/ui/state/Nagbar';
|
||||
import {hasUnavailableElectronNativeContext, isDesktop} from '@app/features/ui/utils/NativeUtils';
|
||||
@@ -151,6 +153,27 @@ export const useNagbarConditions = (): NagbarConditions => {
|
||||
user?.isPremium() && !user?.hasDismissedPremiumOnboarding && !nagbarState.premiumOnboardingDismissed,
|
||||
);
|
||||
})();
|
||||
const premiumState = PremiumState.loadedForUserId === user?.id ? PremiumState.state : null;
|
||||
const priceAnnouncementCampaign = resolvePriceAnnouncementCampaign(premiumState);
|
||||
const hasPurchaseReadyAccount = Boolean(user?.isClaimed() && (!RuntimeConfig.emailsEnabled || user.verified));
|
||||
const canShowPriceAnnouncement = (() => {
|
||||
if (isSelfHosted) return false;
|
||||
if (!hasPurchaseReadyAccount) return false;
|
||||
if (!premiumState || !priceAnnouncementCampaign) return false;
|
||||
if (premiumState.actual.has_active_paid_premium) return false;
|
||||
return !nagbarState.getPriceAnnouncementDismissed(priceAnnouncementCampaign.campaign.id);
|
||||
})();
|
||||
const canShowLegacyPriceOptIn = (() => {
|
||||
if (isSelfHosted) return false;
|
||||
if (!hasPurchaseReadyAccount) return false;
|
||||
if (!premiumState || !priceAnnouncementCampaign) return false;
|
||||
const listPriceSwitch = premiumState.billing.list_price_switch ?? null;
|
||||
if (!listPriceSwitch?.available || listPriceSwitch.pending) return false;
|
||||
if (listPriceSwitch.currency !== priceAnnouncementCampaign.currency) return false;
|
||||
if (listPriceSwitch.current_amount_minor == null || listPriceSwitch.list_amount_minor == null) return false;
|
||||
if (listPriceSwitch.effective_at == null || listPriceSwitch.billing_cycle == null) return false;
|
||||
return !nagbarState.getLegacyPriceOptInDismissed(priceAnnouncementCampaign.campaign.id);
|
||||
})();
|
||||
const isNativeDesktop = isDesktop();
|
||||
const hasBrokenElectronNativeContext = hasUnavailableElectronNativeContext();
|
||||
const isMobileDevice = /Android|iPhone|iPad|iPod/i.test(navigator.userAgent);
|
||||
@@ -281,6 +304,8 @@ export const useNagbarConditions = (): NagbarConditions => {
|
||||
canShowPremiumGracePeriod,
|
||||
canShowPremiumExpired,
|
||||
canShowPremiumOnboarding,
|
||||
canShowPriceAnnouncement,
|
||||
canShowLegacyPriceOptIn,
|
||||
canShowGiftInventory,
|
||||
canShowDesktopDownload,
|
||||
canShowGuildMembershipCta,
|
||||
@@ -356,6 +381,12 @@ export const useActiveNagbars = (conditions: NagbarConditions): Array<NagbarStat
|
||||
visible: conditions.canShowVoiceSessionRestore,
|
||||
dismissible: true,
|
||||
},
|
||||
{
|
||||
type: NagbarType.LEGACY_PRICE_OPT_IN,
|
||||
priority: 2,
|
||||
visible: conditions.canShowLegacyPriceOptIn,
|
||||
dismissible: true,
|
||||
},
|
||||
{
|
||||
type: NagbarType.PREMIUM_ONBOARDING,
|
||||
priority: 4,
|
||||
@@ -368,6 +399,12 @@ export const useActiveNagbars = (conditions: NagbarConditions): Array<NagbarStat
|
||||
visible: conditions.canShowGiftInventory,
|
||||
dismissible: true,
|
||||
},
|
||||
{
|
||||
type: NagbarType.PRICE_ANNOUNCEMENT,
|
||||
priority: 5.5,
|
||||
visible: conditions.canShowPriceAnnouncement,
|
||||
dismissible: true,
|
||||
},
|
||||
{
|
||||
type: NagbarType.GUILD_MEMBERSHIP_CTA,
|
||||
priority: 6,
|
||||
|
||||
@@ -13,6 +13,8 @@ export const NagbarType = {
|
||||
PREMIUM_GRACE_PERIOD: 'premium-grace-period',
|
||||
PREMIUM_EXPIRED: 'premium-expired',
|
||||
PREMIUM_ONBOARDING: 'premium-onboarding',
|
||||
PRICE_ANNOUNCEMENT: 'price-announcement',
|
||||
LEGACY_PRICE_OPT_IN: 'legacy-price-opt-in',
|
||||
GIFT_INVENTORY: 'gift-inventory',
|
||||
DESKTOP_DOWNLOAD: 'desktop-download',
|
||||
DESKTOP_UPDATE_READY: 'desktop-update-ready',
|
||||
@@ -49,6 +51,8 @@ export interface NagbarConditions {
|
||||
canShowPremiumGracePeriod: boolean;
|
||||
canShowPremiumExpired: boolean;
|
||||
canShowPremiumOnboarding: boolean;
|
||||
canShowPriceAnnouncement: boolean;
|
||||
canShowLegacyPriceOptIn: boolean;
|
||||
canShowGiftInventory: boolean;
|
||||
canShowDesktopDownload: boolean;
|
||||
canShowDesktopUpdateReady: boolean;
|
||||
|
||||
@@ -11,10 +11,12 @@ import {DesktopUpdateReadyNagbar} from '@app/features/app/components/layout/app_
|
||||
import {EmailVerificationNagbar} from '@app/features/app/components/layout/app_layout/nagbars/EmailVerificationNagbar';
|
||||
import {GiftInventoryNagbar} from '@app/features/app/components/layout/app_layout/nagbars/GiftInventoryNagbar';
|
||||
import {GuildMembershipCtaNagbar} from '@app/features/app/components/layout/app_layout/nagbars/GuildMembershipCtaNagbar';
|
||||
import {LegacyPriceOptInNagbar} from '@app/features/app/components/layout/app_layout/nagbars/LegacyPriceOptInNagbar';
|
||||
import {LinuxInputAccessNagbar} from '@app/features/app/components/layout/app_layout/nagbars/LinuxInputAccessNagbar';
|
||||
import {PremiumExpiredNagbar} from '@app/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar';
|
||||
import {PremiumGracePeriodNagbar} from '@app/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar';
|
||||
import {PremiumOnboardingNagbar} from '@app/features/app/components/layout/app_layout/nagbars/PremiumOnboardingNagbar';
|
||||
import {PriceAnnouncementNagbar} from '@app/features/app/components/layout/app_layout/nagbars/PriceAnnouncementNagbar';
|
||||
import {ScheduledMaintenanceNagbar} from '@app/features/app/components/layout/app_layout/nagbars/ScheduledMaintenanceNagbar';
|
||||
import {StreamerModeNagbar} from '@app/features/app/components/layout/app_layout/nagbars/StreamerModeNagbar';
|
||||
import {TermsAcceptanceNagbar} from '@app/features/app/components/layout/app_layout/nagbars/TermsAcceptanceNagbar';
|
||||
@@ -137,6 +139,24 @@ export const NagbarContainer: React.FC<NagbarContainerProps> = observer(({nagbar
|
||||
data-flx="app.app-layout.nagbar-container.premium-onboarding-nagbar"
|
||||
/>
|
||||
);
|
||||
case NagbarType.PRICE_ANNOUNCEMENT:
|
||||
if (!showPremiumFeatures) return null;
|
||||
return (
|
||||
<PriceAnnouncementNagbar
|
||||
key={nagbar.type}
|
||||
isMobile={mobileLayout.enabled}
|
||||
data-flx="app.app-layout.nagbar-container.price-announcement-nagbar"
|
||||
/>
|
||||
);
|
||||
case NagbarType.LEGACY_PRICE_OPT_IN:
|
||||
if (!showPremiumFeatures) return null;
|
||||
return (
|
||||
<LegacyPriceOptInNagbar
|
||||
key={nagbar.type}
|
||||
isMobile={mobileLayout.enabled}
|
||||
data-flx="app.app-layout.nagbar-container.legacy-price-opt-in-nagbar"
|
||||
/>
|
||||
);
|
||||
case NagbarType.GIFT_INVENTORY:
|
||||
if (!showPremiumFeatures) return null;
|
||||
return (
|
||||
|
||||
+88
@@ -0,0 +1,88 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import {Nagbar} from '@app/features/app/components/layout/Nagbar';
|
||||
import {NagbarButton} from '@app/features/app/components/layout/NagbarButton';
|
||||
import {NagbarContent} from '@app/features/app/components/layout/NagbarContent';
|
||||
import {NAGBAR_TONES, NagbarToneKind} from '@app/features/app/components/layout/NagbarTones';
|
||||
import {PREMIUM_PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants';
|
||||
import {resolvePriceAnnouncementCampaign} from '@app/features/premium/config/PriceAnnouncementCampaign';
|
||||
import PremiumState from '@app/features/premium/state/PremiumState';
|
||||
import {MANAGE_SUBSCRIPTION_DESCRIPTOR} from '@app/features/premium/utils/PremiumMessageDescriptors';
|
||||
import {formatMinorUnitPrice} from '@app/features/premium/utils/PricingUtils';
|
||||
import * as ModalCommands from '@app/features/ui/commands/ModalCommands';
|
||||
import {modal} from '@app/features/ui/commands/ModalCommands';
|
||||
import NagbarState from '@app/features/ui/state/Nagbar';
|
||||
import {UserSettingsModal} from '@app/features/user/components/modals/UserSettingsModal';
|
||||
import Users from '@app/features/user/state/Users';
|
||||
import * as LocaleUtils from '@app/features/user/utils/LocaleUtils';
|
||||
import {getFormattedLongDate} from '@fluxer/date_utils/src/DateFormatting';
|
||||
import {useLingui} from '@lingui/react/macro';
|
||||
import {observer} from 'mobx-react-lite';
|
||||
import {useCallback} from 'react';
|
||||
|
||||
export const LegacyPriceOptInNagbar = observer(function LegacyPriceOptInNagbar({isMobile}: {isMobile: boolean}) {
|
||||
const {i18n} = useLingui();
|
||||
const currentUser = Users.currentUser;
|
||||
const premiumState = PremiumState.loadedForUserId === currentUser?.id ? PremiumState.state : null;
|
||||
const resolved = resolvePriceAnnouncementCampaign(premiumState);
|
||||
const campaignId = resolved?.campaign.id ?? null;
|
||||
const handleOpenPremiumSettings = useCallback(() => {
|
||||
ModalCommands.push(
|
||||
modal(() => (
|
||||
<UserSettingsModal
|
||||
initialTab="plutonium"
|
||||
data-flx="app.app-layout.nagbars.legacy-price-opt-in-nagbar.handle-open-premium-settings.user-settings-modal"
|
||||
/>
|
||||
)),
|
||||
);
|
||||
}, []);
|
||||
const handleDismiss = useCallback(() => {
|
||||
if (campaignId == null) return;
|
||||
NagbarState.dismissLegacyPriceOptIn(campaignId);
|
||||
}, [campaignId]);
|
||||
if (!premiumState || !resolved) return null;
|
||||
const listPriceSwitch = premiumState.billing.list_price_switch ?? null;
|
||||
if (!listPriceSwitch?.available || listPriceSwitch.pending) return null;
|
||||
if (listPriceSwitch.currency !== resolved.currency || listPriceSwitch.effective_at == null) return null;
|
||||
if (listPriceSwitch.billing_cycle == null) return null;
|
||||
const locale = LocaleUtils.getCurrentLocale();
|
||||
const currentPrice = formatMinorUnitPrice(listPriceSwitch.current_amount_minor, listPriceSwitch.currency, locale);
|
||||
const newPrice = formatMinorUnitPrice(listPriceSwitch.list_amount_minor, listPriceSwitch.currency, locale);
|
||||
if (currentPrice == null || newPrice == null) return null;
|
||||
return (
|
||||
<Nagbar
|
||||
isMobile={isMobile}
|
||||
backgroundColor={NAGBAR_TONES[NagbarToneKind.BRAND].backgroundColor}
|
||||
textColor={NAGBAR_TONES[NagbarToneKind.BRAND].textColor}
|
||||
dismissible
|
||||
onDismiss={handleDismiss}
|
||||
data-flx="app.app-layout.nagbars.legacy-price-opt-in-nagbar.nagbar"
|
||||
>
|
||||
<NagbarContent
|
||||
isMobile={isMobile}
|
||||
onDismiss={handleDismiss}
|
||||
message={i18n._(
|
||||
listPriceSwitch.billing_cycle === 'monthly'
|
||||
? resolved.campaign.optInMonthlyMessage
|
||||
: resolved.campaign.optInYearlyMessage,
|
||||
{
|
||||
premiumProductName: PREMIUM_PRODUCT_NAME,
|
||||
currentPrice,
|
||||
newPrice,
|
||||
effectiveDate: getFormattedLongDate(listPriceSwitch.effective_at, locale),
|
||||
},
|
||||
)}
|
||||
actions={
|
||||
<NagbarButton
|
||||
isMobile={isMobile}
|
||||
onClick={handleOpenPremiumSettings}
|
||||
data-flx="app.app-layout.nagbars.legacy-price-opt-in-nagbar.nagbar-button.open-premium-settings"
|
||||
>
|
||||
{i18n._(MANAGE_SUBSCRIPTION_DESCRIPTOR)}
|
||||
</NagbarButton>
|
||||
}
|
||||
data-flx="app.app-layout.nagbars.legacy-price-opt-in-nagbar.nagbar-content"
|
||||
/>
|
||||
</Nagbar>
|
||||
);
|
||||
});
|
||||
+80
@@ -0,0 +1,80 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import {Nagbar} from '@app/features/app/components/layout/Nagbar';
|
||||
import {NagbarButton} from '@app/features/app/components/layout/NagbarButton';
|
||||
import {NagbarContent} from '@app/features/app/components/layout/NagbarContent';
|
||||
import {NAGBAR_TONES, NagbarToneKind} from '@app/features/app/components/layout/NagbarTones';
|
||||
import {PREMIUM_PRODUCT_NAME} from '@app/features/app/config/I18nDisplayConstants';
|
||||
import {resolvePriceAnnouncementCampaign} from '@app/features/premium/config/PriceAnnouncementCampaign';
|
||||
import PremiumState from '@app/features/premium/state/PremiumState';
|
||||
import {VIEW_PLANS_DESCRIPTOR} from '@app/features/premium/utils/PremiumMessageDescriptors';
|
||||
import {formatMinorUnitPrice} from '@app/features/premium/utils/PricingUtils';
|
||||
import * as ModalCommands from '@app/features/ui/commands/ModalCommands';
|
||||
import {modal} from '@app/features/ui/commands/ModalCommands';
|
||||
import NagbarState from '@app/features/ui/state/Nagbar';
|
||||
import {UserSettingsModal} from '@app/features/user/components/modals/UserSettingsModal';
|
||||
import Users from '@app/features/user/state/Users';
|
||||
import * as LocaleUtils from '@app/features/user/utils/LocaleUtils';
|
||||
import {useLingui} from '@lingui/react/macro';
|
||||
import {observer} from 'mobx-react-lite';
|
||||
import {useCallback} from 'react';
|
||||
|
||||
export const PriceAnnouncementNagbar = observer(function PriceAnnouncementNagbar({isMobile}: {isMobile: boolean}) {
|
||||
const {i18n} = useLingui();
|
||||
const currentUser = Users.currentUser;
|
||||
const premiumState = PremiumState.loadedForUserId === currentUser?.id ? PremiumState.state : null;
|
||||
const resolved = resolvePriceAnnouncementCampaign(premiumState);
|
||||
const campaignId = resolved?.campaign.id ?? null;
|
||||
const handleOpenPlans = useCallback(() => {
|
||||
if (campaignId != null) {
|
||||
NagbarState.dismissPriceAnnouncement(campaignId);
|
||||
}
|
||||
ModalCommands.push(
|
||||
modal(() => (
|
||||
<UserSettingsModal
|
||||
initialTab="plutonium"
|
||||
data-flx="app.app-layout.nagbars.price-announcement-nagbar.handle-open-plans.user-settings-modal"
|
||||
/>
|
||||
)),
|
||||
);
|
||||
}, [campaignId]);
|
||||
const handleDismiss = useCallback(() => {
|
||||
if (campaignId == null) return;
|
||||
NagbarState.dismissPriceAnnouncement(campaignId);
|
||||
}, [campaignId]);
|
||||
if (!premiumState || !resolved || premiumState.actual.has_active_paid_premium) return null;
|
||||
const locale = LocaleUtils.getCurrentLocale();
|
||||
const monthlyPrice = formatMinorUnitPrice(resolved.monthlyAmountMinor, resolved.currency, locale);
|
||||
const yearlyPrice = formatMinorUnitPrice(resolved.yearlyAmountMinor, resolved.currency, locale);
|
||||
if (monthlyPrice == null || yearlyPrice == null) return null;
|
||||
return (
|
||||
<Nagbar
|
||||
isMobile={isMobile}
|
||||
backgroundColor={NAGBAR_TONES[NagbarToneKind.BRAND].backgroundColor}
|
||||
textColor={NAGBAR_TONES[NagbarToneKind.BRAND].textColor}
|
||||
dismissible
|
||||
onDismiss={handleDismiss}
|
||||
data-flx="app.app-layout.nagbars.price-announcement-nagbar.nagbar"
|
||||
>
|
||||
<NagbarContent
|
||||
isMobile={isMobile}
|
||||
onDismiss={handleDismiss}
|
||||
message={i18n._(resolved.campaign.announcementMessage, {
|
||||
premiumProductName: PREMIUM_PRODUCT_NAME,
|
||||
monthlyPrice,
|
||||
yearlyPrice,
|
||||
})}
|
||||
actions={
|
||||
<NagbarButton
|
||||
isMobile={isMobile}
|
||||
onClick={handleOpenPlans}
|
||||
data-flx="app.app-layout.nagbars.price-announcement-nagbar.nagbar-button.open-plans"
|
||||
>
|
||||
{i18n._(VIEW_PLANS_DESCRIPTOR)}
|
||||
</NagbarButton>
|
||||
}
|
||||
data-flx="app.app-layout.nagbars.price-announcement-nagbar.nagbar-content"
|
||||
/>
|
||||
</Nagbar>
|
||||
);
|
||||
});
|
||||
@@ -122,6 +122,7 @@ export const Endpoints = {
|
||||
PREMIUM_REACTIVATE_SUBSCRIPTION: '/premium/reactivate-subscription',
|
||||
PREMIUM_CHANGE_SUBSCRIPTION: '/premium/change-subscription',
|
||||
PREMIUM_CANCEL_PENDING_SUBSCRIPTION_CHANGE: '/premium/cancel-pending-subscription-change',
|
||||
PREMIUM_SWITCH_TO_LIST_PRICE: '/premium/switch-to-list-price',
|
||||
PREMIUM_GRACE_END: '/premium/grace/end',
|
||||
PREMIUM_REFUND_ELIGIBILITY: '/premium/refund-eligibility',
|
||||
PREMIUM_REFUND_LATEST: '/premium/refund-latest',
|
||||
|
||||
@@ -165,9 +165,11 @@ export const TermsAcceptanceModal = observer(() => {
|
||||
ref={primaryRef}
|
||||
data-flx="auth.terms-acceptance-modal.button.accept"
|
||||
>
|
||||
{kind === 'terms' && i18n._(I_AGREE_TO_THE_UPDATED_TERMS_DESCRIPTOR)}
|
||||
{kind === 'privacy' && i18n._(I_AGREE_TO_THE_UPDATED_PRIVACY_POLICY_DESCRIPTOR)}
|
||||
{kind === 'both' && i18n._(I_AGREE_TO_THE_UPDATED_POLICIES_DESCRIPTOR)}
|
||||
{kind === 'terms'
|
||||
? i18n._(I_AGREE_TO_THE_UPDATED_TERMS_DESCRIPTOR)
|
||||
: kind === 'privacy'
|
||||
? i18n._(I_AGREE_TO_THE_UPDATED_PRIVACY_POLICY_DESCRIPTOR)
|
||||
: i18n._(I_AGREE_TO_THE_UPDATED_POLICIES_DESCRIPTOR)}
|
||||
</Button>
|
||||
</Modal.Footer>
|
||||
</Modal.Root>
|
||||
|
||||
@@ -20,7 +20,7 @@ export function AuthBottomLink({variant, to}: AuthBottomLinkProps) {
|
||||
return (
|
||||
<div className={styles.bottomLink} data-flx="auth.flow.auth-bottom-link.bottom-link">
|
||||
<span className={styles.bottomLinkText} data-flx="auth.flow.auth-bottom-link.bottom-link-text">
|
||||
{variant === 'login' ? i18n._(ALREADY_HAVE_ACCOUNT_DESCRIPTOR) : i18n._(NEED_ACCOUNT_DESCRIPTOR)}{' '}
|
||||
{`${variant === 'login' ? i18n._(ALREADY_HAVE_ACCOUNT_DESCRIPTOR) : i18n._(NEED_ACCOUNT_DESCRIPTOR)} `}
|
||||
</span>
|
||||
<AuthRouterLink
|
||||
to={to}
|
||||
|
||||
@@ -142,7 +142,9 @@ const IpAuthorizationScreen = ({challenge, onAuthorized, onBack}: IpAuthorizatio
|
||||
data-flx="auth.flow.ip-authorization-screen.button.resend"
|
||||
>
|
||||
{resendUsed ? <Trans>Resent</Trans> : <Trans>Resend email</Trans>}
|
||||
{resendIn > 0 ? ` (${resendIn}s)` : ''}
|
||||
<flx-i18n data-flx="auth.flow.ip-authorization-screen.flx-i18n">
|
||||
{resendIn > 0 ? ` (${resendIn}s)` : ''}
|
||||
</flx-i18n>
|
||||
</Button>
|
||||
)}
|
||||
{onBack ? (
|
||||
|
||||
@@ -182,7 +182,9 @@ export const ReplyBar = observer(function ReplyBar({
|
||||
data-flx="channel.reply-bar.switch.toggle-mention"
|
||||
>
|
||||
<AtIcon weight="bold" className={styles.mentionIcon} data-flx="channel.reply-bar.mention-icon" />
|
||||
{shouldMention ? i18n._(ON_DESCRIPTOR) : i18n._(OFF_DESCRIPTOR)}
|
||||
<flx-i18n data-flx="channel.channel-reply-bar.reply-bar.flx-i18n">
|
||||
{shouldMention ? i18n._(ON_DESCRIPTOR) : i18n._(OFF_DESCRIPTOR)}
|
||||
</flx-i18n>
|
||||
</button>
|
||||
</FocusRing>
|
||||
</Tooltip>
|
||||
|
||||
@@ -223,8 +223,7 @@ export const ReplyPreview = observer(
|
||||
data-guild-id={resolvedGuildId}
|
||||
data-flx="channel.reply-preview.replied-username"
|
||||
>
|
||||
{message.mentions.some((mention) => mention.id === referencedMessage.author.id) && '@'}
|
||||
{NicknameUtils.getNickname(referencedMessage.author, resolvedGuildId)}
|
||||
{`${message.mentions.some((mention) => mention.id === referencedMessage.author.id) ? '@' : ''}${NicknameUtils.getNickname(referencedMessage.author, resolvedGuildId)}`}
|
||||
</span>
|
||||
</PreloadableUserPopout>
|
||||
<FocusRing offset={-2} data-flx="channel.reply-preview.focus-ring">
|
||||
|
||||
+1
@@ -68,6 +68,7 @@ export const DEFAULT_DEVELOPER_OPTIONS = {
|
||||
mockTitlebarPlatformOverride: 'auto',
|
||||
mockAttachmentStates: {},
|
||||
noOpInAppReports: false,
|
||||
disableTranslationDomGuard: false,
|
||||
} satisfies DeveloperOptionsState;
|
||||
const PREMIUM_SCENARIO_OVERRIDE_KEYS = new Set<keyof DeveloperOptionsState>([
|
||||
'premiumTypeOverride',
|
||||
|
||||
+5
-4
@@ -81,10 +81,11 @@ export function CsvAttachmentTablePanel({
|
||||
data-flx="channel.embeds.attachments.csv-attachment-table-panel.warning-circle-icon"
|
||||
/>
|
||||
<span data-flx="channel.embeds.attachments.csv-attachment-table-panel.span">
|
||||
{previewError?.type === 'size'
|
||||
? i18n._(FILE_IS_TOO_LARGE_FOR_INLINE_PREVIEW_LIMIT_DESCRIPTOR, {previewLimitKb: PREVIEW_LIMIT_KB})
|
||||
: i18n._(UNABLE_TO_LOAD_PREVIEW_DESCRIPTOR)}
|
||||
{previewError?.type === 'network' && previewError.message ? ` ${previewError.message}` : ''}
|
||||
{`${
|
||||
previewError?.type === 'size'
|
||||
? i18n._(FILE_IS_TOO_LARGE_FOR_INLINE_PREVIEW_LIMIT_DESCRIPTOR, {previewLimitKb: PREVIEW_LIMIT_KB})
|
||||
: i18n._(UNABLE_TO_LOAD_PREVIEW_DESCRIPTOR)
|
||||
}${previewError?.type === 'network' && previewError.message ? ` ${previewError.message}` : ''}`}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+5
-4
@@ -64,10 +64,11 @@ export function TextualAttachmentCodePanel({
|
||||
data-flx="channel.embeds.attachments.textual-attachment-code-panel.warning-circle-icon"
|
||||
/>
|
||||
<span data-flx="channel.embeds.attachments.textual-attachment-code-panel.span">
|
||||
{previewError?.type === 'size'
|
||||
? i18n._(FILE_IS_TOO_LARGE_FOR_INLINE_PREVIEW_LIMIT_DESCRIPTOR, {previewLimitKb: PREVIEW_LIMIT_KB})
|
||||
: i18n._(UNABLE_TO_LOAD_PREVIEW_DESCRIPTOR)}
|
||||
{previewError?.type === 'network' && previewError.message ? ` ${previewError.message}` : ''}
|
||||
{`${
|
||||
previewError?.type === 'size'
|
||||
? i18n._(FILE_IS_TOO_LARGE_FOR_INLINE_PREVIEW_LIMIT_DESCRIPTOR, {previewLimitKb: PREVIEW_LIMIT_KB})
|
||||
: i18n._(UNABLE_TO_LOAD_PREVIEW_DESCRIPTOR)
|
||||
}${previewError?.type === 'network' && previewError.message ? ` ${previewError.message}` : ''}`}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -116,7 +116,9 @@ export const FiltersSection: React.FC<FiltersSectionProps> = observer(
|
||||
size={remFromPx(12)}
|
||||
data-flx="channel.message-search-bar.filter-option.filters-section.funnel-icon"
|
||||
/>
|
||||
{title || i18n._(SEARCH_FILTERS_DESCRIPTOR)}
|
||||
<flx-i18n data-flx="channel.message-search-bar.filter-option.filters-section.flx-i18n">
|
||||
{title || i18n._(SEARCH_FILTERS_DESCRIPTOR)}
|
||||
</flx-i18n>
|
||||
</span>
|
||||
</div>
|
||||
{options.map((option: SearchFilterOption, index) => (
|
||||
|
||||
@@ -91,7 +91,9 @@ export const PlaintextSection: React.FC<PlaintextSectionProps> = observer(
|
||||
data-flx="channel.message-search-bar.plaintext-section.magnifying-glass-icon"
|
||||
/>
|
||||
)}
|
||||
{group === 'filter-key' ? i18n._(SEARCH_FILTERS_DESCRIPTOR) : `${group}:`}
|
||||
<flx-i18n data-flx="channel.message-search-bar.plaintext-section.flx-i18n">
|
||||
{group === 'filter-key' ? i18n._(SEARCH_FILTERS_DESCRIPTOR) : `${group}:`}
|
||||
</flx-i18n>
|
||||
</span>
|
||||
</div>
|
||||
{entries.map(({row, index}) => {
|
||||
|
||||
+2
-1
@@ -84,7 +84,8 @@ export const UnaddableRecipientsConfirmModal = observer(
|
||||
<ul data-flx="channel.unaddable-recipients-confirm-modal.ul">
|
||||
{rows.map((row) => (
|
||||
<li key={row.userId} data-flx="channel.unaddable-recipients-confirm-modal.li">
|
||||
<strong data-flx="channel.unaddable-recipients-confirm-modal.strong">{row.name}</strong>: {row.reasonText}
|
||||
<strong data-flx="channel.unaddable-recipients-confirm-modal.strong">{row.name}</strong>
|
||||
<span data-flx="channel.unaddable-recipients-confirm-modal.span">{`: ${row.reasonText}`}</span>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
|
||||
@@ -34,6 +34,16 @@ const ALWAYS_DISPLAY_THE_VOICE_CONNECTION_STATUS_BAR_IN_DESCRIPTOR = msg({
|
||||
comment:
|
||||
'Developer / debug surface — keep terse and technical. Tooltip / description for forcing the voice connection status bar visible in mocked mode.',
|
||||
});
|
||||
const DISABLE_TRANSLATION_DOM_GUARD_DESCRIPTOR = msg({
|
||||
message: 'Disable translation DOM guard',
|
||||
comment: 'Developer option label for turning off the page-translator DOM crash guard.',
|
||||
});
|
||||
const STOP_PATCHING_NODE_PROTOTYPE_INSERTBEFORE_AND_DESCRIPTOR = msg({
|
||||
message:
|
||||
'Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds.',
|
||||
comment:
|
||||
'Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.',
|
||||
});
|
||||
const APP_STATE_DESCRIPTOR = msg({
|
||||
message: 'App state',
|
||||
comment: 'Developer options group for overriding app/account state.',
|
||||
@@ -255,6 +265,11 @@ export const getToggleGroups = (): Array<ToggleGroup> => [
|
||||
label: NO_OP_IN_APP_REPORTS_DESCRIPTOR,
|
||||
description: NO_OP_IN_APP_REPORTS_DESC_DESCRIPTOR,
|
||||
},
|
||||
{
|
||||
key: 'disableTranslationDomGuard',
|
||||
label: DISABLE_TRANSLATION_DOM_GUARD_DESCRIPTOR,
|
||||
description: STOP_PATCHING_NODE_PROTOTYPE_INSERTBEFORE_AND_DESCRIPTOR,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
@@ -96,6 +96,7 @@ export type DeveloperOptionsState = Readonly<{
|
||||
}
|
||||
>;
|
||||
noOpInAppReports: boolean;
|
||||
disableTranslationDomGuard: boolean;
|
||||
}>;
|
||||
type MutableDeveloperOptionsState = {
|
||||
-readonly [K in keyof DeveloperOptionsState]: DeveloperOptionsState[K];
|
||||
@@ -179,6 +180,7 @@ class DeveloperOptions implements DeveloperOptionsState {
|
||||
mockGiftRedeemed: boolean | null = null;
|
||||
mockTitlebarPlatformOverride: DeveloperOptionsState['mockTitlebarPlatformOverride'] = 'auto';
|
||||
noOpInAppReports = false;
|
||||
disableTranslationDomGuard = false;
|
||||
|
||||
constructor() {
|
||||
makeAutoObservable(this, {}, {autoBind: true});
|
||||
@@ -250,6 +252,7 @@ class DeveloperOptions implements DeveloperOptionsState {
|
||||
'mockTitlebarPlatformOverride',
|
||||
'mockAttachmentStates',
|
||||
'noOpInAppReports',
|
||||
'disableTranslationDomGuard',
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,198 @@
|
||||
// @vitest-environment happy-dom
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import {AppI18nProvider} from '@app/features/i18n/components/AppI18nProvider';
|
||||
import {commitUnderTranslation, isTranslationDomCrash} from '@app/features/i18n/testing/TranslationCommitHarness';
|
||||
import {
|
||||
findTranslationUnsafeTextNodes,
|
||||
TRANSLATION_MARKER,
|
||||
TRANSLATOR_PIPELINE_NAMES,
|
||||
TranslatorPipelines,
|
||||
} from '@app/features/i18n/testing/TranslatorSimulation';
|
||||
import {i18n} from '@lingui/core';
|
||||
import {I18nProvider, Trans} from '@lingui/react';
|
||||
import {createElement, type ReactNode} from 'react';
|
||||
import {afterEach, beforeAll, describe, expect, it} from 'vitest';
|
||||
|
||||
const ENGLISH = {
|
||||
simple: 'Monthly {price}',
|
||||
rich: 'Renews on <0>{date}</0>. Enjoy!',
|
||||
nested: 'Renews on <0>{date} at <1>noon</1></0>. Enjoy!',
|
||||
};
|
||||
const GERMAN = {
|
||||
simple: 'Monatlich {price}',
|
||||
rich: '<0>{date}</0> ist das Datum. Viel Spass!',
|
||||
nested: 'Ende <0><1>mittags</1> am {date}</0>. Viel Spass!',
|
||||
};
|
||||
|
||||
const visibleText = (html: string): string => html.replace(/<[^>]+>/g, '').replaceAll(TRANSLATION_MARKER, '');
|
||||
|
||||
const message = (id: keyof typeof ENGLISH): ReactNode =>
|
||||
createElement(Trans, {
|
||||
id,
|
||||
values: {date: 'Jan 1', price: '$5'},
|
||||
components: {0: createElement('strong'), 1: createElement('em')},
|
||||
});
|
||||
|
||||
const provided = (child: ReactNode, safe: boolean): ReactNode =>
|
||||
createElement(safe ? AppI18nProvider : I18nProvider, {i18n}, createElement('div', null, child));
|
||||
|
||||
const withBadge = (id: keyof typeof ENGLISH, on: boolean, safe: boolean): ReactNode =>
|
||||
provided(
|
||||
createElement('div', null, on ? createElement('b', null, '!') : null, message(id), createElement('i', null, 'x')),
|
||||
safe,
|
||||
);
|
||||
|
||||
beforeAll(() => {
|
||||
i18n.load('en', ENGLISH);
|
||||
i18n.load('de', GERMAN);
|
||||
i18n.activate('en');
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
i18n.activate('en');
|
||||
document.body.replaceChildren();
|
||||
});
|
||||
|
||||
describe('lingui <Trans> without a translation-safe defaultComponent', () => {
|
||||
for (const pipelineName of TRANSLATOR_PIPELINE_NAMES) {
|
||||
it(`throws the production DOM error on a simple message under ${pipelineName}`, () => {
|
||||
const result = commitUnderTranslation({
|
||||
before: withBadge('simple', false, false),
|
||||
after: withBadge('simple', true, false),
|
||||
pipeline: TranslatorPipelines[pipelineName],
|
||||
});
|
||||
expect(result.unsafeTextNodesBeforeTranslation).toBeGreaterThan(0);
|
||||
expect(result.htmlBeforeTranslation).toContain('Monthly $5<i>x</i>');
|
||||
expect(isTranslationDomCrash(result.error)).toBe(true);
|
||||
});
|
||||
|
||||
it(`throws the production DOM error on a rich message under ${pipelineName}`, () => {
|
||||
const result = commitUnderTranslation({
|
||||
before: withBadge('rich', false, false),
|
||||
after: withBadge('rich', true, false),
|
||||
pipeline: TranslatorPipelines[pipelineName],
|
||||
});
|
||||
expect(result.unsafeTextNodesBeforeTranslation).toBeGreaterThan(0);
|
||||
expect(isTranslationDomCrash(result.error)).toBe(true);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
describe('lingui <Trans> under AppI18nProvider', () => {
|
||||
for (const pipelineName of TRANSLATOR_PIPELINE_NAMES) {
|
||||
if (pipelineName === 'chromeCompound') {
|
||||
for (const id of ['simple', 'rich'] as const) {
|
||||
it(`leaves the compound pipeline no text-and-element parent to rewrite in a ${id} message`, () => {
|
||||
const unguarded = commitUnderTranslation({
|
||||
before: withBadge(id, false, false),
|
||||
after: withBadge(id, false, false),
|
||||
pipeline: TranslatorPipelines.chromeCompound,
|
||||
});
|
||||
expect(unguarded.unsafeTextNodesBeforeTranslation).toBeGreaterThan(0);
|
||||
expect(unguarded.htmlAfterTranslation).not.toBe(unguarded.htmlBeforeTranslation);
|
||||
|
||||
const guarded = commitUnderTranslation({
|
||||
before: withBadge(id, false, true),
|
||||
after: withBadge(id, true, true),
|
||||
pipeline: TranslatorPipelines.chromeCompound,
|
||||
});
|
||||
expect(guarded.unsafeTextNodesBeforeTranslation).toBe(0);
|
||||
expect(guarded.htmlAfterTranslation).toBe(guarded.htmlBeforeTranslation);
|
||||
expect(guarded.error).toBeNull();
|
||||
});
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
it(`renders a simple message safely under ${pipelineName}`, () => {
|
||||
let unsafeTextNodes = -1;
|
||||
const result = commitUnderTranslation({
|
||||
before: withBadge('simple', false, true),
|
||||
after: withBadge('simple', true, true),
|
||||
pipeline: TranslatorPipelines[pipelineName],
|
||||
inspect: (host) => {
|
||||
unsafeTextNodes = findTranslationUnsafeTextNodes(host).length;
|
||||
},
|
||||
});
|
||||
expect(result.htmlAfterTranslation).not.toBe(result.htmlBeforeTranslation);
|
||||
expect(result.htmlAfterTranslation).toContain(TRANSLATION_MARKER);
|
||||
expect(result.error).toBeNull();
|
||||
expect(result.htmlBeforeTranslation).not.toContain('Monthly $5<i>x</i>');
|
||||
expect(result.unsafeTextNodesBeforeTranslation).toBe(0);
|
||||
expect(unsafeTextNodes).toBe(0);
|
||||
expect(visibleText(result.htmlAfterCommit)).toBe('!Monthly $5x');
|
||||
});
|
||||
|
||||
it(`renders a rich message safely under ${pipelineName}`, () => {
|
||||
let unsafeTextNodes = -1;
|
||||
const result = commitUnderTranslation({
|
||||
before: withBadge('rich', false, true),
|
||||
after: withBadge('rich', true, true),
|
||||
pipeline: TranslatorPipelines[pipelineName],
|
||||
inspect: (host) => {
|
||||
unsafeTextNodes = findTranslationUnsafeTextNodes(host).length;
|
||||
},
|
||||
});
|
||||
expect(result.htmlAfterTranslation).not.toBe(result.htmlBeforeTranslation);
|
||||
expect(result.htmlAfterTranslation).toContain(TRANSLATION_MARKER);
|
||||
expect(result.error).toBeNull();
|
||||
expect(unsafeTextNodes).toBe(0);
|
||||
expect(result.htmlAfterCommit).toContain('<strong>');
|
||||
expect(visibleText(result.htmlAfterCommit)).toBe('!Renews on Jan 1. Enjoy!x');
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
describe('locale switch while the page is translated', () => {
|
||||
for (const id of ['rich', 'nested'] as const) {
|
||||
it(`reorders the ${id} message segments without throwing`, () => {
|
||||
const result = commitUnderTranslation({
|
||||
before: provided(message(id), true),
|
||||
after: provided(message(id), true),
|
||||
pipeline: TranslatorPipelines.chromeLegacyFont,
|
||||
betweenCommits: () => {
|
||||
i18n.activate('de');
|
||||
},
|
||||
});
|
||||
expect(result.htmlAfterTranslation).not.toBe(result.htmlBeforeTranslation);
|
||||
expect(result.htmlAfterTranslation).toContain(TRANSLATION_MARKER);
|
||||
expect(result.error).toBeNull();
|
||||
expect(visibleText(result.htmlAfterCommit)).toContain('Viel Spass!');
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
describe('translation-safe wrapping internals', () => {
|
||||
it('recurses into nested rich message elements so no host element mixes text with element children', () => {
|
||||
const result = commitUnderTranslation({
|
||||
before: provided(message('nested'), true),
|
||||
after: provided(message('nested'), true),
|
||||
pipeline: TranslatorPipelines.chromeLegacyFont,
|
||||
});
|
||||
expect(result.unsafeTextNodesBeforeTranslation).toBe(0);
|
||||
});
|
||||
|
||||
it('leaves nested rich message text unwrapped when it is not recursed into', () => {
|
||||
const result = commitUnderTranslation({
|
||||
before: provided(message('nested'), false),
|
||||
after: provided(message('nested'), false),
|
||||
pipeline: TranslatorPipelines.chromeLegacyFont,
|
||||
});
|
||||
expect(result.unsafeTextNodesBeforeTranslation).toBeGreaterThan(0);
|
||||
});
|
||||
|
||||
it('remounts on a locale change so no stale translated segment survives', () => {
|
||||
const result = commitUnderTranslation({
|
||||
before: provided(message('rich'), true),
|
||||
after: provided(message('rich'), true),
|
||||
pipeline: TranslatorPipelines.chromeLegacyFont,
|
||||
betweenCommits: () => {
|
||||
i18n.activate('de');
|
||||
},
|
||||
});
|
||||
expect(result.error).toBeNull();
|
||||
expect(visibleText(result.htmlAfterCommit)).toContain('Viel Spass!');
|
||||
expect(result.htmlAfterCommit.split(TRANSLATION_MARKER).length - 1).toBe(0);
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,14 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import {TranslationSafeMessage} from '@app/features/i18n/components/TranslationSafeMessage';
|
||||
import type {I18n} from '@lingui/core';
|
||||
import {I18nProvider} from '@lingui/react';
|
||||
import type {ReactNode} from 'react';
|
||||
|
||||
export function AppI18nProvider({i18n, children}: {i18n: I18n; children?: ReactNode}): ReactNode {
|
||||
return (
|
||||
<I18nProvider i18n={i18n} defaultComponent={TranslationSafeMessage}>
|
||||
{children}
|
||||
</I18nProvider>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import {useLingui} from '@lingui/react';
|
||||
import {cloneElement, Fragment, isValidElement, type ReactNode} from 'react';
|
||||
|
||||
function wrapTextSegments(node: ReactNode, key?: string): ReactNode {
|
||||
if (typeof node === 'string' || typeof node === 'number') {
|
||||
return (
|
||||
<flx-i18n key={key} data-flx="i18n.translation-safe-message.wrap-text-segments.flx-i18n">
|
||||
{node}
|
||||
</flx-i18n>
|
||||
);
|
||||
}
|
||||
if (Array.isArray(node)) {
|
||||
return node.map((child, index) => wrapTextSegments(child as ReactNode, `flx-i18n-${index}`));
|
||||
}
|
||||
if (isValidElement<{children?: ReactNode}>(node)) {
|
||||
if (typeof node.type !== 'string' && node.type !== Fragment) {
|
||||
return node;
|
||||
}
|
||||
const {children} = node.props;
|
||||
if (children == null) {
|
||||
return node;
|
||||
}
|
||||
return cloneElement(node, undefined, wrapTextSegments(children));
|
||||
}
|
||||
return node;
|
||||
}
|
||||
|
||||
export function TranslationSafeMessage({children}: {children?: ReactNode}): ReactNode {
|
||||
const {i18n} = useLingui();
|
||||
return <Fragment key={i18n.locale}>{wrapTextSegments(children)}</Fragment>;
|
||||
}
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# إشارة مرجعية} few {# إشارات مر
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# مجتمع تم العثور عليه} other {# مجتمعات تم العثور عليها}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# مجموعة غير متاحة مؤقتًا بسبب عطل في مكثف التدفق.} other {# مجموعات غير متاحة مؤقتًا بسبب عطل في مكثف التدفق.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "مشترك في {premiumProductFullName} منذ {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "خصوصية شارة {premiumProductName}"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "يكلف {premiumProductName} أقل الآن. انتقل من {currentPrice} إلى {newPrice} شهريًا بدءًا من {effectiveDate}، ولن يتم فرض أي رسوم اليوم."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} أصبح أقل تكلفة الآن. قم بالتبديل من {currentPrice} إلى {newPrice} سنويًا بدءًا من {effectiveDate}، ولن يتم فرض أي رسوم اليوم."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "اسم مضيف، مثل {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "يتوفر تحديث لـ Fluxer على نظام التشغيل Linux. اختر تنسيق الحزمة لهذا النظام وسيحفظه {productName} محليًا."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "يتوفر سعر أقل. يبدأ التغيير في <0>{listPriceEffectiveDate}</0> ولن يغير أي شيء آخر."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "إجراءات"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "عناصر التحكم في المحاذاة متاحة فقط على
|
||||
msgid "All"
|
||||
msgstr "الكل"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "الكل <0/> مقابل <1>{effectiveMonthlyPrice} شهريًا</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "الكل <0/> مقابل <1>{effectiveYearlyPrice} سنويًا</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "كل <0/> متضمن مع اشتراكك."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "الكل <0/>، للأبد. لا فواتير، ولا تجديدات."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "إعدادات التطبيق"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "حالة التطبيق"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "بالخارج حاليًا"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "باستخدامك لـ {productName}، فإنك توافق على ال
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "تجاوز هيكل التحميل"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "ألغِ إذا أردت اختيار اسم مستخدم آخر."
|
||||
msgid "Cancel import"
|
||||
msgstr "إلغاء الاستيراد"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "إلغاء تغيير السعر"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "إلغاء الطلب"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "إلغاء التبديل المجدول"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "إلغاء الاشتراك"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "إلغاء الاشتراك؟"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "إلغاء التغيير المجدول للانتقال إلى السعر الحالي بدلاً من ذلك."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "إلغاء التحميل"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "إلغاء الترقية السنوية"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "هل تريد إلغاء طلب صداقتك إلى {displayName}؟"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "جارٍ الإلغاء"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "جارٍ الإلغاء"
|
||||
msgid "Cancellation"
|
||||
msgstr "إلغاء"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "سيتم الإلغاء في <0>{cancelDate}</0>. <1/> يظل نشطًا حتى ذلك الحين."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "نموذج تغيير كلمة المرور"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "تم جدولة التغيير"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "تعذّر إلغاء طلب الصداقة. يُرجى المحاولة مرة أخرى."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "تعذّر إلغاء تغيير الفوترة المعلّق"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "تعذّر إلغاء اشتراكك"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "تعذر تغيير دورة الفوترة"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "تعذر تغيير سعرك"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "تعذر تكرار هذه القناة"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "تعذر إنهاء فترة السماح الخاصة بك"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "تعذر فتح نتيجة البحث"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "تعذر معالجة الصورة"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "تعذر إعادة تنشيط اشتراكك"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "إنشاء دور"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "إنشاء حساب المسؤول"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "إنشاء محادثة جماعية مع المستلمين المتبقين ({addableCount}) وتخطي الآخرين؟"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "مخصص…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "بوابة العملاء"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "تعطيل الاختصار"
|
||||
msgid "Disable sounds"
|
||||
msgstr "تعطيل الأصوات"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "تعطيل حماية DOM للمترجم"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "تاريخ الانتهاء"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "إنهاء فترة السماح الآن"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "تنتهي بعد"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "انتهت صلاحيته في {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "انتهت صلاحيته في {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "انتهت صلاحيته في <0>{expiredDate}</0>. لم تعد <1/> نشطة. يمكنك إعادة الاشتراك في أي وقت."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "تصدير السمات"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "عرض قسم المنطقة الزمنية المخصص للموظفين في إعدادات الملف الشخصي."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "الميزة معطلة مؤقتًا"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "الميزات"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "مفعل قسريًا"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "فرض فشل تحميل الرسائل"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "فرض فشل إرسال الرسائل"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "فرض تحميل منتقي صور GIF"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "إخفاء إجباري"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "فرض تحميل الهيكل العظمي"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "فرض عدم وجود إذن {permissionName}"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "فرض تحذير بيانات الملف الشخصي"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "فرض الهياكل العظمية للملف الشخصي"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "فرض الإظهار"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "فرض إظهار إخلاء مسؤولية عنوان URL المخصص"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "فرض إظهار حالة الاتصال الصوتي"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "تفعيل وضع التباطؤ الإجباري"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "فرض نوع رسالة غير معروف"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "فرض توفر تحديث"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "تعذر تحميل صور GIF"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "هدية: تنتهي صلاحيتها قريبًا"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "هدية: فترة سماح (لا يزال لديك حق الوصول)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "مُهدى <0/> حتى <1>{giftEndDate}</1>. لا يتم التجديد تلقائيًا. استبدل المزيد من رموز الهدايا للتمديد."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "فهمت"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "فترة السماح"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "تلميح لليسار"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "مساحات الرموز التعبيرية القديمة"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "السعر القديم"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "المكتبة: {count} من {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "مدى الحياة"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "شهريًا"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "شهريًا {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "تبدأ الفوترة الشهرية في <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "تبدأ الفوترة الشهرية في <0>{pendingChangeDate}</0>. أول رسوم شهرية: {pendingInitialPriceLabel}. التجديدات الشهرية المستقبلية: {pendingRecurringPriceLabel}/شهريًا."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "خطأ في الشبكة"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "الشبكة والأداء"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "ميكروفون جديد"
|
||||
msgid "New password"
|
||||
msgstr "كلمة مرور جديدة"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "سعر جديد مجدول لـ <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "سعر جديد مجدول لـ <0>{pendingChangeDate}</0>. سيتم التجديد بـ {pendingTargetPriceLabel} من ذلك الحين فصاعدًا."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "لم يتم تقديم سبب."
|
||||
msgid "No recent mentions"
|
||||
msgstr "لا توجد إشارات حديثة"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "لا يوجد مستلمون متبقون لإنشاء محادثة جماعية معهم."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "لا توجد Webhooks"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "تقارير داخل التطبيق لا تعمل"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "ليس مناسبًا لك؟ يمكنك إيقاف تشغيله في أ
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "تشغيل"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "في <0>{listPriceEffectiveDate}</0>، سينتقل اشتراكك من {listPriceCurrentLabel} إلى {listPriceNewLabel}. لن يتم فرض أي رسوم اليوم، وسيظل باقي اشتراكك كما هو تمامًا."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "المزايا"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "الميزات متوقفة مؤقتًا"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "التفاعلات"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "إعادة التفعيل"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "استرد لنفسك"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "استرداد رمز الهدية"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "عتبة التجديد (أيام)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "نافذة التجديد (أيام)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "يُجدد في <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "استعادة النافذة"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "إعادة الاشتراك"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "وضع الاستضافة الذاتية"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "تجاوز وضع الاستضافة الذاتية"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "عرض مشاركة شاشتي"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "إظهار نفسي ككاتب"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "إظهار عناصر تحكم مستوى صوت المشاركين لكل جهاز في قوائم الصوت"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "عرض إعدادات المنطقة الزمنية للملف الشخصي (للموظفين فقط)"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "تجاوز تحذير الرابط الخارجي لجميع النطاقات"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "تجاوز استدعاء الشبكة عند إرسال تقرير داخل التطبيق. يستمر التدفق إلى شاشة النجاح حتى تتمكن من ممارسة واجهة المستخدم، ولكن لا يتم إرسال أي شيء فعليًا إلى فريق السلامة."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "سلوفينيا"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "تحميل بطيء للمرفقات"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "تمهل — انتظر لحظة قبل المحاولة مرة أخرى
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "تعديل رسالة بطيء"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "تحميل الرسائل ببطء"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "إرسال الرسائل ببطء"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "تحميل بطيء للملف الشخصي"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "حدث خطأ أثناء تحميل الأعضاء. حاول مرة أخرى لاحقًا."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "حدث خطأ ما أثناء إلغاء تغيير الفوترة المعلق. يرجى المحاولة مرة أخرى بعد قليل."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "حدث خطأ أثناء إلغاء اشتراكك. يرجى المحاولة مرة أخرى بعد قليل."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "حدث خطأ ما أثناء تغيير دورة الفوترة. يُرجى المحاولة مرة أخرى بعد قليل."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "حدث خطأ أثناء تغيير سعرك. يُرجى المحاولة مرة أخرى بعد لحظة."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "حدث خطأ أثناء ربط حسابك. يمكنك إغلاق هذه النافذة والمحاولة مرة أخرى."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "حدث خطأ ما أثناء إنهاء فترة السماح الخاصة بك. يرجى المحاولة مرة أخرى بعد قليل."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "حدث خطأ أثناء تحميل سجل النشاط."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "حدث خطأ أثناء إعداد هذا الملصق. جرّب ملفًا آخر أو أعد المحاولة بعد قليل."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "حدث خطأ ما أثناء إعادة تنشيط اشتراكك. يُرجى المحاولة مرة أخرى بعد قليل."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "البدء من جديد"
|
||||
msgid "Start recording"
|
||||
msgstr "بدء التسجيل"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "ابدأ عمليات البحث بـ <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> لتضييق نطاق النتائج."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "إيقاف الرسائل وطلبات الصداقة."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "إيقاف Neko عن مطاردة مؤشر الفأرة مع الحفاظ على إمكانية سحبه والتفاعل معه."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "إيقاف تعديل Node.prototype insertBefore و removeChild. سيتعطل التطبيق مرة أخرى عندما يقوم مترجم صفحة بإعادة إدخال عقد نصية لا يزال React يحتفظ بها."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "التبديل بين ملفك الشخصي العام وملفات ال
|
||||
msgid "Switch device"
|
||||
msgstr "تبديل الجهاز"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "تبديل السعر"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "التبديل إلى {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "التبديل إلى الإدخال المباشر"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "التبديل إلى شهري"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "التبديل إلى الفوترة الشهرية؟"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "التبديل إلى المجتمع السابق أو الرسائل ا
|
||||
msgid "Switch to single column"
|
||||
msgstr "التبديل إلى عمود واحد"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "هل تريد التبديل إلى السعر الجديد؟"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "التبديل إلى هذا الحساب"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "التبديل إلى عمودين"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "التبديل إلى سنوي"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "التبديل إلى الفوترة السنوية؟"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "العلامات ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "يجب أن تتكون العلامات من حرفين إلى {maxLength} حرف أبجدي رقمي."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "يسري هذا عند التجديد التالي. سنطبق رصيد {creditLabel} من دفعتك الشهرية الحالية، لذا ستكون رسومك السنوية الأولى <0>{firstRenewalPriceLabel}</0>. ستكون التجديدات السنوية المستقبلية {renewalPrice} سنويًا."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "يسري هذا عند التجديد التالي. يظل اشتراكك شهريًا حتى ذلك الحين، وسيكون تجديدك التالي <0>{renewalPrice}/سنة</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "يسري هذا عند التجديد التالي. يظل اشتراكك سنويًا حتى ذلك الحين، وسيكون تجديدك التالي <0>{renewalPrice}/شهريًا</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "يسري فورًا. قد يتم تطبيق تعديل تناسبي عبر {PAYMENT_PROVIDER_NAME}. سيكون تجديدك التالي <0>{renewalPrice}/month</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "يسري فورًا. قد يتم تطبيق رسوم نسبية عبر {PAYMENT_PROVIDER_NAME}. سيكون تجديدك التالي <0>{renewalPrice}/year</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "تمت إعادة الاسم إلى ما كان عليه سابقًا.
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "ستعيد القناة الجديدة استخدام الأذونات من <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "تم بالفعل جدولة السعر الجديد لـ {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "ستعيد قناة الدردشة الصوتية الجديدة استخدام الأذونات وحدود المستخدم ومعدل البت من <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "حالة الكتابة"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "مكونات واجهة المستخدم"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "الرؤية"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "رؤيوي"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "لا نرسل رسائل التحقق النصية إلى هذا الب
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "لقد وجدنا اشتراك {premiumProductFullName} حالي لهذا الحساب. يمكنك إدارته في بوابة الفواتير الآمنة لتحديث تفاصيل الدفع أو التحقق من حالة التجديد. إذا كنت قد دفعت للتو، فانتظر دقيقة وأعد فتح هذه الصفحة."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "لقد خفضنا سعر {premiumProductName} في البرازيل. أصبح الآن بسعر {monthlyPrice} شهريًا أو {yearlyPrice} سنويًا."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "سنويًا {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "هدية سنوية"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "الترقية السنوية مجدولة بتاريخ <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "الترقية السنوية مجدولة بتاريخ <0>{pendingChangeDate}</0>. أول رسوم سنوية: {pendingInitialPriceLabel} بعد رصيد {pendingCreditPriceLabel}. التجديدات السنوية المستقبلية: {pendingRecurringPriceLabel} سنويًا."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "الترقية السنوية مجدولة بتاريخ <0>{pendingChangeDate}</0>. أول رسوم سنوية: {pendingInitialPriceLabel}. التجديدات السنوية المستقبلية: {pendingRecurringPriceLabel}/سنة."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "أنت في القناة الصوتية"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "أنت مشترك بسعر قديم لم يعد متاحًا للمشتركين الجدد."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "أنت تستخدم سعرًا قديمًا. السعر الحالي لهذه الخطة هو {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "وحدة معالجة الرسوميات (GPU) لديك تقوم بترميز هذا في الجهاز."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "انتهت فترة السماح الخاصة بك."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "تم الدفع بنجاح. يمكنك الآن إغلاق هذه النافذة والعودة إلى التطبيق."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "تم إلغاء تغيير الفوترة المعلّق."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "تعذر نشر مشاركة شاشتك باستخدام برنامج ت
|
||||
msgid "Your stream is still live"
|
||||
msgstr "البث المباشر الخاص بك لا يزال نشطًا"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "لا يمكن نقل اشتراكك إلى السعر الجديد في الوقت الحالي."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "انتهى اشتراكك، لكن <0/> سيظل نشطًا حتى <1>{graceDate}</1>. أعد الاشتراك قبل ذلك التاريخ للاحتفاظ بسجل اشتراكك."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "فشل تجديد اشتراكك، ولكن لا يزال بإمكانك الوصول إلى مزايا {premiumProductName} حتى {formattedGraceDate}. اتخذ إجراءً الآن وإلا ستفقد جميع المزايا."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "تمت إعادة تنشيط اشتراكك."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "تم تعيين اشتراكك للإلغاء في نهاية فترة الفوترة."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "تم تحويل اشتراكك إلى الفوترة الشهرية."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "تم تحويل اشتراكك إلى الفوترة السنوية."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "اشتراكك نشط، ولكن المزايا متوقفة مؤقتًا."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "تم تعيين اشتراكك للإلغاء بالفعل في نهاي
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "اشتراكك ليس مُعدًا للإلغاء، لذا لا يوجد ما يمكن إعادة تفعيله."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "سيتم تحديث اشتراكك إلى السعر الجديد في {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "ينتهي اشتراكك في <0>{cancelDate}</0>. السعر الحالي هو الآن {listPriceNewLabel}. إذا قمت بإعادة التنشيط، يمكنك التبديل إليه من هنا."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "سيتم تحويل اشتراكك إلى الفوترة الشهرية عند التجديد التالي."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "سيتحول اشتراكك إلى الفوترة السنوية عند التجديد التالي."
|
||||
|
||||
|
||||
@@ -1293,6 +1293,9 @@
|
||||
{
|
||||
"msgid": "<0>{targetUserTag}</0> is currently timed out. You can update their timeout duration or remove the timeout."
|
||||
},
|
||||
{
|
||||
"msgid": "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
},
|
||||
{
|
||||
"msgid": "AV1"
|
||||
},
|
||||
@@ -1380,6 +1383,12 @@
|
||||
{
|
||||
"msgid": "Camera access is needed for device previews"
|
||||
},
|
||||
{
|
||||
"msgid": "Cancel price change"
|
||||
},
|
||||
{
|
||||
"msgid": "Cancel the scheduled change to move to the current price instead."
|
||||
},
|
||||
{
|
||||
"msgid": "Capture card"
|
||||
},
|
||||
@@ -1443,6 +1452,9 @@
|
||||
{
|
||||
"msgid": "Could not load the instance configuration. Try reloading the page."
|
||||
},
|
||||
{
|
||||
"msgid": "Couldn't change your price"
|
||||
},
|
||||
{
|
||||
"msgid": "Couldn't connect to voice. Please try again."
|
||||
},
|
||||
@@ -1491,6 +1503,9 @@
|
||||
{
|
||||
"msgid": "Disable direct messages and friend requests"
|
||||
},
|
||||
{
|
||||
"msgid": "Disable translation DOM guard"
|
||||
},
|
||||
{
|
||||
"msgid": "Drag members between voice channels they can access, and disconnect them from voice."
|
||||
},
|
||||
@@ -1677,6 +1692,12 @@
|
||||
{
|
||||
"msgid": "Neko cat that chases your cursor"
|
||||
},
|
||||
{
|
||||
"msgid": "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
},
|
||||
{
|
||||
"msgid": "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
},
|
||||
{
|
||||
"msgid": "No application windows found"
|
||||
},
|
||||
@@ -1692,6 +1713,9 @@
|
||||
{
|
||||
"msgid": "Nothing to search for"
|
||||
},
|
||||
{
|
||||
"msgid": "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
},
|
||||
{
|
||||
"msgid": "Open Settings"
|
||||
},
|
||||
@@ -2022,6 +2046,9 @@
|
||||
{
|
||||
"msgid": "Something is limiting this stream, so viewers are getting fewer frames than you asked for."
|
||||
},
|
||||
{
|
||||
"msgid": "Something went wrong while changing your price. Please try again in a moment."
|
||||
},
|
||||
{
|
||||
"msgid": "Static Neko"
|
||||
},
|
||||
@@ -2040,6 +2067,15 @@
|
||||
{
|
||||
"msgid": "Stream quality"
|
||||
},
|
||||
{
|
||||
"msgid": "Switch price"
|
||||
},
|
||||
{
|
||||
"msgid": "Switch to the new price?"
|
||||
},
|
||||
{
|
||||
"msgid": "Switch to {listPriceNewLabel}"
|
||||
},
|
||||
{
|
||||
"msgid": "Symbol"
|
||||
},
|
||||
@@ -2067,6 +2103,9 @@
|
||||
{
|
||||
"msgid": "The message to send."
|
||||
},
|
||||
{
|
||||
"msgid": "The new price is already scheduled for {effectiveDate}."
|
||||
},
|
||||
{
|
||||
"msgid": "These options change how people use the instance. Some can only be chosen during setup."
|
||||
},
|
||||
@@ -2142,6 +2181,9 @@
|
||||
{
|
||||
"msgid": "We don't send verification texts to this country. Try a mobile number from another country, or contact support."
|
||||
},
|
||||
{
|
||||
"msgid": "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
},
|
||||
{
|
||||
"msgid": "We'll send a verification code to your email before you can view your backup codes."
|
||||
},
|
||||
@@ -2184,6 +2226,15 @@
|
||||
{
|
||||
"msgid": "Your new nickname, or leave blank to reset it."
|
||||
},
|
||||
{
|
||||
"msgid": "Your subscription can't move to the new price right now."
|
||||
},
|
||||
{
|
||||
"msgid": "Your subscription moves to the new price on {effectiveDate}."
|
||||
},
|
||||
{
|
||||
"msgid": "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
},
|
||||
{
|
||||
"msgid": "farewell"
|
||||
},
|
||||
@@ -2220,6 +2271,12 @@
|
||||
{
|
||||
"msgid": "{name} copy"
|
||||
},
|
||||
{
|
||||
"msgid": "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
},
|
||||
{
|
||||
"msgid": "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
},
|
||||
{
|
||||
"msgid": "{productName} application logo"
|
||||
},
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# отметка} other {# отметки}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# общност намерена} other {# общности намерени}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# общност е временно недостъпна поради неизправност на флукс кондензатора.} other {# общности са временно недостъпни поради неизправност на флукс кондензатора.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "Абонат на {premiumProductFullName} от {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "Поверителност на значката {premiumProductName}"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} струва по-малко сега. Преминете от {currentPrice} към {newPrice} на месец от {effectiveDate} и нищо не се таксува днес."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} вече струва по-малко. Преминете от {currentPrice} към {newPrice} годишно от {effectiveDate} и нищо няма да бъде начислено днес."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "име на хост, напр. {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Налична е актуализация за Linux десктоп версията. Изберете формата на пакета за тази система и {productName} ще я запази локално."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "Предлага се по-ниска цена. Преминаването влиза в сила на <0>{listPriceEffectiveDate}</0> и не променя нищо друго."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Действия"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Контролите за подравняване са налични
|
||||
msgid "All"
|
||||
msgstr "Всички"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Всичко <0/> за <1>{effectiveMonthlyPrice}/месец</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Всичко <0/> за <1>{effectiveYearlyPrice}/година</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Всичко <0/> е включено във вашия абонамент."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Всичко <0/>, завинаги. Без таксуване, без подновяване."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Настройки на приложението"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "Състояние на приложението"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "В момента ме няма"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "Използвайки {productName}, вие се съгласявате
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Заобикаляне на скелет за зареждане"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Отказ, ако искате да изберете друго пот
|
||||
msgid "Cancel import"
|
||||
msgstr "Отказ на импортирането"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Отмени промяната на цената"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Отказ на поканата"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Отказ на планирана промяна"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Отказ от абонамент"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Отказване на абонамент?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Отмени планираната промяна, за да преминеш към текущата цена вместо това."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Отказ на качването"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Отказ на годишното надграждане"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Да отмените поканата за приятелство до {displayName}?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Анулиране"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Анулиране"
|
||||
msgid "Cancellation"
|
||||
msgstr "Анулиране"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Анулира се на <0>{cancelDate}</0>. <1/> Остават активни дотогава."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Форма за смяна на парола"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Планирана промяна"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Поканата за приятелство не можа да бъде отменена. Опитайте отново."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Неуспешно анулиране на предстоящата промяна в таксуването"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Абонаментът ви не можа да бъде анулиран"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Неуспешна промяна на цикъла за таксуване"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Не успяхме да сменим цената ви"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Не успяхме да дублираме този канал"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Неуспешно прекратяване на гратисния период"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Неуспешно отваряне на резултат от търс
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Неуспешна обработка на изображението"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Абонаментът ви не можа да бъде активиран отново"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Създаване на роля"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Създайте администраторския акаунт"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Да се създаде групов чат с останалите {addableCount} получател(и), а другите да се пропуснат?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "По избор…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Клиентски портал"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Деактивиране на бърз клавиш"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Изключване на звуците"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Деактивиране на защитата на DOM за превод"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Крайна дата"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Прекратяване сега"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Изтича след"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Изтече на {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Изтече на {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Изтече на <0>{expiredDate}</0>. <1/> вече не са активни. Можете да се абонирате отново по всяко време."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Експортиране на теми"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Показване на секцията с часовите зони, достъпна само за служителите, в настройките на профила."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Функцията е временно деактивирана"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Функции"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Принудително активирано"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Принудително неуспешно зареждане на съобщения"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Принудително неуспешно изпращане на съобщения"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Принудително зареждане на GIF инструмент за избор"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Принудително скриване"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Принудително зареждане на скелет"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Принудително без разрешение за {permissionName}"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Принудително показване на предупреждение за данни от профила"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Принудително показване на скелети на профили"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Принудително показване"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Принудително показване на отказа от отговорност за персонализиран URL адрес"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Принудително показване на гласова връзка"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Принудително активиране на забавен режим"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Принудително неизвестен тип съобщение"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Принудително готова актуализация"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "GIF файловете не можаха да се заредят"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Подарък: изтича скоро"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Подарък: гратисен период (все още имате достъп)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Подарено <0/> до <1>{giftEndDate}</1>. Не се подновява автоматично. Осребрете още кодове за подарък, за да удължите."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Разбрах"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Грейс период"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Ляв тултип"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Наследствени слотове за емоджита"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Стара цена"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Библиотека: {count} от {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Доживотен"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Месечно"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Месечно {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "Месечното таксуване започва на <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "Месечното таксуване започва на <0>{pendingChangeDate}</0>. Първа месечна такса: {pendingInitialPriceLabel}. Бъдещи месечни подновявания: {pendingRecurringPriceLabel}/месец."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Мрежова грешка"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Мрежа и производителност"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Нов микрофон"
|
||||
msgid "New password"
|
||||
msgstr "Нова парола"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Нова цена е насрочена за <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Нова цена, насрочена за <0>{pendingChangeDate}</0>. Подновяванията ще бъдат на цена {pendingTargetPriceLabel} оттогава."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Не е посочена причина."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Няма скорошни споменавания"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Няма останали получатели, с които да създадете групов чат."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Няма уебкуки"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Бездействие при доклади в приложението"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Не е за вас? Изключете го по всяко време.
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "Вкл"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "На <0>{listPriceEffectiveDate}</0> абонаментът ви ще се промени от {listPriceCurrentLabel} на {listPriceNewLabel}. Днес няма да бъдете таксувани и останалата част от абонамента ви ще остане непроменена."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Екстри"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Привилегиите са на пауза"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Реакции"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Активиране отново"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Използвай за себе си"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Използване на код за подарък"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Праг на подновяване (дни)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Прозорец за подновяване (дни)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Подновява се на <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Възстановяване на прозореца"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Абониране отново"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Самостоятелен режим"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Принудителен режим на самостоятелно хостване"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Покажи моя екран"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Покажи ме като пишещ"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Показване на плъзгачи за силата на звука на участниците за всяко устройство в гласовите менюта"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Показване на настройките за часова зона в профила (само за администратори)"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Пропускане на предупреждението за външни връзки за всички домейни"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Пропускане на мрежовото повикване при изпращане на доклад в приложението. Потокът все още преминава към екрана за успех, така че можете да упражните потребителския интерфейс, но нищо не се изпраща до екипа по безопасност."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Словения"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Бавно качване на прикачен файл"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "По-бавно — изчакайте малко, преди да оп
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Бавно редактиране на съобщение"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Бавно зареждане на съобщения"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Бавно изпращане на съобщения"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Бавно зареждане на профил"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Възникна грешка при зареждане на членовете. Опитайте отново по-късно."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Нещо се обърка при отмяната на предстоящата ви промяна на цикъла за таксуване. Моля, опитайте отново след малко."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Нещо се обърка при анулирането на абонамента ви. Моля, опитайте отново след малко."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Нещо се обърка при промяната на цикъла ви на таксуване. Моля, опитайте отново след малко."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Нещо се обърка при промяната на цената ви. Моля, опитайте отново след малко."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Нещо се обърка при свързването на профила ви. Можете да затворите този раздел и да опитате отново."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Нещо се обърка при прекратяването на гратисния ви период. Моля, опитайте отново след малко."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Възникна проблем при зареждането на жу
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Нещо се обърка при подготовката на този стикер. Опитайте друг файл или опитайте отново след малко."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Нещо се обърка при повторното активиране на абонамента ви. Моля, опитайте отново след малко."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Започване отначало"
|
||||
msgid "Start recording"
|
||||
msgstr "Записване"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Започнете търсенето с <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3>, за да стесните резултатите."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Спиране на съобщенията и поканите за пр
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Спрете Неко да преследва курсора ви, като същевременно го запазите плъзгащ се и интерактивен."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Спри да пачваш Node.prototype insertBefore и removeChild. Приложението отново ще се срине, когато преводач на страници премести текстови възли, които React все още държи."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Превключване между глобалния ви профил
|
||||
msgid "Switch device"
|
||||
msgstr "Смени устройството"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Смяна на цена"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Превключи към {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Превключване към директно въвеждане"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Премини към месечен"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Да превключите към месечно таксуване?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Превключване към предишна общност или
|
||||
msgid "Switch to single column"
|
||||
msgstr "Преминаване към една колона"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Преминаване към новата цена?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Превключване към този акаунт"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Преглед в две колони"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Премини към годишен"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Да превключиш към годишно таксуване?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Тагове ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Таговете трябва да са от 2 до {maxLength} знака и да съдържат букви и цифри."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Влиза в сила при следващото ви подновяване. Ще приложим кредит от {creditLabel} от текущото ви месечно плащане, така че първата ви годишна такса ще бъде <0>{firstRenewalPriceLabel}</0>. Бъдещите годишни подновявания ще бъдат {renewalPrice}/година."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Влиза в сила при следващото ви подновяване. Абонаментът ви остава месечен дотогава, а следващото ви подновяване ще бъде <0>{renewalPrice}/година</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Влиза в сила при следващото ви подновяване. Абонаментът ви остава годишен дотогава, а следващото ви подновяване ще бъде <0>{renewalPrice}/месец</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Влиза в сила веднага. Възможно е да бъде приложена пропорционална корекция чрез {PAYMENT_PROVIDER_NAME}. Следващото ви подновяване ще бъде <0>{renewalPrice}/месец</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Влиза в сила незабавно. Може да бъде приложена пропорционална такса чрез {PAYMENT_PROVIDER_NAME}. Следващото ви подновяване ще бъде <0>{renewalPrice}/година</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "Името беше върнато към предишното. Моля
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "Новият канал ще използва същите разрешения като <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "Новата цена вече е насрочена за {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "Новият гласов канал ще използва повторно разрешенията, лимита за потребители и битрейта от <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Пише съобщение"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "Потребителски интерфейс"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Видимост"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Визионер"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "Не изпращаме текстови съобщения за пот
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Открихме съществуващ абонамент за {premiumProductFullName} за този акаунт. Управлявайте го в защитения портал за плащане, за да актуализирате данните за плащане или да проверите състоянието на подновяване. Ако току-що сте платили, изчакайте минута и отворете отново тази страница."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Намалихме цената на {premiumProductName} в Бразилия. Сега е {monthlyPrice} на месец или {yearlyPrice} на година."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Годишно {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Годишен подарък"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Годишно надграждане, насрочено за <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Годишен ъпгрейд, насрочен за <0>{pendingChangeDate}</0>. Първо годишно таксуване: {pendingInitialPriceLabel} след кредит от {pendingCreditPriceLabel}. Бъдещи годишни подновявания: {pendingRecurringPriceLabel}/година."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Годишно надграждане, насрочено за <0>{pendingChangeDate}</0>. Първо годишно таксуване: {pendingInitialPriceLabel}. Бъдещи годишни подновявания: {pendingRecurringPriceLabel}/година."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "В гласовия канал сте"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Използвате стар абонаментен план, който вече не е наличен за нови абонати."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Използвате стара тарифа. Текущата цена за този план е {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "Вашият графичен процесор кодира това хардуерно."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Вашият гратисен период приключи."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Плащането ви беше успешно. Вече може да затворите този раздел и да се върнете към приложението."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Предстоящата ви промяна на таксуването е анулирана."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "Екранът ви не може да бъде споделен с ви
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Потокът ви все още е на живо"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Абонаментът ви не може да бъде преместен към новата цена в момента."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Абонаментът ви приключи, но <0/> остава активен до <1>{graceDate}</1>. Абонирайте се отново преди тази дата, за да запазите историята на абонамента си."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Абонаментът ви не беше подновен, но все още имате достъп до предимствата на {premiumProductName} до {formattedGraceDate}. Предприемете действия сега, или ще загубите всички предимства."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Абонаментът ви е активиран отново."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Абонаментът ви е настроен да бъде анулиран в края на текущия ви период на таксуване."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Абонаментът ви е превключен към месечно таксуване."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Абонаментът ви е превключен към годишно таксуване."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Абонаментът ви е активен, но предимствата временно са на пауза."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Абонаментът ви вече е насрочен за анули
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Абонаментът ви не е настроен за анулиране, така че няма какво да активирате отново."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Абонаментът ви се премества на новата цена на {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Абонаментът ви все още изтича на <0>{cancelDate}</0>. Текущата цена вече е {listPriceNewLabel}. Ако се активирате отново, можете да преминете към нея оттук."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Абонаментът ви ще премине към месечно таксуване при следващото подновяване."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Абонаментът ви ще премине към годишно таксуване при следващото подновяване."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# záložka} few {# záložky} many {# záložek} o
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# komunita nalezena} other {# komunit nalezeno} few {# komunity nalezeny}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# komunita je dočasně nedostupná kvůli poruše \"flux kondenzátoru\".} few {# komunity jsou dočasně nedostupné kvůli poruše \"flux kondenzátoru\".} many {# komunit je dočasně nedostupných kvůli poruše \"flux kondenzátoru\".} other {# komunit je dočasně nedostupných kvůli poruše \"flux kondenzátoru\".}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "Předplatitel {premiumProductFullName} od {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "Soukromí odznaku {premiumProductName}"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} teď stojí méně. Od {effectiveDate} přejděte z {currentPrice} na {newPrice} měsíčně a dnes se nic neúčtuje."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} je nyní levnější. Přejděte z {currentPrice} na {newPrice} ročně od {effectiveDate} a dnes vám nic nebude účtováno."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "název hostitele, např. {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Pro uživatele Linuxu je k dispozici aktualizace. Vyberte formát balíčku pro tento systém a aplikace {productName} jej uloží lokálně."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "Je k dispozici nižší cena. Přechod začne platit <0>{listPriceEffectiveDate}</0> a nic jiného se nezmění."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Akce"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Ovládací prvky zarovnání jsou dostupné pouze na širších obrazovk
|
||||
msgid "All"
|
||||
msgstr "Vše"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Všechny <0/> za <1>{effectiveMonthlyPrice}/měsíc</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Vše <0/> za <1>{effectiveYearlyPrice}/rok</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Všechny <0/> jsou součástí vašeho předplatného."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Vše <0/>, navždy. Žádné účtování, žádná obnovení."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Nastavení aplikace"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "Stav aplikace"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Momentálně pryč"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "Používáním služby {productName} souhlasíte s aktualizovanými zás
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Přeskočit načítání skeletu"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Zrušit, pokud si chcete vybrat jiné uživatelské jméno."
|
||||
msgid "Cancel import"
|
||||
msgstr "Zrušit import"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Zrušit změnu ceny"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Zrušit žádost"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Zrušit plánovanou změnu"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Zrušit předplatné"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Zrušit předplatné?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Zrušit naplánovanou změnu a místo toho přejít na aktuální cenu."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Zrušit nahrávání"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Zrušit roční upgrade"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Zrušit žádost o přátelství pro uživatele {displayName}?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Ruší se"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Ruší se"
|
||||
msgid "Cancellation"
|
||||
msgstr "Zrušení"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Zruší se k <0>{cancelDate}</0>. <1/> Zůstanou aktivní až do té doby."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Formulář pro změnu hesla"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Změna naplánována"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Nepodařilo se zrušit žádost o přátelství. Zkuste to znovu."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Nepodařilo se zrušit čekající změnu fakturace"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Předplatné se nepodařilo zrušit"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Nepodařilo se změnit fakturační cyklus"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Nepodařilo se změnit vaši cenu"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Nepodařilo se zkopírovat tento kanál"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Nepodařilo se ukončit zkušební období"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Nepodařilo se otevřít výsledek hledání"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Nepodařilo se zpracovat obrázek"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Nepodařilo se znovu aktivovat vaše předplatné"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Vytvořit roli"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Vytvořte účet správce"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Vytvořit skupinovou zprávu se zbývajícím(i) {addableCount} příjemcem(i) a ostatní přeskočit?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Vlastní…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Zákaznický portál"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Zakázat zkratku"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Vypnout zvuky"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Zakázat ochranu DOM překladače"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Datum konce"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Ukončit odklad hned"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Vyprší po"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Platnost vypršela {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Platnost vypršela {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Platnost vypršela dne <0>{expiredDate}</0>. <1/> již nejsou aktivní. Můžete se kdykoli znovu přihlásit k odběru."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Exportovat motivy"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Zobrazit sekci časových pásem určenou pouze pro zaměstnance v nastavení profilu."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Funkce dočasně vypnuta"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Funkce"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Vynuceně zapnuto"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Vynutit selhání načítání zpráv"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Vynutit selhání odesílání zpráv"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Vynutit načítání výběru GIFů"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Vynutit skrytí"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Vynutit načtení kostry"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Vynutit oprávnění „{permissionName}\""
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Vynutit upozornění na data profilu"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Vynutit kostry profilu"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Vynutit zobrazení"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Vynutit zobrazení upozornění na vlastní URL"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Vždy zobrazit stav hlasového připojení"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Vynucený pomalý režim aktivní"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Vynutit neznámý typ zprávy"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Vynutit připravenost aktualizace"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "GIFy se nepodařilo načíst"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Dárek: brzy vyprší"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Dárek: ochranná lhůta (stále máte přístup)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Darováno <0/> do <1>{giftEndDate}</1>. Automaticky se neobnovuje. Pro prodloužení uplatněte další dárkové kódy."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Rozumím"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Ochranná lhůta"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Levá bublina"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Staré sloty pro emoji"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Původní cena"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Knihovna: {count} z {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Doživotní"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Měsíčně"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Měsíčně {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "Měsíční fakturace začíná dne <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "Měsíční fakturace začíná <0>{pendingChangeDate}</0>. První měsíční poplatek: {pendingInitialPriceLabel}. Budoucí měsíční obnovení: {pendingRecurringPriceLabel}/měsíc."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Chyba sítě"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Síť a výkon"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Nový mikrofon"
|
||||
msgid "New password"
|
||||
msgstr "Nové heslo"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Nová cena naplánována na <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Nová cena naplánovaná na <0>{pendingChangeDate}</0>. Obnovení budou od té doby stát {pendingTargetPriceLabel}."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Důvod nebyl uveden."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Žádné nedávné zmínky"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Nezůstali žádní příjemci, se kterými by bylo možné vytvořit skupinovou DM."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Žádné webhooky"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Zprávy v aplikaci bez operace"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Nelíbí se vám? Kdykoli to můžete vypnout."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "Zapnuto"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "Dne <0>{listPriceEffectiveDate}</0> se vaše předplatné přesune z {listPriceCurrentLabel} na {listPriceNewLabel}. Dnes vám nic nebude účtováno a zbytek vašeho předplatného zůstane beze změny."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Výhody"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Výhody pozastaveny"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Reakce"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Znovu aktivovat"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Uplatnit pro sebe"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Uplatnit dárkový kód"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Prahová hodnota obnovení (dny)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Období obnovení (dny)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Obnoví se dne <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Obnovit okno"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Znovu se přihlásit k odběru"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Režim self-hostingu"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Přepsání režimu s vlastním hostováním"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Zobrazit sdílení mé obrazovky"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Zobrazit, že píšu"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Zobrazit posuvníky hlasitosti účastníků pro každé zařízení v nabídkách hlasu"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Zobrazit nastavení časové zóny v profilu"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Přeskočit upozornění na externí odkaz pro všechny domény"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Přeskočit síťové volání při odeslání hlášení v aplikaci. Tok se stále posouvá na obrazovku úspěchu, takže můžete procvičit UI, ale nic se ve skutečnosti neodesílá bezpečnostnímu týmu."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Slovinsko"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Pomalé nahrávání příloh"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Zpomalte – zkuste to znovu za chvíli."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Pomalá úprava zprávy"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Pomalé načítání zpráv"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Pomalé odesílání zpráv"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Pomalé načítání profilu"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Při načítání členů se něco pokazilo. Zkuste to prosím později."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Při rušení čekající změny fakturace došlo k chybě. Zkuste to prosím za chvíli znovu."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Při rušení předplatného došlo k chybě. Zkuste to prosím za chvíli znovu."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Při změně fakturačního cyklu došlo k chybě. Zkuste to prosím za chvíli znovu."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Něco se pokazilo při změně ceny. Zkuste to prosím za chvíli znovu."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Při propojování účtu se něco pokazilo. Můžete zavřít tuto kartu a zkusit to znovu."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Při ukončování zkušebního období se něco pokazilo. Zkuste to prosím za chvíli znovu."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Při načítání protokolu aktivit se vyskytla chyba."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Při přípravě této nálepky se něco pokazilo. Zkuste jiný soubor nebo to zkuste znovu za chvíli."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Při opětovné aktivaci vašeho předplatného se něco pokazilo. Zkuste to prosím za chvíli znovu."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Začít znovu"
|
||||
msgid "Start recording"
|
||||
msgstr "Spustit nahrávání"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Začněte vyhledáváním pomocí <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3>, abyste zúžili výsledky."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Zastavit zprávy a žádosti o přátelství."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Zastavte Neko, aby nehonilo vaše kurzor, ale zároveň ho nechte přetahovat a interaktivní."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Přestat upravovat Node.prototype insertBefore a removeChild. Aplikace znovu spadne, když překladač stránek přemístí textové uzly, které React stále drží."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Přepínání mezi globálním profilem a profily pro jednotlivé komuni
|
||||
msgid "Switch device"
|
||||
msgstr "Přepnout zařízení"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Změnit cenu"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Přejít na {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Přepnout na přímé zadávání"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Přepnout na měsíční platbu"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Přepnout na měsíční fakturaci?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Přepnout na předchozí komunitu nebo zprávy"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Přepnout na jeden sloupec"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Přepnout na novou cenu?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Přepnout na tento účet"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Přepnout na dva sloupce"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Přepnout na roční"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Přepnout na roční fakturaci?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Štítky ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Štítky musí mít 2 až {maxLength} znaků a musí být alfanumerické."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Vstoupí v platnost při příštím obnovení. Z vaší aktuální měsíční platby odečteme kredit {creditLabel}, takže váš první roční poplatek bude <0>{firstRenewalPriceLabel}</0>. Budoucí roční obnovení budou za {renewalPrice}/rok."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Vstoupí v platnost při příštím obnovení. Do té doby zůstane vaše předplatné měsíční a vaše další obnovení bude <0>{renewalPrice}/rok</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Vstoupí v platnost při příštím obnovení. Do té doby zůstane vaše předplatné roční a vaše další obnovení bude <0>{renewalPrice}/měsíc</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Vstoupí v platnost okamžitě. Může být uplatněna poměrná úprava prostřednictvím {PAYMENT_PROVIDER_NAME}. Vaše další obnovení bude <0>{renewalPrice}/měsíc</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Vstoupí v platnost okamžitě. Může být účtován poměrný poplatek prostřednictvím {PAYMENT_PROVIDER_NAME}. Vaše další obnovení bude <0>{renewalPrice}/rok</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "Název byl vrácen na původní. Zkuste to prosím za chvíli znovu."
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "Nový kanál znovu použije oprávnění z <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "Nová cena je již naplánovaná na {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "Nový hlasový kanál znovu použije oprávnění, limit uživatelů a datový tok z <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Stav psaní"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "Komponenty UI"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Viditelnost"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visionář"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "Do této země neposíláme ověřovací SMS. Zkuste mobilní číslo z
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Pro tento účet jsme našli stávající předplatné {premiumProductFullName}. Spravujte ho v zabezpečeném platebním portálu, kde můžete aktualizovat platební údaje nebo zkontrolovat stav obnovení. Pokud jste právě zaplatili, počkejte minutu a znovu otevřete tuto stránku."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "V Brazílii jsme snížili cenu {premiumProductName}. Nyní je to {monthlyPrice} měsíčně nebo {yearlyPrice} ročně."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Ročně {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Roční dárek"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Roční upgrade je naplánován na <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Roční upgrade naplánován na <0>{pendingChangeDate}</0>. První roční poplatek: {pendingInitialPriceLabel} po kreditu {pendingCreditPriceLabel}. Budoucí roční obnovení: {pendingRecurringPriceLabel}/rok."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Roční upgrade naplánován na <0>{pendingChangeDate}</0>. První roční poplatek: {pendingInitialPriceLabel}. Budoucí roční obnovení: {pendingRecurringPriceLabel}/rok."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Jste v hlasovém kanálu"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Používáte starší tarif, který již není k dispozici pro nové předplatitele."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Používáte starší tarif. Aktuální cena tohoto plánu je {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "Vaše GPU to kóduje hardwarově."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Vaše odkladná lhůta skončila."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Platba proběhla úspěšně. Nyní můžete zavřít tuto kartu a vrátit se do aplikace."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Vaše čekající změna fakturace byla zrušena."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "Sdílení obrazovky se nepodařilo publikovat s kompatibilním video kod
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Váš stream je stále aktivní"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Vaše předplatné se momentálně nemůže přesunout na novou cenu."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Vaše předplatné skončilo, ale <0/> zůstane aktivní do <1>{graceDate}</1>. Znovu se přihlaste před tímto datem, abyste si zachovali historii předplatného."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Vaše předplatné se nepodařilo obnovit, ale stále máte přístup k výhodám {premiumProductName} až do {formattedGraceDate}. Jednejte hned, jinak přijdete o všechny výhody."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Vaše předplatné bylo znovu aktivováno."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Vaše předplatné bude zrušeno na konci fakturačního období."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Vaše předplatné bylo změněno na měsíční fakturaci."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Vaše předplatné bylo změněno na roční fakturaci."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Vaše předplatné je aktivní, ale výhody jsou dočasně pozastaveny."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Vaše předplatné je již nastaveno na zrušení na konci fakturačníh
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Vaše předplatné není nastaveno ke zrušení, takže není co znovu aktivovat."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Vaše předplatné přechází na novou cenu {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Vaše předplatné stále končí <0>{cancelDate}</0>. Aktuální cena je nyní {listPriceNewLabel}. Pokud znovu aktivujete, můžete na ni přejít odsud."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Vaše předplatné se při příštím obnovení přepne na měsíční fakturaci."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Vaše předplatné se při příštím obnovení změní na roční fakturaci."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# bogmærke} other {# bogmærker}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# fællesskab fundet} other {# fællesskaber fundet}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# fællesskab er midlertidigt utilgængeligt på grund af en fejl i fluxkondensatoren.} other {# fællesskaber er midlertidigt utilgængelige på grund af en fejl i fluxkondensatoren.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "{premiumProductFullName}-abonnent siden {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "{premiumProductName}-badge-beskyttelse af personlige oplysninger"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} koster mindre nu. Skift fra {currentPrice} til {newPrice} om måneden fra den {effectiveDate}, og der bliver ikke opkrævet noget i dag."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} koster mindre nu. Skift fra {currentPrice} til {newPrice} om året fra den {effectiveDate}, og der bliver ikke opkrævet noget i dag."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "et værtsnavn, f.eks. {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "En Linux-opdatering til skrivebordet er tilgængelig. Vælg pakkeformatet for dette system, og {productName} gemmer det lokalt."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "En lavere pris er tilgængelig. Skiftet træder i kraft den <0>{listPriceEffectiveDate}</0> og ændrer intet andet."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Handlinger"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Justering er kun tilgængelig på bredere skærme"
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Alt <0/> for <1>{effectiveMonthlyPrice}/måned</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Alt <0/> for <1>{effectiveYearlyPrice}/år</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Alt <0/> er inkluderet i dit abonnement."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Alt <0/>, for evigt. Ingen fakturering, ingen fornyelser."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Appindstillinger"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "App-tilstand"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Ikke til stede lige nu"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "Ved at bruge {productName} accepterer du de opdaterede politikker."
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Spring over indlæsningsskelet"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Annuller, hvis du vil vælge et andet brugernavn i stedet."
|
||||
msgid "Cancel import"
|
||||
msgstr "Annuller import"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Annuller prisændring"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Annuller anmodning"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Annuller planlagt skift"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Annuller abonnement"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Annuller abonnement?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Annuller den planlagte ændring for at skifte til den aktuelle pris i stedet."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Annuller upload"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Annuller årlig opgradering"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Annuller din venneanmodning til {displayName}?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Annullerer"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Annullerer"
|
||||
msgid "Cancellation"
|
||||
msgstr "Opsigelse"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Annulleres den <0>{cancelDate}</0>. <1/> forbliver aktiv indtil da."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Skift adgangskode"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Ændring planlagt"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Kunne ikke annullere venneanmodningen. Prøv igen."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Kunne ikke annullere din ventende faktureringsændring"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Kunne ikke annullere dit abonnement"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Kunne ikke ændre din faktureringscyklus"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Kunne ikke ændre din pris"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Kunne ikke duplikere denne kanal"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Kunne ikke afslutte din prøveperiode"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Kunne ikke åbne søgeresultat"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Kunne ikke behandle billede"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Kunne ikke genaktivere dit abonnement"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Opret rolle"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Opret administratorkontoen"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Opret gruppedialogen med de resterende {addableCount} modtagere og spring de andre over?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Tilpasset…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Kundeportal"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Deaktiver genvej"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Slå lyde fra"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Deaktiver oversættelses-DOM-beskyttelse"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Slutdato"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Afslut prøveperiode nu"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Udløber efter"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Udløb den {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Udløb den {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Udløb den <0>{expiredDate}</0>. <1/> er ikke længere aktiv. Du kan tilmelde dig igen når som helst."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Eksporter temaer"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Vis tidszoneindstillingerne, som kun er tilgængelige for administratorer."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Funktionen er midlertidigt deaktiveret"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Funktioner"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Tvangsaktiveret"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Gennemtving mislykkede indlæsninger af beskeder"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Fremtving mislykkede beskeder"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Gennemtving indlæsning af GIF-vælger"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Gennemtving skjul"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Tving indlæsning af skelet"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Gennemtving ingen {permissionName}-tilladelse"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Gennemtving advarsel om profildata"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Gennemtving profilskeletter"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Gennemtving visning"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Gennemtving visning af ansvarsfraskrivelse for tilpasset URL"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Gennemtving visning af stemmeforbindelse"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Tving slowmode aktiv"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Gennemtving ukendt meddelelsestype"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Tving opdatering klar"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "GIF'er kunne ikke indlæses"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Gave: udløber snart"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Gave: prøveperiode (har stadig adgang)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Givet som gave <0/> indtil <1>{giftEndDate}</1>. Fornyes ikke automatisk. Indløs flere gavekoder for at forlænge."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Forstået"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Udsættelsesperiode"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Venstre værktøjstip"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Gamle emoji-pladser"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Gammel pris"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Bibliotek: {count} af {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Livstid"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Månedligt"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Månedligt {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "Månedlig fakturering starter den <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "Månedlig fakturering starter den <0>{pendingChangeDate}</0>. Første månedlige betaling: {pendingInitialPriceLabel}. Fremtidige månedlige fornyelser: {pendingRecurringPriceLabel}/måned."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Netværksfejl"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Netværk og ydeevne"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Ny mikrofon"
|
||||
msgid "New password"
|
||||
msgstr "Ny adgangskode"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Ny pris planlagt til <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Ny pris planlagt til <0>{pendingChangeDate}</0>. Fornyelser vil koste {pendingTargetPriceLabel} derefter."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Ingen årsag angivet."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Ingen nylige omtaler"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Ingen tilbageværende modtagere at oprette en gruppe-DM med."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Ingen webhooks"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Deaktiver rapportering i appen"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Ikke noget for dig? Slå det fra når som helst."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "Til"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "Den <0>{listPriceEffectiveDate}</0> skifter dit abonnement fra {listPriceCurrentLabel} til {listPriceNewLabel}. Der trækkes intet beløb i dag, og resten af dit abonnement forbliver uændret."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Fordele"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Fordele sat på pause"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Reaktioner"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Genaktiver"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Indløs til dig selv"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Indløs gavekode"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Fornyelsestærskel (dage)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Fornyelsesvindue (dage)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Fornyes den <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Gendan vindue"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Forny abonnement"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Selvhostet tilstand"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Tilsidesæt selvhostet tilstand"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Vis min skærmdeling"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Vis mig selv som skriver"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Vis lydstyrkeskyderen for deltagere pr. enhed i stemmemenuer"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Vis indstillinger for profilens tidszone"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Spring advarsel om eksternt link over for alle domæner"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Spring netværkskaldet over, når en rapport i appen indsendes. Flowet fortsætter stadig til succes-skærmen, så du kan afprøve brugerfladen, men intet sendes faktisk til sikkerhedsteamet."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Slovenien"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Langsom vedhæftningsupload"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Sæt farten ned – vent et øjeblik, før du prøver igen."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Langsom redigering af besked"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Langsom indlæsning af beskeder"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Langsom afsendelse af beskeder"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Langsom indlæsning af profil"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Der opstod en fejl under indlæsning af medlemmer. Prøv igen senere."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Der opstod en fejl under annullering af din ventende faktureringsændring. Prøv venligst igen om et øjeblik."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Der opstod en fejl under annullering af dit abonnement. Prøv venligst igen om et øjeblik."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Der opstod en fejl under ændring af din faktureringscyklus. Prøv venligst igen om et øjeblik."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Der opstod en fejl under ændring af din pris. Prøv igen om et øjeblik."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Der opstod en fejl under tilslutning af din konto. Du kan lukke denne fane og prøve igen."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Der opstod en fejl under afslutningen af din prøveperiode. Prøv venligst igen om et øjeblik."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Der opstod en fejl under indlæsningen af aktivitetshistorikken."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Der opstod en fejl under forberedelsen af dette klistermærke. Prøv en anden fil, eller prøv igen om et øjeblik."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Der opstod en fejl under genaktivering af dit abonnement. Prøv venligst igen om et øjeblik."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Start forfra"
|
||||
msgid "Start recording"
|
||||
msgstr "Start optagelse"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Start søgninger med <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> for at indsnævre resultaterne."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Stop beskeder og venneanmodninger."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Stop Neko fra at jage din markør, mens den forbliver trækbar og interaktiv."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Stop med at patche Node.prototype insertBefore og removeChild. Appen vil crashe igen, når en sideoversætter genforælder tekstnoder, som React stadig holder fast i."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Skift mellem din globale profil og profiler for hvert fællesskab"
|
||||
msgid "Switch device"
|
||||
msgstr "Skift enhed"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Skift pris"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Skift til {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Skift til direkte indtastning"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Skift til månedligt abonnement"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Skift til månedlig fakturering?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Skift til forrige fællesskab eller direkte beskeder"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Skift til enkelt kolonne"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Skift til den nye pris?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Skift til denne konto"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Skift til to kolonner"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Skift til årligt abonnement"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Skift til årlig fakturering?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Tags ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Tags skal være på 2 til {maxLength} tegn og alfanumeriske."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Træder i kraft ved din næste fornyelse. Vi anvender en {creditLabel}-kredit fra din nuværende månedlige betaling, så din første årlige betaling bliver <0>{firstRenewalPriceLabel}</0>. Fremtidige årlige fornyelser vil være {renewalPrice}/år."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Træder i kraft ved din næste fornyelse. Dit abonnement forbliver månedligt indtil da, og din næste fornyelse vil være <0>{renewalPrice}/år</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Træder i kraft ved din næste fornyelse. Dit abonnement forbliver årligt indtil da, og din næste fornyelse vil være <0>{renewalPrice}/måned</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Træder i kraft med det samme. En forholdsmæssig justering kan forekomme via {PAYMENT_PROVIDER_NAME}. Din næste fornyelse vil være <0>{renewalPrice}/måned</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Træder i kraft med det samme. Der kan opkræves et forholdsmæssigt gebyr via {PAYMENT_PROVIDER_NAME}. Din næste fornyelse vil være <0>{renewalPrice}/år</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "Navnet blev gendannet til det, det var før. Prøv venligst igen om et
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "Den nye kanal genbruger tilladelserne fra <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "Den nye pris er allerede planlagt til {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "Den nye stemmekanal genbruger tilladelser, brugergrænse og bitrate fra <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Skrivestatus"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "UI-komponenter"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Synlighed"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visionær"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "Vi sender ikke bekræftelsestekster til dette land. Prøv et mobilnummer
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Vi fandt et eksisterende {premiumProductFullName}-abonnement for denne konto. Administrer det i den sikre faktureringsportal for at opdatere betalingsoplysninger eller tjekke fornyelsesstatus. Hvis du lige har betalt, skal du vente et minut og genåbne denne side."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Vi har sænket prisen på {premiumProductName} i Brasilien. Det koster nu {monthlyPrice} om måneden eller {yearlyPrice} om året."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Årligt {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Årlig gave"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Årlig opgradering planlagt til <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Årlig opgradering planlagt til <0>{pendingChangeDate}</0>. Første årlige betaling: {pendingInitialPriceLabel} efter en {pendingCreditPriceLabel}-kredit. Fremtidige årlige fornyelser: {pendingRecurringPriceLabel}/år."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Årlig opgradering planlagt til <0>{pendingChangeDate}</0>. Første årlige betaling: {pendingInitialPriceLabel}. Fremtidige årlige fornyelser: {pendingRecurringPriceLabel}/år."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Du er i talechatten"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Du har en ældre pris, der ikke længere er tilgængelig for nye abonnenter."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Du har en ældre pris. Den nuværende pris for denne plan er {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "Din GPU koder dette i hardware."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Din respitperiode er udløbet."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Din betaling er gennemført. Du kan nu lukke denne fane og vende tilbage til appen."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Din ventende faktureringsændring er blevet annulleret."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "Din skærmdeling kunne ikke publiceres med en kompatibel video-codec, s
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Din stream er stadig live"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Dit abonnement kan ikke flyttes til den nye pris lige nu."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Dit abonnement er udløbet, men <0/> forbliver aktivt indtil <1>{graceDate}</1>. Genabonner inden da for at bevare din abonnementshistorik."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Dit abonnement blev ikke fornyet, men du har stadig adgang til fordelene ved {premiumProductName} indtil {formattedGraceDate}. Handl nu, ellers mister du alle fordelene."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Dit abonnement er blevet genaktiveret."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Dit abonnement er indstillet til at blive opsagt ved udgangen af din faktureringsperiode."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Dit abonnement er nu skiftet til månedlig fakturering."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Dit abonnement er blevet skiftet til årlig fakturering."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Dit abonnement er aktivt, men fordelene er midlertidigt sat på pause."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Dit abonnement er allerede indstillet til at blive opsagt ved udgangen a
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Dit abonnement er ikke indstillet til at blive annulleret, så der er intet at genaktivere."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Dit abonnement skifter til den nye pris den {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Dit abonnement udløber stadig den <0>{cancelDate}</0>. Den aktuelle pris er nu {listPriceNewLabel}. Hvis du genaktiverer, kan du skifte til den herfra."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Dit abonnement skifter til månedlig fakturering ved næste fornyelse."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Dit abonnement skifter til årlig fakturering ved næste fornyelse."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# Lesezeichen} other {# Lesezeichen}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# Community gefunden} other {# Communitys gefunden}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# Community ist aufgrund einer Fehlfunktion des Fluxkompensators vorübergehend nicht verfügbar.} other {# Communitys sind aufgrund einer Fehlfunktion des Fluxkompensators vorübergehend nicht verfügbar.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "{premiumProductFullName}-Abonnent seit {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "{premiumProductName}-Abzeichen-Datenschutz"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} kostet jetzt weniger. Wechsle ab dem {effectiveDate} von {currentPrice} auf {newPrice} pro Monat. Heute wird nichts abgebucht."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} kostet jetzt weniger. Wechsle ab dem {effectiveDate} von {currentPrice} auf {newPrice} pro Jahr, und heute wird nichts abgebucht."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "ein Hostname, z. B. {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Ein Desktop Update für Linux ist verfügbar. Wähle das Paketformat für dieses System aus, und {productName} speichert es lokal."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "Ein niedrigerer Preis ist verfügbar. Der Wechsel wird am <0>{listPriceEffectiveDate}</0> wirksam und ändert nichts weiter."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Aktionen"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Ausrichtungsoptionen sind nur auf breiteren Bildschirmen verfügbar"
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Alles <0/> für <1>{effectiveMonthlyPrice}/Monat</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Alles <0/> für <1>{effectiveYearlyPrice}/Jahr</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Alles <0/> in deinem Abo enthalten."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Alles <0/>, für immer. Keine Abrechnung, keine Verlängerungen."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "App-Einstellungen"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "App-Status"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Gerade abwesend"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "Durch die Nutzung von {productName} stimmst du den aktualisierten Richtl
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Lade-Skelett umgehen"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Abbrechen, wenn du stattdessen einen anderen Benutzernamen wählen möch
|
||||
msgid "Cancel import"
|
||||
msgstr "Import abbrechen"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Preisänderung abbrechen"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Anfrage zurückziehen"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Geplante Umstellung abbrechen"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Abo kündigen"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Abo kündigen?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Brich die geplante Änderung ab, um stattdessen zum aktuellen Preis zu wechseln."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Upload abbrechen"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Jährliches Upgrade abbrechen"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Freundschaftsanfrage an {displayName} abbrechen?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Wird gekündigt"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Wird gekündigt"
|
||||
msgid "Cancellation"
|
||||
msgstr "Kündigung"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Kündigung am <0>{cancelDate}</0>. <1/> Bleibt bis dahin aktiv."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Passwort ändern"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Änderung geplant"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Freundschaftsanfrage konnte nicht abgebrochen werden. Bitte versuche es erneut."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Die ausstehende Änderung deines Abrechnungszeitraums konnte nicht abgebrochen werden"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Abo konnte nicht gekündigt werden"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Abrechnungszyklus konnte nicht geändert werden"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Preis konnte nicht geändert werden"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Kanal konnte nicht dupliziert werden"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Gnadenfrist konnte nicht beendet werden"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Suchergebnis konnte nicht geöffnet werden"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Bild konnte nicht verarbeitet werden"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Abonnement konnte nicht reaktiviert werden"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Rolle erstellen"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Administrator-Account erstellen"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Gruppen-DM mit den verbleibenden {addableCount} Empfänger(n) erstellen und die anderen überspringen?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Benutzerdefiniert …"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Kundenportal"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Tastenkombination deaktivieren"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Töne deaktivieren"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Übersetzungs-DOM-Schutz deaktivieren"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Enddatum"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Kulanzzeit jetzt beenden"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Läuft ab nach"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Abgelaufen am {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Abgelaufen am {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Abgelaufen am <0>{expiredDate}</0>. <1/> sind nicht mehr aktiv. Du kannst jederzeit erneut abonnieren."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Designs exportieren"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Zeige den Abschnitt für Zeitzoneneinstellungen, der nur für Mitarbeiter sichtbar ist, in den Profiloptionen an."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Funktion vorübergehend deaktiviert"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Funktionen"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Erzwungen aktiviert"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Fehlerhaftes Laden von Nachrichten erzwingen"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Fehlgeschlagene Nachrichtenübermittlungen erzwingen"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "GIF-Auswahl zum Laden zwingen"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Ausblenden erzwingen"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Lade-Skelett erzwingen"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Keine {permissionName}-Berechtigung erzwingen"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Profil-Datenwarnung erzwingen"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Profil-Skelette erzwingen"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Einblenden erzwingen"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Haftungsausschluss für Vanity-URL immer anzeigen erzwingen"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Sprachverbindung immer anzeigen erzwingen"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Slowmode erzwingen (aktiv)"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Unbekannten Nachrichtentyp erzwingen"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Update erzwingen (bereit)"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "GIFs konnten nicht geladen werden"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Geschenk: läuft bald ab"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Geschenk: Kulanzzeitraum (Zugriff weiterhin möglich)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Als Geschenk erhalten <0/> bis <1>{giftEndDate}</1>. Wird nicht automatisch verlängert. Löse weitere Geschenkcose ein, um die Laufzeit zu verlängern."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Verstanden"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Kulanzzeitraum"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Linker Tooltip"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Alte Emoji-Slots"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Alter Tarif"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Mediathek: {count} von {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Lebenslang"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Monatlich"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Monatlich {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "Die monatliche Abrechnung beginnt am <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "Die monatliche Abrechnung beginnt am <0>{pendingChangeDate}</0>. Erste monatliche Gebühr: {pendingInitialPriceLabel}. Zukünftige monatliche Verlängerungen: {pendingRecurringPriceLabel}/Monat."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Netzwerkfehler"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Netzwerk und Leistung"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Neues Mikrofon"
|
||||
msgid "New password"
|
||||
msgstr "Neues Passwort"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Neuer Preis geplant für den <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Neuer Preis geplant für den <0>{pendingChangeDate}</0>. Verlängerungen kosten dann {pendingTargetPriceLabel}."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Kein Grund angegeben."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Keine Erwähnungen"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Keine verbleibenden Empfänger, um eine Gruppen-DM zu erstellen."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Keine Webhooks"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "In-App-Meldungen ohne Funktion"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Nichts für dich? Du kannst es jederzeit deaktivieren."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "An"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "Am <0>{listPriceEffectiveDate}</0> wechselt dein Abo von {listPriceCurrentLabel} zu {listPriceNewLabel}. Heute wird nichts abgebucht, und der Rest deines Abos bleibt unverändert."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Vorteile"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Vorteile pausiert"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Reaktionen"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Reaktivieren"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Für dich einlösen"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Geschenkcode einlösen"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Erneuerungsschwelle (Tage)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Erneuerungszeitraum (Tage)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Verlängert sich am <0>{renewalDate}</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Fenster wiederherstellen"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Erneut abonnieren"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Self-Hosted-Modus"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Self-hosted-Modus überschreiben"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Eigene Bildschirmfreigabe anzeigen"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Mich als \"tippt …\" anzeigen"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Lautstärkeregler für einzelne Teilnehmer in Sprachmenüs anzeigen"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Einstellungen für die Zeitzone im Profil anzeigen (nur für Administratoren)"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Warnung für externe Links für alle Domains überspringen"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Überspringt den Netzwerkaufruf, wenn ein In-App-Bericht gesendet wird. Der Ablauf geht trotzdem zum Erfolgsbildschirm über, damit die Benutzeroberfläche getestet werden kann, aber es wird nichts an das Sicherheitsteam gesendet."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Slowenien"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Langsamer Anhang-Upload"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Langsamer – warte einen Moment, bevor du es erneut versuchst."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Langsames Bearbeiten von Nachrichten"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Langsames Laden von Nachrichten"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Langsamer Nachrichtenversand"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Langsames Laden des Profils"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Beim Laden der Mitglieder ist ein Fehler aufgetreten. Bitte versuche es später noch einmal."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Beim Abbrechen der ausstehenden Abrechnungsänderung ist ein Fehler aufgetreten. Bitte versuchen Sie es in Kürze erneut."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Beim Kündigen deines Abonnements ist ein Fehler aufgetreten. Bitte versuche es gleich noch einmal."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Beim Ändern deines Abrechnungszyklus ist ein Fehler aufgetreten. Bitte versuche es gleich noch einmal."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Beim Ändern deines Preises ist etwas schiefgelaufen. Bitte versuche es gleich noch einmal."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Beim Verbinden deines Accounts ist ein Fehler aufgetreten. Du kannst diesen Tab schließen und es erneut versuchen."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Beim Beenden deiner Schonfrist ist etwas schiefgelaufen. Bitte versuche es gleich noch einmal."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Beim Laden des Aktivitätsprotokolls ist ein Fehler aufgetreten."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Beim Vorbereiten dieses Stickers ist ein Fehler aufgetreten. Versuche es mit einer anderen Datei oder versuche es später noch einmal."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Beim Reaktivieren deines Abonnements ist ein Fehler aufgetreten. Bitte versuche es in Kürze erneut."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Neu beginnen"
|
||||
msgid "Start recording"
|
||||
msgstr "Aufnahme starten"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Beginnen Sie Suchvorgänge mit <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3>, um die Ergebnisse einzugrenzen."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Nachrichten und Freundschaftsanfragen stoppen."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Verhindere, dass Neko deinem Mauszeiger folgt, während er weiterhin ziehbar und interaktiv bleibt."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Stoppe das Patchen von Node.prototype insertBefore und removeChild. Die App wird wieder abstürzen, wenn ein Seitenübersetzer Textknoten neu einhängt, die React noch hält."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Wechsle zwischen deinem globalen Profil und deinen Community-Profilen"
|
||||
msgid "Switch device"
|
||||
msgstr "Gerät wechseln"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Preis wechseln"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Wechseln zu {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Direkte Eingabe nutzen"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Zum Monatsabo wechseln"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Auf monatliche Abrechnung wechseln?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Zum vorherigen Community- oder DM-Chat wechseln"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Zu einzelner Spalte wechseln"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Auf den neuen Preis wechseln?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Zu diesem Account wechseln"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Zu zwei Spalten wechseln"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Zu jährlich wechseln"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Auf jährliche Abrechnung umstellen?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Tags ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Tags müssen 2 bis {maxLength} alphanumerische Zeichen lang sein."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Tritt bei deiner nächsten Verlängerung in Kraft. Wir werden eine Gutschrift von {creditLabel} von deiner aktuellen monatlichen Zahlung anrechnen, sodass deine erste jährliche Gebühr <0>{firstRenewalPriceLabel}</0> beträgt. Zukünftige jährliche Verlängerungen kosten {renewalPrice}/Jahr."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Tritt bei deiner nächsten Verlängerung in Kraft. Dein Abo bleibt bis dahin monatlich und deine nächste Verlängerung kostet <0>{renewalPrice}/Jahr</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Tritt bei deiner nächsten Verlängerung in Kraft. Dein Abo bleibt bis dahin jährlich und deine nächste Verlängerung beträgt <0>{renewalPrice}/Monat</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Tritt sofort in Kraft. Eine anteilige Anpassung kann über {PAYMENT_PROVIDER_NAME} erfolgen. Ihre nächste Verlängerung beträgt <0>{renewalPrice}/Monat</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Tritt sofort in Kraft. Eine anteilige Gebühr kann über {PAYMENT_PROVIDER_NAME} anfallen. Ihre nächste Verlängerung beträgt <0>{renewalPrice}/Jahr</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "Der Name wurde auf den vorherigen Zustand zurückgesetzt. Bitte versuche
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "Der neue Kanal übernimmt die Berechtigungen von <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "Der neue Preis ist bereits für den {effectiveDate} geplant."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "Der neue Sprachkanal übernimmt die Berechtigungen, das Nutzerlimit und die Bitrate von <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Tippstatus"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "UI-Komponenten"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Sichtbarkeit"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visionary"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "Wir senden keine Verifizierungstexte in dieses Land. Versuche es mit ein
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Wir haben ein bestehendes {premiumProductFullName}-Abonnement für diesen Account gefunden. Verwalte es im sicheren Abrechnungsportal, um Zahlungsdetails zu aktualisieren oder den Verlängerungsstatus zu überprüfen. Wenn du gerade erst bezahlt hast, warte eine Minute und öffne diese Seite erneut."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Wir haben die Preise für {premiumProductName} in Brasilien gesenkt. Es kostet jetzt {monthlyPrice} pro Monat oder {yearlyPrice} pro Jahr."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Jährlich {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Jährliches Geschenk"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Jährliches Upgrade geplant für <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Jährliches Upgrade geplant für <0>{pendingChangeDate}</0>. Erste jährliche Abbuchung: {pendingInitialPriceLabel} nach einer Gutschrift von {pendingCreditPriceLabel}. Zukünftige jährliche Verlängerungen: {pendingRecurringPriceLabel}/Jahr."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Jährliches Upgrade geplant für <0>{pendingChangeDate}</0>. Erste jährliche Gebühr: {pendingInitialPriceLabel}. Zukünftige jährliche Verlängerungen: {pendingRecurringPriceLabel}/Jahr."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Du bist im Sprachkanal"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Du nutzt einen alten Tarif, der für neue Abonnenten nicht mehr verfügbar ist."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Sie nutzen einen älteren Tarif. Der aktuelle Preis für diesen Plan ist {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "Deine GPU kodiert das in Hardware."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Deine Nachfrist ist abgelaufen."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Zahlung erfolgreich. Du kannst diesen Tab jetzt schließen und zur App zurückkehren."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Deine ausstehende Abrechnungsänderung wurde storniert."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "Dein Bildschirmfreigabe konnte nicht mit einem kompatiblen Video-Codec v
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Dein Stream ist weiterhin live"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Dein Abonnement kann im Moment nicht zum neuen Preis übernommen werden."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Dein Abo ist abgelaufen, aber <0/> bleibt bis zum <1>{graceDate}</1> aktiv. Abonniere vorher erneut, um deinen Abonnentenverlauf zu behalten."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Dein Abo konnte nicht verlängert werden, aber du hast noch bis zum {formattedGraceDate} Zugriff auf die Vorteile von {premiumProductName}. Handle jetzt, sonst verlierst du alle Vorteile."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Dein Abo wurde reaktiviert."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Dein Abo wird am Ende deines Abrechnungszeitraums gekündigt."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Dein Abo wurde auf monatliche Abrechnung umgestellt."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Dein Abo wurde auf jährliche Abrechnung umgestellt."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Dein Abo ist aktiv, aber die Vorteile sind vorübergehend pausiert."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Dein Abo ist bereits so eingestellt, dass es am Ende deines Abrechnungsz
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Dein Abo ist nicht zur Kündigung vorgemerkt, daher gibt es nichts zu reaktivieren."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Dein Abonnement wird am {effectiveDate} auf den neuen Preis umgestellt."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Ihr Abonnement endet am <0>{cancelDate}</0>. Der aktuelle Preis beträgt nun {listPriceNewLabel}. Wenn Sie reaktivieren, können Sie hierzu wechseln."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Dein Abo wird bei der nächsten Verlängerung auf monatliche Abrechnung umgestellt."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Dein Abo wird bei der nächsten Verlängerung auf jährliche Abrechnung umgestellt."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# σελιδοδείκτη} other {# σελιδοδ
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# κοινότητα βρέθηκε} other {# κοινότητες βρέθηκαν}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# κοινότητα είναι προσωρινά μη διαθέσιμη λόγω δυσλειτουργίας του πυκνωτή ροής.} other {# κοινότητες είναι προσωρινά μη διαθέσιμες λόγω δυσλειτουργίας του πυκνωτή ροής.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "Συνδρομητής {premiumProductFullName} από {premiumSinceForm
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "Απόρρητο σήματος {premiumProductName}"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "Το {premiumProductName} κοστίζει πλέον λιγότερο. Μεταβείτε από {currentPrice} σε {newPrice} τον μήνα από {effectiveDate} και τίποτα δεν χρεώνεται σήμερα."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "Το {premiumProductName} κοστίζει λιγότερο τώρα. Μεταβείτε από {currentPrice} σε {newPrice} ετησίως από {effectiveDate} και τίποτα δεν χρεώνεται σήμερα."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "ένα όνομα κεντρικού υπολογιστή, π.χ. {examp
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Μια ενημέρωση για την επιφάνεια εργασίας Linux είναι διαθέσιμη. Επιλέξτε τη μορφή πακέτου για αυτό το σύστημα και το {productName} θα το αποθηκεύσει τοπικά."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "Μια χαμηλότερη τιμή είναι διαθέσιμη. Η αλλαγή θα τεθεί σε ισχύ στις <0>{listPriceEffectiveDate}</0> και δεν αλλάζει τίποτα άλλο."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Ενέργειες"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Οι ρυθμίσεις στοίχισης είναι διαθέσιμε
|
||||
msgid "All"
|
||||
msgstr "Όλα"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Όλα <0/> με <1>{effectiveMonthlyPrice}/μήνα</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Όλα <0/> με <1>{effectiveYearlyPrice}/έτος</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Όλα τα <0/> περιλαμβάνονται στη συνδρομή σας."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Όλα <0/>, για πάντα. Χωρίς χρέωση, χωρίς ανανεώσεις."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Ρυθμίσεις εφαρμογής"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "Κατάσταση εφαρμογής"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Εκτός τώρα"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "Χρησιμοποιώντας το {productName}, συμφωνείτε
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Παράκαμψη σκελετού φόρτωσης"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Ακύρωση, αν θέλετε να επιλέξετε άλλο όν
|
||||
msgid "Cancel import"
|
||||
msgstr "Ακύρωση εισαγωγής"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Ακύρωση αλλαγής τιμής"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Ακύρωση αιτήματος"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Ακύρωση προγραμματισμένης αλλαγής"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Ακύρωση συνδρομής"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Ακύρωση συνδρομής;"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Ακύρωσε την προγραμματισμένη αλλαγή για να μεταβείς αντ' αυτού στην τρέχουσα τιμή."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Ακύρωση μεταφόρτωσης"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Ακύρωση ετήσιας αναβάθμισης"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Ακύρωση του αιτήματος φιλίας προς τον/την {displayName};"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Ακύρωση"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Ακύρωση"
|
||||
msgid "Cancellation"
|
||||
msgstr "Ακύρωση"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Ακυρώνεται στις <0>{cancelDate}</0>. <1/> παραμένει ενεργό μέχρι τότε."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Φόρμα αλλαγής κωδικού πρόσβασης"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Προγραμματισμένη αλλαγή"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Δεν ήταν δυνατή η ακύρωση του αιτήματος φιλίας. Δοκιμάστε ξανά."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Δεν ήταν δυνατή η ακύρωση της εκκρεμούς αλλαγής χρέωσης"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Δεν ήταν δυνατή η ακύρωση της συνδρομής σας"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Δεν ήταν δυνατή η αλλαγή του κύκλου χρέωσης"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Δεν ήταν δυνατή η αλλαγή της τιμής σας"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Αδυναμία αντιγραφής αυτού του καναλιού"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Δεν ήταν δυνατή η λήξη της περιόδου χάριτος"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Δεν ήταν δυνατή η εμφάνιση του αποτελέσ
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Δεν ήταν δυνατή η επεξεργασία της εικόνας"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Δεν ήταν δυνατή η επανενεργοποίηση της συνδρομής σας"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Δημιουργία ρόλου"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Δημιουργήστε τον λογαριασμό διαχειριστή"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Να δημιουργηθεί η ομαδική συνομιλία με τους {addableCount} παραλήπτες που απομένουν και να παραλειφθούν οι υπόλοιποι;"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Προσαρμοσμένο…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Πύλη πελατών"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Απενεργοποίηση συντόμευσης"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Απενεργοποίηση ήχων"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Απενεργοποίηση προστασίας DOM μεταφραστή"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Ημερομηνία λήξης"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Τερματισμός περιόδου χάριτος τώρα"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Λήξη μετά από"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Έληξε στις {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Έληξε στις {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Έληξε στις <0>{expiredDate}</0>. <1/> δεν είναι πλέον ενεργά. Μπορείτε να εγγραφείτε ξανά ανά πάσα στιγμή."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Εξαγωγή θεμάτων"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Εμφάνιση της ενότητας των ρυθμίσεων ζώνης ώρας που είναι διαθέσιμη μόνο για το προσωπικό."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Η λειτουργία έχει απενεργοποιηθεί προσ
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Λειτουργίες"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Ενεργοποίηση με εξαναγκασμό"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Εξαναγκασμός αποτυχημένων φορτώσεων μηνυμάτων"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Εξαναγκασμός αποτυχημένων αποστολών μηνυμάτων"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Εξαναγκασμός φόρτωσης επιλογέα GIF"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Αναγκαστική απόκρυψη"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Εξαναγκαστική φόρτωση σκελετού"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Εξαναγκασμός χωρίς άδεια {permissionName}"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Να εμφανίζεται πάντα η προειδοποίηση δεδομένων προφίλ"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Εξαναγκασμός σκελετών προφίλ"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Να εμφανίζεται πάντα"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Να εμφανίζεται πάντα η αποποίηση ευθύνης για προσαρμοσμένη διεύθυνση URL"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Να εμφανίζεται πάντα η κατάσταση σύνδεσης φωνής"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Ενεργοποίηση αργής λειτουργίας"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Εξαναγκασμός άγνωστου τύπου μηνύματος"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Εξαναγκασμός ετοιμότητας ενημέρωσης"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "Δεν ήταν δυνατή η φόρτωση των GIF"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Δώρο: λήγει σύντομα"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Δώρο: περίοδος χάριτος (έχετε ακόμα πρόσβαση)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Δωρεά <0/> έως <1>{giftEndDate}</1>. Δεν ανανεώνεται αυτόματα. Εξαργυρώστε περισσότερους κωδικούς δώρου για παράταση."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Το κατάλαβα"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Περίοδος χάριτος"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Αριστερή επεξήγηση εργαλείου"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Παλιές θέσεις emoji"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Παλιά χρέωση"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Βιβλιοθήκη: {count} από {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Διάρκεια ζωής"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Μηνιαία"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Μηνιαία {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "Η μηνιαία χρέωση ξεκινά στις <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "Η μηνιαία χρέωση ξεκινά στις <0>{pendingChangeDate}</0>. Πρώτη μηνιαία χρέωση: {pendingInitialPriceLabel}. Μελλοντικές μηνιαίες ανανεώσεις: {pendingRecurringPriceLabel}/μήνα."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Σφάλμα δικτύου"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Δικτύωση και επιδόσεις"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Νέο μικρόφωνο"
|
||||
msgid "New password"
|
||||
msgstr "Νέος κωδικός πρόσβασης"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Νέα τιμή προγραμματισμένη για <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Νέα τιμή προγραμματισμένη για <0>{pendingChangeDate}</0>. Οι ανανεώσεις θα είναι {pendingTargetPriceLabel} από τότε."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Δεν δόθηκε λόγος."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Καμία πρόσφατη αναφορά"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Δεν υπάρχουν άλλοι παραλήπτες για να δημιουργήσετε ομαδική συνομιλία."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Δεν υπάρχουν webhooks"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Αναφορές εντός εφαρμογής χωρίς λειτουργία"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Δεν είναι για εσάς; Απενεργοποιήστε το
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "Ενεργό"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "Στις <0>{listPriceEffectiveDate}</0> η συνδρομή σας μετακινείται από {listPriceCurrentLabel} σε {listPriceNewLabel}. Τίποτα δεν χρεώνεται σήμερα και το υπόλοιπο της συνδρομής σας παραμένει ακριβώς όπως είναι."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Προνόμια"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Παροχές σε παύση"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Αντιδράσεις"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Ενεργοποίηση ξανά"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Εξαργύρωση για εσάς"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Εξαργύρωση κωδικού δώρου"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Όριο ανανέωσης (ημέρες)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Παράθυρο ανανέωσης (ημέρες)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Ανανεώνεται στις <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Επαναφορά παραθύρου"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Επανεγγραφή"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Λειτουργία αυτο-φιλοξενίας"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Παράκαμψη λειτουργίας αυτο-φιλοξενίας"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Εμφάνιση της κοινής χρήσης οθόνης μου"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Εμφάνιση ότι πληκτρολογώ"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Εμφάνιση ρυθμιστικών έντασης ήχου συμμετεχόντων ανά συσκευή στα μενού φωνής"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Εμφάνιση ρυθμίσεων ζώνης ώρας προφίλ"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Παράλειψη προειδοποίησης εξωτερικού συνδέσμου για όλους τους τομείς"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Παράλειψη της κλήσης δικτύου κατά την υποβολή αναφοράς εντός εφαρμογής. Η ροή προχωρά στην οθόνη επιτυχίας, ώστε να μπορείτε να εξασκήσετε το UI, αλλά τίποτα δεν αποστέλλεται στην ομάδα ασφαλείας."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Σλοβενία"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Αργή αποστολή συνημμένου"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Σιγά — περίμενε λίγο πριν προσπαθήσεις
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Αργή επεξεργασία μηνύματος"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Αργή φόρτωση μηνυμάτων"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Αργή αποστολή μηνυμάτων"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Αργή φόρτωση προφίλ"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Κάτι πήγε στραβά κατά τη φόρτωση των μελών. Δοκιμάστε ξανά αργότερα."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Κάτι πήγε στραβά κατά την ακύρωση της εκκρεμούς αλλαγής χρέωσης. Δοκιμάστε ξανά σε λίγο."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Κάτι πήγε στραβά κατά την ακύρωση της συνδρομής σας. Δοκιμάστε ξανά σε λίγο."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Κάτι πήγε στραβά κατά την αλλαγή του κύκλου χρέωσής σας. Δοκιμάστε ξανά σε λίγο."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Κάτι πήγε στραβά κατά την αλλαγή της τιμής σας. Δοκιμάστε ξανά σε λίγο."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Κάτι πήγε στραβά κατά τη σύνδεση του λογαριασμού σας. Μπορείτε να κλείσετε αυτήν την καρτέλα και να δοκιμάσετε ξανά."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Κάτι πήγε στραβά κατά τον τερματισμό της περιόδου χάριτος. Δοκιμάστε ξανά σε λίγο."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Κάτι πήγε στραβά κατά τη φόρτωση του αρ
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Κάτι πήγε στραβά κατά την προετοιμασία αυτού του αυτοκόλλητου. Δοκιμάστε άλλο αρχείο ή δοκιμάστε ξανά σε λίγο."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Κάτι πήγε στραβά κατά την επανενεργοποίηση της συνδρομής σας. Δοκιμάστε ξανά σε λίγο."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Από την αρχή"
|
||||
msgid "Start recording"
|
||||
msgstr "Έναρξη εγγραφής"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Ξεκινήστε τις αναζητήσεις με <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> για να περιορίσετε τα αποτελέσματα."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Διακοπή μηνυμάτων και αιτημάτων φιλίας
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Σταμάτα τη γάτα Νέκο να κυνηγάει τον κέρσορά σου, διατηρώντας τον σύρσιμο και την αλληλεπίδραση."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Διακοπή τροποποίησης των Node.prototype insertBefore και removeChild. Η εφαρμογή θα καταρρεύσει ξανά όταν ένας μεταφραστής σελίδας επανατοποθετήσει κόμβους κειμένου που το React εξακολουθεί να κατέχει."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Εναλλαγή μεταξύ του καθολικού προφίλ σ
|
||||
msgid "Switch device"
|
||||
msgstr "Αλλαγή συσκευής"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Αλλαγή τιμής"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Μετάβαση στο {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Εναλλαγή σε απευθείας εισαγωγή"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Αλλαγή σε μηνιαία συνδρομή"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Να γίνει μηνιαία χρέωση;"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Εναλλαγή στην προηγούμενη κοινότητα ή
|
||||
msgid "Switch to single column"
|
||||
msgstr "Εναλλαγή σε μονή στήλη"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Αλλαγή στη νέα τιμή;"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Μετάβαση σε αυτόν τον λογαριασμό"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Εναλλαγή σε δύο στήλες"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Αλλαγή σε ετήσια συνδρομή"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Να αλλάξετε σε ετήσια χρέωση;"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Ετικέτες ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Οι ετικέτες πρέπει να είναι 2 έως {maxLength} χαρακτήρες και να περιέχουν μόνο αλφαριθμητικούς χαρακτήρες."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Θα τεθεί σε ισχύ στην επόμενη ανανέωσή σας. Θα εφαρμόσουμε μια πίστωση {creditLabel} από την τρέχουσα μηνιαία πληρωμή σας, οπότε η πρώτη ετήσια χρέωση θα είναι <0>{firstRenewalPriceLabel}</0>. Οι μελλοντικές ετήσιες ανανεώσεις θα είναι {renewalPrice}/έτος."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Θα τεθεί σε ισχύ στην επόμενη ανανέωσή σας. Η συνδρομή σας παραμένει μηνιαία μέχρι τότε και η επόμενη ανανέωσή σας θα είναι <0>{renewalPrice}/έτος</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Θα τεθεί σε ισχύ στην επόμενη ανανέωσή σας. Η συνδρομή σας παραμένει ετήσια μέχρι τότε και η επόμενη ανανέωσή σας θα είναι <0>{renewalPrice}/μήνα</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Ισχύει άμεσα. Ενδέχεται να εφαρμοστεί αναλογική προσαρμογή μέσω του {PAYMENT_PROVIDER_NAME}. Η επόμενη ανανέωσή σας θα είναι <0>{renewalPrice}/μήνα</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Ισχύει άμεσα. Ενδέχεται να εφαρμοστεί αναλογική χρέωση μέσω {PAYMENT_PROVIDER_NAME}. Η επόμενη ανανέωσή σας θα είναι <0>{renewalPrice}/έτος</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "Το όνομα επανήλθε στην προηγούμενη του
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "Το νέο κανάλι θα χρησιμοποιήσει ξανά τα δικαιώματα από το <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "Η νέα τιμή έχει ήδη προγραμματιστεί για τις {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "Το νέο κανάλι φωνής θα επαναχρησιμοποιήσει τα δικαιώματα, το όριο χρηστών και το bitrate από το <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Κατάσταση πληκτρολόγησης"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "Στοιχεία διεπαφής χρήστη"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Ορατότητα"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Οραματιστής"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "Δεν στέλνουμε μηνύματα επαλήθευσης σε
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Βρήκαμε μια υπάρχουσα συνδρομή {premiumProductFullName} για αυτόν τον λογαριασμό. Διαχειριστείτε την στην ασφαλή πύλη χρεώσεων για να ενημερώσετε τα στοιχεία πληρωμής ή να ελέγξετε την κατάσταση ανανέωσης. Αν μόλις πληρώσατε, περιμένετε ένα λεπτό και ανοίξτε ξανά αυτήν τη σελίδα."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Μειώσαμε την τιμή του {premiumProductName} στη Βραζιλία. Τώρα είναι {monthlyPrice} το μήνα ή {yearlyPrice} το χρόνο."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Ετήσια {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Ετήσιο δώρο"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Η αναβάθμιση σε ετήσια συνδρομή έχει προγραμματιστεί για <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Η ετήσια αναβάθμιση έχει προγραμματιστεί για <0>{pendingChangeDate}</0>. Πρώτη ετήσια χρέωση: {pendingInitialPriceLabel} μετά από πίστωση {pendingCreditPriceLabel}. Μελλοντικές ετήσιες ανανεώσεις: {pendingRecurringPriceLabel}/έτος."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Η ετήσια αναβάθμιση έχει προγραμματιστεί για <0>{pendingChangeDate}</0>. Πρώτη ετήσια χρέωση: {pendingInitialPriceLabel}. Μελλοντικές ετήσιες ανανεώσεις: {pendingRecurringPriceLabel}/έτος."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Είστε στο κανάλι φωνητικής συνομιλίας"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Έχετε ένα παλιό πρόγραμμα που δεν είναι πλέον διαθέσιμο σε νέους συνδρομητές."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Έχετε παλιό τιμολόγιο. Η τρέχουσα τιμή για αυτό το πρόγραμμα είναι {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "Η GPU σου το κωδικοποιεί αυτό σε υλικό."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Η περίοδος χάριτος έληξε."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Η πληρωμή σας ήταν επιτυχής. Μπορείτε τώρα να κλείσετε αυτήν την καρτέλα και να επιστρέψετε στην εφαρμογή."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Η εκκρεμής αλλαγή χρέωσης ακυρώθηκε."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "Η κοινή χρήση οθόνης σας δεν μπόρεσε να
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Η ροή σας είναι ακόμα ενεργή"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Η συνδρομή σας δεν μπορεί να μετακινηθεί στη νέα τιμή αυτήν τη στιγμή."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Η συνδρομή σας έληξε, αλλά <0/> παραμένει ενεργή έως <1>{graceDate}</1>. Κάντε ξανά εγγραφή πριν από τότε για να διατηρήσετε το ιστορικό συνδρομών σας."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Η συνδρομή σας δεν ανανεώθηκε, αλλά εξακολουθείτε να έχετε πρόσβαση στα προνόμια του {premiumProductName} μέχρι τις {formattedGraceDate}. Ενεργήστε τώρα, αλλιώς θα χάσετε όλα τα προνόμια."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Η συνδρομή σας έχει ενεργοποιηθεί ξανά."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Η συνδρομή σας έχει ρυθμιστεί να ακυρωθεί στο τέλος της τρέχουσας περιόδου χρέωσης."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Η συνδρομή σας άλλαξε σε μηνιαία χρέωση."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Η συνδρομή σας έχει αλλάξει σε ετήσια χρέωση."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Η συνδρομή σας είναι ενεργή, αλλά τα προνόμια έχουν προσωρινά τεθεί σε παύση."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Η συνδρομή σας έχει ήδη οριστεί να ακυρ
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Η συνδρομή σας δεν έχει οριστεί για ακύρωση, επομένως δεν υπάρχει κάτι για επανενεργοποίηση."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Η συνδρομή σας μεταβαίνει στη νέα τιμή στις {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Η συνδρομή σας λήγει στις <0>{cancelDate}</0>. Η τρέχουσα τιμή είναι τώρα {listPriceNewLabel}. Αν την ενεργοποιήσετε ξανά, μπορείτε να την αλλάξετε από εδώ."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Η συνδρομή σας θα αλλάξει σε μηνιαία χρέωση στην επόμενη ανανέωση."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Η συνδρομή σας θα μεταβεί σε ετήσια χρέωση στην επόμενη ανανέωση."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# bookmark} other {# bookmarks}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# community found} other {# communities found}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "{premiumProductFullName} subscriber since {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "{premiumProductName} badge privacy"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "a hostname, e.g. {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Actions"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Alignment controls are only available on wider screens"
|
||||
msgid "All"
|
||||
msgstr "All"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "All <0/> included with your subscription."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "All <0/>, forever. No billing, no renewals."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "App settings"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "App state"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Away right now"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "By using {productName}, you agree to the updated policies."
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Bypass loading skeleton"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Cancel if you want to choose a different username."
|
||||
msgid "Cancel import"
|
||||
msgstr "Cancel import"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Cancel price change"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Cancel request"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Cancel scheduled switch"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Cancel subscription"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Cancel subscription?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Cancel the scheduled change to move to the current price instead."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Cancel upload"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Cancel yearly upgrade"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Cancel your friend request to {displayName}?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Cancelling"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Cancelling"
|
||||
msgid "Cancellation"
|
||||
msgstr "Cancellation"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Change password form"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Change scheduled"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Couldn't cancel the friend request. Please try again."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Couldn't cancel your pending billing change"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Couldn't cancel your subscription"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Couldn't change your billing cycle"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Couldn't change your price"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Couldn't duplicate this channel"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Couldn't end your grace period"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Couldn't open search result"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Couldn't process image"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Couldn't reactivate your subscription"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Create role"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Create the administrator account"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Custom…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Customer portal"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Disable shortcut"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Disable sounds"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Disable translation DOM guard"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "End date"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "End grace period now"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Expire after"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Expired on {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Expired on {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Export themes"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Expose the staff-only timezone section in profile settings."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Feature temporarily disabled"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Features"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Force enabled"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Force failed message loads"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Force failed message sends"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Force GIF picker loading"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Force hide"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Force loading skeleton"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Force no {permissionName} permission"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Force profile data warning"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Force profile skeletons"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Force show"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Force show vanity URL disclaimer"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Force show voice connection"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Force slowmode active"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Force unknown message type"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Force update ready"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "GIFs could not load"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Gift: expiring soon"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Gift: grace period (still have access)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Got it"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Grace period"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Left tooltip"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Legacy emoji slots"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Legacy rate"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Library: {count} of {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Lifetime"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Monthly"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Monthly {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Network error"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Networking and performance"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "New microphone"
|
||||
msgid "New password"
|
||||
msgstr "New password"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "No reason was provided."
|
||||
msgid "No recent mentions"
|
||||
msgstr "No recent mentions"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "No remaining recipients to create a group DM with."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "No webhooks"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "No-op in-app reports"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Not for you? Turn it off any time."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "On"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Perks"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Perks paused"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Reactions"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Reactivate"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Redeem for yourself"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Redeem gift code"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Renew threshold (days)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Renew window (days)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Renews on <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Restore window"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Resubscribe"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Self-hosted mode"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Self-hosted mode override"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Show my screen share"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Show myself typing"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Show per-device participant volume sliders in voice menus"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Show profile timezone settings"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Skip the external link warning for all domains"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Slovenia"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Slow attachment upload"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Slow down – wait a moment before trying again."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Slow message edit"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Slow message load"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Slow message send"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Slow profile load"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Something went wrong loading members. Please try again later."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Something went wrong while cancelling your pending billing change. Please try again in a moment."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Something went wrong while changing your price. Please try again in a moment."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Something went wrong while loading the activity log."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Something went wrong while preparing this sticker. Try another file or try again in a moment."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Start again"
|
||||
msgid "Start recording"
|
||||
msgstr "Start recording"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Stop messages and friend requests."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator reparents text nodes React still holds."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Switch between your global profile and per-community profiles"
|
||||
msgid "Switch device"
|
||||
msgstr "Switch device"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Switch price"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Switch to {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Switch to direct input"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Switch to monthly"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Switch to monthly billing?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Switch to previous community or DMs"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Switch to single column"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Switch to the new price?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Switch to this account"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Switch to two columns"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Switch to yearly"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Switch to yearly billing?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Tags ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Takes effect immediately. A pro-rated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "The name was reverted to what it was before. Please try again in a momen
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "The new price is already scheduled for {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Typing status"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "UI components"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Visibility"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visionary"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "We don't send verification texts to this country. Try a mobile number fr
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Yearly {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Yearly gift"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "You're in the voice channel"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "You're on a legacy rate no longer available to new subscribers."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "Your GPU encodes this in hardware."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Your grace period has ended."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Your payment was successful. You can now close this tab and return to the app."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Your pending billing change has been cancelled."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "Your screen share could not be published with a compatible video codec,
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Your stream is still live"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Your subscription can't move to the new price right now."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Your subscription failed to renew, but you still have access to {premiumProductName} perks until {formattedGraceDate}. Take action now or you'll lose all perks."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Your subscription has been reactivated."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Your subscription will cancel at the end of your billing period."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Your subscription has been switched to monthly billing."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Your subscription has been switched to yearly billing."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Your subscription is active but perks are temporarily paused."
|
||||
|
||||
@@ -38550,13 +38640,24 @@ msgstr "Your subscription is already set to cancel at the end of your billing pe
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Your subscription moves to the new price on {effectiveDate}."
|
||||
|
||||
# auto-i18n: reviewed unchanged
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Your subscription will switch to monthly billing at the next renewal."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Your subscription will switch to yearly billing at the next renewal."
|
||||
|
||||
|
||||
@@ -356,7 +356,7 @@ msgstr "{count, plural, one {# bookmark} other {# bookmarks}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# community found} other {# communities found}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
|
||||
@@ -961,6 +961,16 @@ msgstr "{premiumProductFullName} subscriber since {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "{premiumProductName} badge privacy"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1885,6 +1895,11 @@ msgstr "a hostname, e.g. {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2177,7 +2192,7 @@ msgstr "Actions"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2836,19 +2851,19 @@ msgstr "Alignment controls are only available on wider screens"
|
||||
msgid "All"
|
||||
msgstr "All"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "All <0/> included with your subscription."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "All <0/>, forever. No billing, no renewals."
|
||||
|
||||
@@ -3655,7 +3670,7 @@ msgid "App settings"
|
||||
msgstr "App settings"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "App state"
|
||||
|
||||
@@ -4581,7 +4596,7 @@ msgstr "Away right now"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5465,7 +5480,7 @@ msgstr "By using {productName}, you agree to the updated policies."
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Bypass loading skeleton"
|
||||
|
||||
@@ -5733,6 +5748,11 @@ msgstr "Cancel if you want to choose a different username instead."
|
||||
msgid "Cancel import"
|
||||
msgstr "Cancel import"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Cancel price change"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5744,13 +5764,13 @@ msgid "Cancel request"
|
||||
msgstr "Cancel request"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Cancel scheduled switch"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5760,13 +5780,18 @@ msgstr "Cancel subscription"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Cancel subscription?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Cancel the scheduled change to move to the current price instead."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Cancel upload"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Cancel yearly upgrade"
|
||||
|
||||
@@ -5776,7 +5801,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Cancel your friend request to {displayName}?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Canceling"
|
||||
|
||||
@@ -5785,7 +5810,7 @@ msgstr "Canceling"
|
||||
msgid "Cancellation"
|
||||
msgstr "Cancellation"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
|
||||
@@ -6076,7 +6101,7 @@ msgid "Change password form"
|
||||
msgstr "Change password form"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Change scheduled"
|
||||
|
||||
@@ -8882,20 +8907,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Couldn't cancel the friend request. Try again."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Couldn't cancel your pending billing change"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Couldn't cancel your subscription"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Couldn't change your billing cycle"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Couldn't change your price"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9014,7 +9044,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Couldn't duplicate this channel"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Couldn't end your grace period"
|
||||
|
||||
@@ -9092,7 +9122,7 @@ msgstr "Couldn't open search result"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9111,7 +9141,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Couldn't process image"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Couldn't reactivate your subscription"
|
||||
|
||||
@@ -9540,7 +9570,7 @@ msgstr "Create role"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Create the administrator account"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
|
||||
@@ -9992,7 +10022,7 @@ msgstr "Custom…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Customer portal"
|
||||
@@ -11272,6 +11302,11 @@ msgstr "Disable shortcut"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Disable sounds"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Disable translation DOM guard"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12951,7 +12986,7 @@ msgid "End date"
|
||||
msgstr "End date"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "End grace now"
|
||||
|
||||
@@ -13555,7 +13590,7 @@ msgstr "Expire after"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13592,7 +13627,7 @@ msgstr "Expired on {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Expired on {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
|
||||
@@ -13681,7 +13716,7 @@ msgid "Export themes"
|
||||
msgstr "Export themes"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Expose the staff-only timezone section in profile settings."
|
||||
|
||||
@@ -14183,7 +14218,7 @@ msgstr "Feature temporarily disabled"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Features"
|
||||
@@ -14620,17 +14655,17 @@ msgid "Force enabled"
|
||||
msgstr "Force enabled"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Force failed message loads"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Force failed message sends"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Force GIF picker loading"
|
||||
|
||||
@@ -14642,7 +14677,7 @@ msgstr "Force hide"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Force loading skeleton"
|
||||
|
||||
@@ -14662,12 +14697,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Force no {permissionName} permission"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Force profile data warning"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Force profile skeletons"
|
||||
|
||||
@@ -14677,12 +14712,12 @@ msgid "Force show"
|
||||
msgstr "Force show"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Force show vanity URL disclaimer"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Force show voice connection"
|
||||
|
||||
@@ -14691,12 +14726,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Force slowmode active"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Force unknown message type"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Force update ready"
|
||||
|
||||
@@ -15202,7 +15237,7 @@ msgstr "GIFs could not load"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15342,7 +15377,7 @@ msgstr "Gift: expiring soon"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Gift: grace period (still have access)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
|
||||
@@ -15506,7 +15541,7 @@ msgid "Got it"
|
||||
msgstr "Got it"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Grace period"
|
||||
|
||||
@@ -18250,8 +18285,8 @@ msgstr "Left tooltip"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Legacy emoji slots"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Legacy rate"
|
||||
|
||||
@@ -18330,7 +18365,7 @@ msgstr "Library: {count} of {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Lifetime"
|
||||
@@ -20235,11 +20270,11 @@ msgstr "Monthly"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Monthly {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
|
||||
@@ -20953,7 +20988,7 @@ msgid "Network error"
|
||||
msgstr "Network error"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Networking and performance"
|
||||
|
||||
@@ -21078,6 +21113,16 @@ msgstr "New microphone"
|
||||
msgid "New password"
|
||||
msgstr "New password"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21566,7 +21611,7 @@ msgstr "No reason was provided."
|
||||
msgid "No recent mentions"
|
||||
msgstr "No recent mentions"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "No remaining recipients to create a group DM with."
|
||||
|
||||
@@ -21755,7 +21800,7 @@ msgid "No webhooks"
|
||||
msgstr "No webhooks"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "No-op in-app reports"
|
||||
|
||||
@@ -21843,7 +21888,7 @@ msgstr "Not for you? Turn it off anytime."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22071,6 +22116,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "On"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23324,7 +23374,7 @@ msgid "Perks"
|
||||
msgstr "Perks"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Perks paused"
|
||||
|
||||
@@ -24788,7 +24838,7 @@ msgstr "Reactions"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Reactivate"
|
||||
@@ -25015,7 +25065,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Redeem for yourself"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Redeem gift code"
|
||||
|
||||
@@ -25713,7 +25763,7 @@ msgstr "Renew threshold (days)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Renew window (days)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Renews on <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26441,8 +26491,8 @@ msgstr "Restore window"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Resubscribe"
|
||||
|
||||
@@ -27877,7 +27927,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Self-hosted mode"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Self-hosted mode override"
|
||||
|
||||
@@ -29021,7 +29071,7 @@ msgstr "Show my screen share"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Show myself typing"
|
||||
|
||||
@@ -29075,7 +29125,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Show per-device participant volume sliders in voice menus"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Show profile timezone settings"
|
||||
|
||||
@@ -29442,7 +29492,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Skip the external link warning for all domains"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
|
||||
@@ -29500,7 +29550,7 @@ msgstr "Slovenia"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Slow attachment upload"
|
||||
|
||||
@@ -29517,28 +29567,28 @@ msgstr "Slow down — wait a moment before trying again."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Slow message edit"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Slow message load"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Slow message send"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Slow profile load"
|
||||
|
||||
@@ -29760,26 +29810,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Something went wrong loading members. Try again later."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Something went wrong while changing your price. Please try again in a moment."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
|
||||
@@ -29798,7 +29853,7 @@ msgstr "Something went wrong while loading the activity log."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29810,7 +29865,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Something went wrong while preparing this sticker. Try another file or try again in a moment."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
|
||||
@@ -30331,7 +30386,7 @@ msgstr "Start over"
|
||||
msgid "Start recording"
|
||||
msgstr "Start recording"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
|
||||
@@ -30592,6 +30647,11 @@ msgstr "Stop messages and friend requests."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30954,6 +31014,16 @@ msgstr "Switch between your global profile and per-community profiles"
|
||||
msgid "Switch device"
|
||||
msgstr "Switch device"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Switch price"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Switch to {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30974,13 +31044,13 @@ msgstr "Switch to direct input"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Switch to monthly"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Switch to monthly billing?"
|
||||
|
||||
@@ -31021,6 +31091,11 @@ msgstr "Switch to previous community or DMs"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Switch to single column"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Switch to the new price?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Switch to this account"
|
||||
@@ -31038,13 +31113,13 @@ msgstr "Switch to two columns"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Switch to yearly"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Switch to yearly billing?"
|
||||
|
||||
@@ -31276,23 +31351,23 @@ msgstr "Tags ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
|
||||
@@ -31718,6 +31793,11 @@ msgstr "The name was reverted to what it was before. Please try again in a momen
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "The new price is already scheduled for {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
@@ -33634,7 +33714,7 @@ msgid "Typing state"
|
||||
msgstr "Typing state"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "UI components"
|
||||
|
||||
@@ -36143,7 +36223,7 @@ msgid "Visibility"
|
||||
msgstr "Visibility"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visionary"
|
||||
@@ -36640,6 +36720,11 @@ msgstr "We don't send verification texts to this country. Try a mobile number fr
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37275,15 +37360,15 @@ msgstr "Yearly {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Yearly gift"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
|
||||
@@ -38072,12 +38157,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "You're in the voice channel"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "You're on a legacy rate no longer available to new subscribers."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38358,7 +38443,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "Your GPU encodes this in hardware."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Your grace period has ended."
|
||||
|
||||
@@ -38458,7 +38543,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Your payment was successful. You can now close this tab and return to the app."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Your pending billing change has been canceled."
|
||||
|
||||
@@ -38508,7 +38593,12 @@ msgstr "Your screen share could not be published with a compatible video codec,
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Your stream is still live"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Your subscription can't move to the new price right now."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
|
||||
@@ -38518,26 +38608,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Your subscription failed to renew, but you still have access to {premiumProductName} perks until {formattedGraceDate}. Take action now or you'll lose all perks."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Your subscription has been reactivated."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Your subscription has been set to cancel at the end of your billing period."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Your subscription has been switched to monthly billing."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Your subscription has been switched to yearly billing."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Your subscription is active but perks are temporarily paused."
|
||||
|
||||
@@ -38551,13 +38641,23 @@ msgstr "Your subscription is already set to cancel at the end of your billing pe
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Your subscription moves to the new price on {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Your subscription will switch to monthly billing at the next renewal."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Your subscription will switch to yearly billing at the next renewal."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# marcador} other {# marcadores}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# comunidad encontrada} other {# comunidades encontradas}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# comunidad no está disponible temporalmente debido a una falla en el condensador de flujo.} other {# comunidades no están disponibles temporalmente debido a una falla en el condensador de flujo.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "Suscriptor de {premiumProductFullName} desde {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "Privacidad de la insignia de {premiumProductName}"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} cuesta menos ahora. Cambia de {currentPrice} a {newPrice} al mes a partir del {effectiveDate}, y no se te cobrará nada hoy."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} cuesta menos ahora. Cambia de {currentPrice} a {newPrice} al año a partir del {effectiveDate}, y no se te cobrará nada hoy."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "un nombre de host, p. ej. {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Hay una actualización de Fluxer disponible para escritorio en Linux. Elija el formato del paquete para este sistema y {productName} lo guardará localmente."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "Hay un precio más bajo disponible. El cambio entra en vigor el <0>{listPriceEffectiveDate}</0> y no cambia nada más."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Acciones"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Los controles de alineación solo están disponibles en pantallas más a
|
||||
msgid "All"
|
||||
msgstr "Todo"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Todo <0/> por <1>{effectiveMonthlyPrice}/mes</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Todo <0/> por <1>{effectiveYearlyPrice}/año</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Todo <0/> incluido con tu suscripción."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Todo <0/>, para siempre. Sin facturación ni renovaciones."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Configuración de la aplicación"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "Estado de la aplicación"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Ausente en este momento"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "Al usar {productName}, aceptas las políticas actualizadas."
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Omitir esqueleto de carga"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Cancela si quieres elegir otro nombre de usuario."
|
||||
msgid "Cancel import"
|
||||
msgstr "Cancelar importación"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Cancelar cambio de precio"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Cancelar solicitud"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Cancelar cambio programado"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Cancelar suscripción"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "¿Cancelar suscripción?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Cancela el cambio programado para pasar al precio actual en su lugar."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Cancelar carga"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Cancelar mejora anual"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "¿Cancelar tu solicitud de amistad a {displayName}?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Cancelando"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Cancelando"
|
||||
msgid "Cancellation"
|
||||
msgstr "Cancelación"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Se cancela el <0>{cancelDate}</0>. <1/> permanece activo hasta entonces."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Formulario para cambiar la contraseña"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Cambio programado"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "No se pudo cancelar la solicitud de amistad. Intenta de nuevo."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "No se pudo cancelar el cambio de facturación pendiente"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "No se pudo cancelar tu suscripción"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "No se pudo cambiar tu ciclo de facturación"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "No se pudo cambiar tu precio"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "No se pudo duplicar este canal"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "No se pudo finalizar tu período de gracia"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "No se pudo abrir el resultado de búsqueda"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "No se pudo procesar la imagen"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "No pudimos reactivar tu suscripción"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Crear rol"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Crear la cuenta de administrador"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "¿Crear el grupo de MD con los {addableCount} destinatarios restantes y omitir a los demás?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Personalizar…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Portal de clientes"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Desactivar atajo"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Desactivar sonidos"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Desactivar protección contra fallos del DOM del traductor"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Fecha de finalización"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Terminar período de gracia ahora"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Vence después de"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Venció el {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Venció el {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Venció el <0>{expiredDate}</0>. <1/> ya no están activas. Puedes volver a suscribirte en cualquier momento."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Exportar temas"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Mostrar la sección de zona horaria reservada para el personal en la configuración del perfil."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Función deshabilitada temporalmente"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Funciones"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Activado forzosamente"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Forzar cargas de mensajes fallidas"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Forzar el envío de mensajes fallidos"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Forzar carga del selector de GIF"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Forzar ocultar"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Forzar carga de esqueleto"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Forzar sin el permiso {permissionName}"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Forzar advertencia de datos de perfil"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Forzar esqueletos de perfil"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Forzar mostrar"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Forzar la visualización del aviso de URL personalizada"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Forzar la visualización de la conexión de voz"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Forzar modo lento activo"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Forzar tipo de mensaje desconocido"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Forzar actualización lista"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "No se pudieron cargar los GIF"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Regalo: vence pronto"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Regalo: período de gracia (aún tiene acceso)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Regalado <0/> hasta el <1>{giftEndDate}</1>. No se renueva automáticamente. Canjea más códigos de regalo para extender."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Entendido"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Período de gracia"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Información izquierda"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Espacios de emoji heredados"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Tarifa anterior"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Biblioteca: {count} de {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "De por vida"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Mensual"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Mensual {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "La facturación mensual comienza el <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "La facturación mensual comienza el <0>{pendingChangeDate}</0>. Primer cargo mensual: {pendingInitialPriceLabel}. Renovaciones mensuales futuras: {pendingRecurringPriceLabel}/mes."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Error de red"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Red y rendimiento"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Nuevo micrófono"
|
||||
msgid "New password"
|
||||
msgstr "Nueva contraseña"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Nuevo precio programado para el <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Nuevo precio programado para el <0>{pendingChangeDate}</0>. Las renovaciones serán de {pendingTargetPriceLabel} en adelante."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "No se proporcionó ningún motivo."
|
||||
msgid "No recent mentions"
|
||||
msgstr "No hay menciones recientes"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "No quedan destinatarios para crear un grupo de MD."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "No hay webhooks"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Informes en la aplicación sin operación"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "¿No es para ti? Desactívalo cuando quieras."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "Activado"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "El <0>{listPriceEffectiveDate}</0> tu suscripción pasará de {listPriceCurrentLabel} a {listPriceNewLabel}. No se te cobrará nada hoy y el resto de tu suscripción permanecerá igual."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Beneficios"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Beneficios en pausa"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Reacciones"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Reactivar"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Canjear para ti"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Canjear código de regalo"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Umbral de renovación (días)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Ventana de renovación (días)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Se renueva el <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Restaurar ventana"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Volver a suscribirte"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Modo autohospedado"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Anulación del modo autohospedado"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Mostrar mi pantalla compartida"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Mostrarme escribiendo"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Mostrar controles deslizantes de volumen por participante en los menús de voz"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Mostrar la configuración de zona horaria del perfil"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Omitir la advertencia de enlace externo para todos los dominios"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Omite la llamada de red cuando se envía un informe en la aplicación. El flujo avanza a la pantalla de éxito para que puedas probar la interfaz de usuario, pero en realidad no se envía nada al equipo de seguridad."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Eslovenia"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Carga lenta de archivos adjuntos"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Ve más despacio, espera un momento antes de volver a intentarlo."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Edición lenta de mensajes"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Carga lenta de mensajes"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Envío lento de mensajes"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Carga lenta de perfil"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Hubo un error al cargar a los miembros. Intenta de nuevo más tarde."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Algo salió mal al cancelar tu cambio de facturación pendiente. Intenta de nuevo en un momento."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Algo salió mal al cancelar tu suscripción. Intenta de nuevo en un momento."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Algo salió mal al cambiar tu ciclo de facturación. Intenta de nuevo en un momento."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Algo salió mal al cambiar tu precio. Inténtalo de nuevo en un momento."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Algo salió mal al conectar tu cuenta. Puedes cerrar esta pestaña e intentarlo de nuevo."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Algo salió mal al finalizar tu período de gracia. Intenta de nuevo en un momento."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Ocurrió un problema al cargar el registro de actividad."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Algo salió mal al preparar esta calcomanía. Intenta con otro archivo o inténtalo de nuevo en un momento."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Algo salió mal al reactivar tu suscripción. Intenta de nuevo en un momento."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Volver a empezar"
|
||||
msgid "Start recording"
|
||||
msgstr "Iniciar grabación"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Comienza las búsquedas con <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> para reducir los resultados."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Detener mensajes y solicitudes de amistad."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Evita que Neko persiga tu cursor, pero mantenlo arrastrable e interactivo."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Dejar de parchear Node.prototype insertBefore y removeChild. La app volverá a fallar cuando un traductor de páginas reasigne nodos de texto que React aún mantiene."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Cambia entre tu perfil global y los perfiles de cada comunidad"
|
||||
msgid "Switch device"
|
||||
msgstr "Cambiar de dispositivo"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Cambiar precio"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Cambiar a {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Cambiar a entrada directa"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Cambiar a mensual"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "¿Cambiar a facturación mensual?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Cambiar a la comunidad o MD anteriores"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Cambiar a una columna"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "¿Cambiar al nuevo precio?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Cambiar a esta cuenta"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Cambiar a dos columnas"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Cambiar a anual"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "¿Cambiar a facturación anual?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Etiquetas ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Las etiquetas deben tener entre 2 y {maxLength} caracteres alfanuméricos."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Se hará efectivo en tu próxima renovación. Aplicaremos un crédito de {creditLabel} de tu pago mensual actual, por lo que tu primer cargo anual será de <0>{firstRenewalPriceLabel}</0>. Las futuras renovaciones anuales serán de {renewalPrice} por año."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Se aplica en tu próxima renovación. Tu suscripción seguirá siendo mensual hasta entonces, y tu próxima renovación será de <0>{renewalPrice}/año</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Se hará efectivo en tu próxima renovación. Tu suscripción seguirá siendo anual hasta entonces, y tu próxima renovación será de <0>{renewalPrice}/mes</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Entra en vigor de inmediato. Es posible que se aplique un ajuste prorrateado a través de {PAYMENT_PROVIDER_NAME}. Tu próxima renovación será de <0>{renewalPrice}/mes</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Entra en vigor de inmediato. Es posible que se aplique un cargo prorrateado a través de {PAYMENT_PROVIDER_NAME}. Tu próxima renovación será de <0>{renewalPrice}/año</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "El nombre se revirtió a como estaba antes. Intenta de nuevo en un momen
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "El nuevo canal reutilizará los permisos de <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "El nuevo precio ya está programado para el {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "El nuevo canal de voz reutilizará los permisos, el límite de usuarios y la tasa de bits de <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Estado de escritura"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "Componentes de la interfaz de usuario"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Visibilidad"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visionario"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "No enviamos mensajes de verificación a este país. Intenta con un núme
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Encontramos una suscripción a {premiumProductFullName} existente para esta cuenta. Adminístrala en el portal de facturación seguro para actualizar los detalles de pago o verificar el estado de la renovación. Si acabas de pagar, espera un minuto y vuelve a abrir esta página."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Bajamos el precio de {premiumProductName} en Brasil. Ahora cuesta {monthlyPrice} al mes o {yearlyPrice} al año."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Anual {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Regalo anual"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Actualización anual programada para el <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Actualización anual programada para el <0>{pendingChangeDate}</0>. Primer cargo anual: {pendingInitialPriceLabel} después de un crédito de {pendingCreditPriceLabel}. Futuras renovaciones anuales: {pendingRecurringPriceLabel}/año."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Actualización anual programada para el <0>{pendingChangeDate}</0>. Primer cargo anual: {pendingInitialPriceLabel}. Renovaciones anuales futuras: {pendingRecurringPriceLabel}/año."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Estás en el canal de voz"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Tienes una tarifa anterior que ya no está disponible para nuevos suscriptores."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Tienes una tarifa anterior. El precio actual de este plan es {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "Tu GPU lo codifica por hardware."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Tu período de gracia ha terminado."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Tu pago se realizó con éxito. Ya puedes cerrar esta pestaña y volver a la app."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Se canceló el cambio de facturación pendiente."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "No se pudo publicar tu pantalla compartida con un códec de video compat
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Tu transmisión sigue activa"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Tu suscripción no puede moverse al nuevo precio en este momento."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Tu suscripción finalizó, pero <0/> se mantendrá activa hasta el <1>{graceDate}</1>. Vuelve a suscribirte antes de esa fecha para conservar tu historial de suscriptor."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Tu suscripción no se renovó, pero aún tienes acceso a los beneficios de {premiumProductName} hasta el {formattedGraceDate}. Actúa ahora o perderás todos los beneficios."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Se reactivó tu suscripción."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Tu suscripción se cancelará al final de tu periodo de facturación."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Tu suscripción se cambió a facturación mensual."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Tu suscripción se cambió a facturación anual."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Tu suscripción está activa, pero los beneficios están pausados temporalmente."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Tu suscripción ya está programada para cancelarse al final de tu perí
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Tu suscripción no está configurada para cancelarse, así que no hay nada que reactivar."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Tu suscripción cambia al nuevo precio el {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Tu suscripción aún finaliza el <0>{cancelDate}</0>. El precio actual es ahora {listPriceNewLabel}. Si reactivas, puedes cambiar a él desde aquí."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Tu suscripción cambiará a facturación mensual en la próxima renovación."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Tu suscripción cambiará a facturación anual en la próxima renovación."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# marcador} other {# marcadores}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# comunidad encontrada} other {# comunidades encontradas}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# comunidad no está disponible temporalmente debido a un fallo en el condensador de flujo.} other {# comunidades no están disponibles temporalmente debido a un fallo en el condensador de flujo.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "Suscriptor de {premiumProductFullName} desde {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "Privacidad de la insignia de {premiumProductName}"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} cuesta menos ahora. Cambia de {currentPrice} a {newPrice} al mes a partir del {effectiveDate}, y no se te cobrará nada hoy."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} cuesta menos ahora. Cambia de {currentPrice} a {newPrice} al año a partir del {effectiveDate}, y no se te cobrará nada hoy."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "un nombre de host, p. ej., {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Hay una actualización de Fluxer para escritorio disponible en Linux. Elige el formato del paquete para este sistema y {productName} lo guardará localmente."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "Hay un precio más bajo disponible. El cambio entrará en vigor el <0>{listPriceEffectiveDate}</0> y no cambia nada más."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Acciones"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Los controles de alineación solo están disponibles en pantallas más a
|
||||
msgid "All"
|
||||
msgstr "Todo"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Todas las <0/> por <1>{effectiveMonthlyPrice}/mes</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Todas las <0/> por <1>{effectiveYearlyPrice}/año</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Todas las <0/> incluido con tu suscripción."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Todas las <0/>, para siempre. Sin facturación ni renovaciones."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Configuración de la aplicación"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "Estado de la aplicación"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Ausente ahora mismo"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "Al usar {productName}, aceptas las políticas actualizadas."
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Omitir esqueleto de carga"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Cancela si quieres elegir otro nombre de usuario."
|
||||
msgid "Cancel import"
|
||||
msgstr "Cancelar importación"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Cancelar cambio de precio"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Cancelar solicitud"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Cancelar cambio programado"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Cancelar suscripción"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "¿Cancelar suscripción?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Cancela el cambio programado para pasar al precio actual en su lugar."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Cancelar subida"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Cancelar mejora anual"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "¿Cancelar tu solicitud de amistad a {displayName}?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Cancelando"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Cancelando"
|
||||
msgid "Cancellation"
|
||||
msgstr "Cancelación"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Se cancela el <0>{cancelDate}</0>. <1/> seguirá activo hasta entonces."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Formulario para cambiar la contraseña"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Cambio programado"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "No se pudo cancelar la solicitud de amistad. Inténtalo de nuevo."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "No se pudo cancelar el cambio de facturación pendiente"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "No se ha podido cancelar tu suscripción"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "No se pudo cambiar tu ciclo de facturación"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "No se pudo cambiar tu precio"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "No se ha podido duplicar este canal"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "No se ha podido finalizar tu período de gracia"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "No se pudo abrir el resultado de búsqueda"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "No se pudo procesar la imagen"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "No se pudo reactivar tu suscripción"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Crear rol"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Crear la cuenta de administrador"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "¿Crear el grupo de MD con los {addableCount} destinatarios restantes y omitir a los demás?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Personalizar…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Portal de clientes"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Desactivar atajo"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Desactivar sonidos"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Desactivar protección contra fallos del DOM del traductor"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Fecha de finalización"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Finalizar período de gracia ahora"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Caduca después de"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Caducó el {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Caducó el {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Caducó el <0>{expiredDate}</0>. <1/> ya no están activas. Puedes volver a suscribirte en cualquier momento."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Exportar temas"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Mostrar la sección de zona horaria reservada para el personal en la configuración del perfil."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Función temporalmente desactivada"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Funciones"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Forzado a activarse"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Forzar error al cargar mensajes"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Forzar el envío de mensajes fallidos"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Forzar la carga del selector de GIF"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Forzar ocultación"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Forzar carga de esqueleto"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Forzar la ausencia del permiso {permissionName}"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Forzar advertencia de datos de perfil"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Forzar esqueletos de perfil"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Forzar mostrar"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Forzar la visualización del aviso de URL personalizada"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Forzar la visualización de la conexión de voz"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Forzar modo lento activo"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Forzar tipo de mensaje desconocido"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Forzar actualización lista"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "No se pudieron cargar los GIF"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Regalo: caduca pronto"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Regalo: período de gracia (aún tienes acceso)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Regalado <0/> hasta el <1>{giftEndDate}</1>. No se renueva automáticamente. Canjea más códigos de regalo para extenderlo."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Entendido"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Período de gracia"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Información izquierda"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Espacios de emoji heredados"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Tarifa antigua"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Biblioteca: {count} de {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "De por vida"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Mensual"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Mensual {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "La facturación mensual comienza el <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "La facturación mensual comienza el <0>{pendingChangeDate}</0>. Primer cargo mensual: {pendingInitialPriceLabel}. Futuras renovaciones mensuales: {pendingRecurringPriceLabel}/mes."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Error de red"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Red y rendimiento"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Nuevo micrófono"
|
||||
msgid "New password"
|
||||
msgstr "Nueva contraseña"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Nuevo precio programado para el <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Nuevo precio programado para el <0>{pendingChangeDate}</0>. Las renovaciones serán de {pendingTargetPriceLabel} a partir de entonces."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "No se proporcionó ningún motivo."
|
||||
msgid "No recent mentions"
|
||||
msgstr "No hay menciones recientes"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "No quedan destinatarios para crear un grupo de MD."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Ningún webhook"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Informes en la aplicación sin operación"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "¿No es para ti? Desactívalo cuando quieras."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "Activado"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "El <0>{listPriceEffectiveDate}</0> tu suscripción pasará de {listPriceCurrentLabel} a {listPriceNewLabel}. No se te cobrará nada hoy y el resto de tu suscripción seguirá igual."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Ventajas"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Ventajas en pausa"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Reacciones"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Reactivar"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Canjear para mí"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Canjear código de regalo"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Umbral de renovación (días)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Ventana de renovación (días)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Se renueva el <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Restaurar ventana"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Volver a suscribirse"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Modo autoalojado"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Anular modo autohospedado"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Mostrar mi pantalla compartida"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Mostrarme escribiendo"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Mostrar controles deslizantes de volumen por participante y dispositivo en los menús de voz"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Mostrar la configuración de zona horaria del perfil"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Omitir la advertencia de enlace externo para todos los dominios"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Omite la llamada de red cuando se envía un informe en la aplicación. El flujo avanza a la pantalla de éxito para que puedas probar la interfaz de usuario, pero no se envía nada al equipo de seguridad."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Eslovenia"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Subida lenta de archivos adjuntos"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Ve más despacio: espera un momento antes de volver a intentarlo."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Edición lenta de mensajes"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Carga lenta de mensajes"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Envío lento de mensajes"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Carga lenta del perfil"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Ha habido un problema al cargar los miembros. Inténtalo de nuevo más tarde."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Ha ocurrido un error al cancelar el cambio de facturación pendiente. Inténtalo de nuevo en un momento."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Ha ocurrido un error al cancelar tu suscripción. Por favor, inténtalo de nuevo en un momento."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Se ha producido un error al cambiar tu ciclo de facturación. Vuelve a intentarlo en unos instantes."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Algo salió mal al cambiar tu precio. Vuelve a intentarlo en un momento."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Ha ocurrido un error al conectar tu cuenta. Puedes cerrar esta pestaña y volver a intentarlo."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Algo salió mal al finalizar tu período de gracia. Inténtalo de nuevo en un momento."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Ocurrió un problema al cargar el registro de actividad."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Algo salió mal al preparar esta pegatina. Prueba con otro archivo o inténtalo de nuevo en un momento."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Ha ocurrido un error al reactivar tu suscripción. Por favor, inténtalo de nuevo en unos instantes."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Empezar de nuevo"
|
||||
msgid "Start recording"
|
||||
msgstr "Iniciar grabación"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Comienza las búsquedas con <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> para reducir los resultados."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Detener mensajes y solicitudes de amistad."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Evita que Neko persiga tu cursor, pero mantenlo arrastrable e interactivo."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Dejar de parchear Node.prototype insertBefore y removeChild. La aplicación volverá a fallar cuando un traductor de páginas reasigne nodos de texto que React todavía mantiene."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Cambia entre tu perfil global y los perfiles de cada comunidad"
|
||||
msgid "Switch device"
|
||||
msgstr "Cambiar de dispositivo"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Cambiar a este precio"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Cambiar a {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Cambiar a entrada directa"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Cambiar a mensual"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "¿Cambiar a facturación mensual?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Cambiar a la comunidad o MD anteriores"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Cambiar a una columna"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "¿Cambiar al nuevo precio?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Cambiar a esta cuenta"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Cambiar a dos columnas"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Cambiar a anual"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "¿Cambiar a facturación anual?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Etiquetas ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Las etiquetas deben tener entre 2 y {maxLength} caracteres alfanuméricos."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Se hará efectivo en tu próxima renovación. Aplicaremos un crédito de {creditLabel} de tu pago mensual actual, por lo que tu primer cargo anual será de <0>{firstRenewalPriceLabel}</0>. Las futuras renovaciones anuales serán de {renewalPrice} al año."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Surtirá efecto en tu próxima renovación. Tu suscripción seguirá siendo mensual hasta entonces, y tu próxima renovación será de <0>{renewalPrice}/año</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Surtirá efecto en tu próxima renovación. Tu suscripción seguirá siendo anual hasta entonces, y tu próxima renovación será de <0>{renewalPrice}/mes</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Surtirá efecto de inmediato. Es posible que se aplique un ajuste prorrateado a través de {PAYMENT_PROVIDER_NAME}. Tu próxima renovación será de <0>{renewalPrice}/mes</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Surtirá efecto de inmediato. Es posible que se aplique un cargo prorrateado a través de {PAYMENT_PROVIDER_NAME}. Tu próxima renovación será de <0>{renewalPrice}/año</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "El nombre se ha revertido al anterior. Vuelve a intentarlo en un momento
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "El nuevo canal reutilizará los permisos de <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "El nuevo precio ya está programado para el {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "El nuevo canal de voz reutilizará los permisos, el límite de usuarios y la tasa de bits de <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Estado de escritura"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "Componentes de la interfaz de usuario"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Visibilidad"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visionario"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "No enviamos mensajes de verificación a este país. Prueba con un númer
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Hemos encontrado una suscripción a {premiumProductFullName} para esta cuenta. Puedes gestionarla en el portal de facturación seguro para actualizar los datos de pago o comprobar el estado de la renovación. Si acabas de pagar, espera un minuto y vuelve a abrir esta página."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Hemos bajado el precio de {premiumProductName} en Brasil. Ahora cuesta {monthlyPrice} al mes o {yearlyPrice} al año."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Anual {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Regalo anual"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Actualización anual programada para el <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Actualización anual programada para el <0>{pendingChangeDate}</0>. Primer cargo anual: {pendingInitialPriceLabel} después de un crédito de {pendingCreditPriceLabel}. Futuras renovaciones anuales: {pendingRecurringPriceLabel}/año."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Actualización anual programada para el <0>{pendingChangeDate}</0>. Primer cargo anual: {pendingInitialPriceLabel}. Futuras renovaciones anuales: {pendingRecurringPriceLabel}/año."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Estás en el canal de voz"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Tienes una tarifa antigua que ya no está disponible para nuevos suscriptores."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Tienes una tarifa antigua. El precio actual de este plan es {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "Tu GPU lo codifica por hardware."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Tu período de gracia ha terminado."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Tu pago se ha realizado correctamente. Ya puedes cerrar esta pestaña y volver a la aplicación."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Se ha cancelado tu cambio de facturación pendiente."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "No se ha podido publicar tu pantalla compartida con un códec de vídeo
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Tu emisión sigue activa"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Tu suscripción no puede cambiarse al nuevo precio en este momento."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Tu suscripción ha terminado, pero <0/> sigue activa hasta el <1>{graceDate}</1>. Vuelve a suscribirte antes de esa fecha para mantener tu historial de suscriptor."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Tu suscripción no se ha podido renovar, pero sigues teniendo acceso a las ventajas de {premiumProductName} hasta el {formattedGraceDate}. Actúa ahora o perderás todas las ventajas."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Se ha reactivado tu suscripción."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Tu suscripción se cancelará al final de tu periodo de facturación."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Tu suscripción se ha cambiado a facturación mensual."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Tu suscripción se ha cambiado a facturación anual."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Tu suscripción está activa, pero los beneficios están pausados temporalmente."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Tu suscripción ya está programada para cancelarse al final de tu perio
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Tu suscripción no está configurada para cancelarse, así que no hay nada que reactivar."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Tu suscripción cambiará al nuevo precio el {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Tu suscripción sigue activa hasta el <0>{cancelDate}</0>. El precio actual es de {listPriceNewLabel}. Si la reactivas, podrás cambiar a él desde aquí."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Tu suscripción cambiará a facturación mensual en la próxima renovación."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Tu suscripción cambiará a facturación anual en la próxima renovación."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# kirjanmerkki} other {# kirjanmerkkiä}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# yhteisö löytyi} other {# yhteisöä löytyi}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# yhteisö on tilapäisesti pois käytöstä toimintahäiriön vuoksi.} other {# yhteisöä on tilapäisesti pois käytöstä toimintahäiriön vuoksi.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "{premiumProductFullName}-tilaaja {premiumSinceFormatted} alkaen"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "{premiumProductName}-merkin yksityisyysasetukset"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} maksaa nyt vähemmän. Vaihda kuukausihinnasta {currentPrice} hintaan {newPrice} alkaen {effectiveDate}, eikä mitään veloiteta tänään."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} maksaa nyt vähemmän. Vaihda vuodessa {currentPrice}:sta {newPrice}:iin alkaen {effectiveDate}, eikä mitään veloiteta tänään."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "isäntänimi, esim. {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Linux-työpöytäpäivitys on saatavilla. Valitse pakettimuoto tälle järjestelmälle, niin {productName} tallentaa sen paikallisesti."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "Saatavilla on edullisempi hinta. Vaihto astuu voimaan <0>{listPriceEffectiveDate}</0>, eikä se muuta mitään muuta."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Toiminnot"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Kohdistussäätimet ovat käytettävissä vain leveämmillä näytöill
|
||||
msgid "All"
|
||||
msgstr "Kaikki"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Kaikki <0/> hintaan <1>{effectiveMonthlyPrice}/kuukausi</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Kaikki <0/> hintaan <1>{effectiveYearlyPrice}/vuosi</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Kaikki <0/> sisältyvät tilaukseesi."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Kaikki <0/> ikuisesti. Ei laskutusta, ei uusimisia."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Sovelluksen asetukset"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "Sovelluksen tila"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Poissa juuri nyt"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "Käyttämällä palvelua {productName} hyväksyt päivitetyt käytännö
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Ohita latausluuranko"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Peruuta, jos haluat valita toisen käyttäjänimen."
|
||||
msgid "Cancel import"
|
||||
msgstr "Peruuta tuonti"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Peruuta hinnanmuutos"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Peruuta pyyntö"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Peruuta ajoitettu vaihto"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Peruuta tilaus"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Peruuta tilaus?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Peruuta ajoitettu muutos ja siirry sen sijaan nykyiseen hintaan."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Peruuta lähetys"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Peruuta vuosittainen päivitys"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Peruta kaveripyyntö käyttäjälle {displayName}?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Peruutetaan"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Peruutetaan"
|
||||
msgid "Cancellation"
|
||||
msgstr "Peruutus"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Peruuntuu <0>{cancelDate}</0>. <1/> pysyy aktiivisena siihen asti."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Vaihda salasana -lomake"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Muutos ajoitettu"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Ystäväpyyntöä ei voitu peruuttaa. Yritä uudelleen."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Odotetun laskutusmuutoksen peruminen epäonnistui"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Tilausta ei voitu peruuttaa"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Laskutusjaksoa ei voitu muuttaa"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Hinnan muuttaminen epäonnistui"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Kanavaa ei voitu kopioida"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Armonaikaa ei voitu päättää"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Hakutulosta ei voitu avata"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Kuvan käsittely epäonnistui"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Tilausta ei voitu aktivoida uudelleen"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Luo rooli"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Luo pääkäyttäjätili"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Luodaanko ryhmäkeskustelu jäljelle jääneiden {addableCount} vastaanottajan kanssa ja ohitetaan muut?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Mukautettu…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Asiakasportaali"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Poista pikanäppäin käytöstä"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Poista äänet käytöstä"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Poista käännöksen DOM-suojaus käytöstä"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Päättymispäivä"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Lopeta armonaika nyt"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Vanhenee"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Vanhentui {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Vanhentui {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Vanhentunut <0>{expiredDate}</0>. <1/> eivät ole enää aktiivisia. Voit tilata uudelleen milloin tahansa."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Vie teemat"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Näytä henkilökunnalle tarkoitettu aikavyöhykeosio profiiliasetuksissa."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Ominaisuus poissa käytöstä"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Ominaisuudet"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Pakotettu käyttöön"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Pakota viestien lataus epäonnistumaan"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Pakota viestien lähetyksen epäonnistuminen"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Pakota GIF-valitsimen lataus"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Pakota piilottaminen"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Pakota luurangon lataus"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Pakota ei {permissionName}-oikeutta"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Pakota profiilitietovaroitus"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Pakota profiilirungot"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Pakota näyttämään"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Näytä aina vanity-URL-vastuuvapauslauseke"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Näytä puheyhteys pakotetusti"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Pakota hidastettu tila käyttöön"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Pakota tuntematon viestityyppi"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Pakota päivitys valmiiksi"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "GIF-kuvia ei voitu ladata"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Lahja: vanhenee pian"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Lahja: armonaika (käyttöoikeus on yhä voimassa)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Lahjoitettu <0/> asti <1>{giftEndDate}</1>. Ei uusiudu automaattisesti. Lunasta lisää lahjakoodeja pidentääksesi tilausta."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Selvä"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Armonaika"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Vasen työkaluvihje"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Vanhat emojipaikat"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Vanha hinta"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Kirjasto: {count}/{max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Elinikäinen"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Kuukausittain"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Kuukausittain {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "Kuukausilaskutus alkaa <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "Kuukausilaskutus alkaa <0>{pendingChangeDate}</0>. Ensimmäinen kuukausimaksu: {pendingInitialPriceLabel}. Tulevat kuukausittaiset uusinnat: {pendingRecurringPriceLabel}/kuukausi."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Verkkovirhe"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Verkko ja suorituskyky"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Uusi mikrofoni"
|
||||
msgid "New password"
|
||||
msgstr "Uusi salasana"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Uusi hinta ajoitettu <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Uusi hinta on ajoitettu <0>{pendingChangeDate}</0>. Uusiminen maksaa sen jälkeen {pendingTargetPriceLabel}."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Syytä ei annettu."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Ei viimeaikaisia mainintoja"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Ei jäljellä olevia vastaanottajia ryhmäkeskustelun luomiseen."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Ei webhookeja"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Ei-toimivat sovelluksen sisäiset ilmoitukset"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Eikö ole sinua varten? Voit poistaa sen käytöstä milloin tahansa."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "Käytössä"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "<0>{listPriceEffectiveDate}</0> tilauksesi siirtyy hintaan {listPriceCurrentLabel} hintaan {listPriceNewLabel}. Mitään ei veloiteta tänään, ja loput tilauksestasi pysyy ennallaan."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Edut"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Edut keskeytetty"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Reaktiot"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Aktivoi uudelleen"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Lunasta itsellesi"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Lunasta lahjakoodi"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Uusimiskynnys (päiviä)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Uusimisikkuna (päiviä)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Uusiutuu <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Palauta ikkuna"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Tilaa uudelleen"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Itsehostattu tila"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Itseisännöidyn tilan ohitus"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Näytä oma näyttöni"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Näytä itseni kirjoittamassa"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Näytä laitekohtaiset osallistujien äänenvoimakkuuden liukusäätimet äänivalikoissa"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Näytä profiilin aikavyöhykeasetukset (vain henkilökunnalle)"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Ohita ulkoisen linkin varoitus kaikille verkkotunnuksille"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Ohita verkkokutsu, kun sovelluksen sisäinen ilmoitus lähetetään. Työnkulku etenee silti onnistumisnäyttöön, jotta voit harjoitella käyttöliittymää, mutta mitään ei todellisuudessa lähetetä turvallisuustiimille."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Slovenia"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Hidas liitteen lähetys"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Hidasta – odota hetki ennen kuin yrität uudelleen."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Hidas viestin muokkaus"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Hidas viestien lataus"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Hidas viestin lähetys"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Hidas profiilin lataus"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Jäsenten latauksessa tapahtui virhe. Yritä uudelleen myöhemmin."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Jokin meni pieleen peruttaessa odottavaa laskutusmuutosta. Yritä uudelleen hetken kuluttua."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Tilauksen peruuttamisessa tapahtui virhe. Yritä uudelleen hetken kuluttua."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Jotain meni pieleen laskutusjaksoa vaihdettaessa. Yritä uudelleen hetken kuluttua."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Jokin meni vikaan hintaa muutettaessa. Yritä uudelleen hetken kuluttua."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Jotain meni pieleen tiliä yhdistettäessä. Voit sulkea tämän välilehden ja yrittää uudelleen."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Jotain meni pieleen armoajan päättämisessä. Yritä uudelleen hetken kuluttua."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Jokin meni vikaan aktiviteettilokia ladattaessa."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Tapahtui virhe valmisteltaessa tarraa. Kokeile toista tiedostoa tai yritä hetken kuluttua uudelleen."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Jotain meni pieleen tilausta uudelleenaktivoidessa. Yritä uudelleen hetken kuluttua."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Aloita alusta"
|
||||
msgid "Start recording"
|
||||
msgstr "Aloita nauhoitus"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Aloita haut käyttämällä <0>{peoplePrefix}</0>, <1>{textChannelPrefix}</1>, <2>{voiceChannelPrefix}</2> ja <3>{communityPrefix}</3>, jotta voit rajata hakutuloksia."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Estä viestit ja kaveripyynnöt."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Estä Nekoa jahtaamasta osoitintasi, mutta pidä se silti vedettävänä ja interaktiivisena."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Lopeta Node.prototype insertBefore- ja removeChild-metodien paikkaaminen. Sovellus kaatuu uudelleen, kun sivun kääntäjä siirtää Reactin edelleen pitämiä tekstisolmuja."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Vaihda globaalin profiilisi ja yhteisökohtaisten profiilien välillä"
|
||||
msgid "Switch device"
|
||||
msgstr "Vaihda laitetta"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Vaihda hintaan"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Vaihda hintaan {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Vaihda suoraan syöttöön"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Vaihda kuukausittaiseen"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Vaihda kuukausilaskutukseen?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Vaihda edelliseen yhteisöön tai yksityisviesteihin"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Vaihda yksipalstaiseen näkymään"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Vaihda uuteen hintaan?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Vaihda tähän tiliin"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Vaihda kaksipalstaiseen näkymään"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Vaihda vuositilaukseen"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Vaihda vuosilaskutukseen?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Tunnisteet ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Tunnisteen on oltava 2–{maxLength} merkkiä pitkä ja koostuttava kirjaimista ja numeroista."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Tämä astuu voimaan seuraavan uusimisen yhteydessä. Hyvitämme {creditLabel} nykyisestä kuukausimaksustasi, joten ensimmäinen vuosimaksu on <0>{firstRenewalPriceLabel}</0>. Tulevat vuosittaiset uusinnat ovat {renewalPrice}/vuosi."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Tulee voimaan seuraavan uusimisen yhteydessä. Tilauksesi pysyy kuukausittaisena siihen asti, ja seuraava uusiminen on <0>{renewalPrice}/vuosi</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Tulee voimaan seuraavan uusimisen yhteydessä. Tilauksesi pysyy vuositilauksena siihen asti, ja seuraava uusimisesi on <0>{renewalPrice}/kuukausi</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Voimaan välittömästi. {PAYMENT_PROVIDER_NAME} saattaa tehdä suhteutetun oikaisun. Seuraava uusimisesi on <0>{renewalPrice}/kuukausi</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Voimaan välittömästi. {PAYMENT_PROVIDER_NAME} saattaa veloittaa suhteutetun maksun. Seuraava uusimisesi on <0>{renewalPrice}/vuosi</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "Nimi palautettiin entiselleen. Yritä uudelleen hetken kuluttua."
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "Uusi kanava käyttää uudelleen kanavan <0>{channelLabel}</0> käyttöoikeuksia."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "Uusi hinta on jo ajoitettu kohteelle {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "Uusi äänikanava käyttää samoja oikeuksia, käyttäjärajoitusta ja bittinopeutta kuin <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Kirjoitustila"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "Käyttöliittymäkomponentit"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Näkyvyys"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visionääri"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "Emme lähetä vahvistustekstiviestejä tähän maahan. Kokeile toisesta
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Tälle tilille löytyi olemassa oleva {premiumProductFullName}-tilaus. Voit hallita sitä suojatussa laskutusportaalissa päivittääksesi maksutietoja tai tarkistaaksesi uusimisen tilan. Jos maksoit juuri, odota hetki ja avaa tämä sivu uudelleen."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Brasiliassa laskimme {premiumProductName}:n hintaa. Se on nyt {monthlyPrice} kuukaudessa tai {yearlyPrice} vuodessa."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Vuosittain {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Vuosilahja"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Vuosittainen päivitys ajoitettu päivälle <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Vuosittainen päivitys on ajoitettu päivälle <0>{pendingChangeDate}</0>. Ensimmäinen vuosimaksu: {pendingInitialPriceLabel} {pendingCreditPriceLabel}hyvityksen jälkeen. Tulevat vuosittaiset uusinnat: {pendingRecurringPriceLabel}/vuosi."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Vuosittainen päivitys ajoitettu päivälle <0>{pendingChangeDate}</0>. Ensimmäinen vuosimaksu: {pendingInitialPriceLabel}. Tulevat vuosittaiset uusinnat: {pendingRecurringPriceLabel}/vuosi."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Olet puhekanavalla"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Käytät vanhaa hintaa, joka ei ole enää uusien tilaajien saatavilla."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Käytössäsi on vanha hinta. Tämän tilauksen nykyinen hinta on {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "Näytönohjain koodaa tämän laitteistolla."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Maksuaikasi on päättynyt."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Maksu onnistui. Voit nyt sulkea tämän välilehden ja palata takaisin sovellukseen."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Odotukselle asetettu laskutusmuutos on peruutettu."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "Näyttösi jakamista ei voitu julkaista yhteensopivalla videokoodekilla,
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Striimisi on edelleen käynnissä"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Tilauksesi ei voi siirtyä uuteen hintaan juuri nyt."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Tilauksesi päättyi, mutta <0/> pysyy aktiivisena <1>{graceDate}</1> asti. Tilaa uudelleen ennen sitä säilyttääksesi tilaushistoriasi."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Tilauksesi uusiminen epäonnistui, mutta voit yhä käyttää {premiumProductName}-etuja {formattedGraceDate} asti. Toimi nyt, tai menetät kaikki edut."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Tilauksesi on aktivoitu uudelleen."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Tilauksesi on asetettu peruutettavaksi laskutuskauden lopussa."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Tilauksesi on nyt kuukausilaskutuksella."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Tilauksesi on nyt vuosilaskutuksella."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Tilauksesi on aktiivinen, mutta edut ovat väliaikaisesti keskeytettyinä."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Tilauksesi on jo asetettu peruutettavaksi laskutuskauden lopussa."
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Tilauksesi ei ole asetettu peruutettavaksi, joten sitä ei voi aktivoida uudelleen."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Tilauksesi siirtyy uuteen hintaan {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Tilauksesi päättyy silti <0>{cancelDate}</0>. Nykyinen hinta on nyt {listPriceNewLabel}. Jos aktivoit sen uudelleen, voit vaihtaa siihen täältä."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Tilauksesi muuttuu kuukausilaskutukseksi seuraavan uusimisen yhteydessä."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Tilauksesi muuttuu vuosilaskutukseksi seuraavan uusimisen yhteydessä."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# signet} other {# signets}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# communauté trouvée} other {# communautés trouvées}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# communauté est temporairement indisponible en raison d'un dysfonctionnement du condensateur de flux.} other {# communautés sont temporairement indisponibles en raison d'un dysfonctionnement du condensateur de flux.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "Abonné à {premiumProductFullName} depuis le {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "Confidentialité du badge {premiumProductName}"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} coûte moins cher maintenant. Passez de {currentPrice} à {newPrice} par mois à partir du {effectiveDate}, et rien ne sera facturé aujourd'hui."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} coûte moins cher maintenant. Passez de {currentPrice} à {newPrice} par an à partir du {effectiveDate}, et rien ne vous sera facturé aujourd'hui."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "un nom d'hôte, par exemple {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Une mise à jour pour le bureau Linux est disponible. Choisissez le format de paquet pour ce système, et {productName} l’enregistrera localement."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "Un prix inférieur est disponible. Le changement prendra effet le <0>{listPriceEffectiveDate}</0> et ne changera rien d'autre."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Actions"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Les contrôles d'alignement ne sont disponibles que sur les écrans plus
|
||||
msgid "All"
|
||||
msgstr "Tout"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Le tout <0/> pour <1>{effectiveMonthlyPrice}/mois</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Le tout <0/> pour <1>{effectiveYearlyPrice}/an</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Tout <0/> inclus avec votre abonnement."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Tout <0/>, pour toujours. Pas de facturation, pas de renouvellements."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Paramètres de l’application"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "État de l'app"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Absent(e) pour le moment"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "En utilisant {productName}, vous acceptez les politiques mises à jour."
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Ignorer le squelette de chargement"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Annuler si vous souhaitez choisir un autre nom d'utilisateur."
|
||||
msgid "Cancel import"
|
||||
msgstr "Annuler l'importation"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Annuler la modification de prix"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Annuler la demande"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Annuler le changement programmé"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Annuler l'abonnement"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Annuler l’abonnement ?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Annuler la modification prévue pour passer au prix actuel à la place."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Annuler l'envoi"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Annuler le surclassement annuel"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Annuler votre demande d'ami à {displayName} ?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Annulation en cours"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Annulation en cours"
|
||||
msgid "Cancellation"
|
||||
msgstr "Annulation"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Annulation le <0>{cancelDate}</0>. <1/> reste actif jusqu’à cette date."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Formulaire de modification du mot de passe"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Modification planifiée"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Impossible d'annuler la demande d'ami. Réessayez."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Impossible d’annuler votre changement de facturation en attente"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Impossible d'annuler votre abonnement"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Impossible de modifier votre cycle de facturation"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Impossible de changer votre tarif"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Impossible de dupliquer ce salon"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Impossible de mettre fin à votre période de grâce"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Impossible d'ouvrir le résultat de recherche"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Impossible de traiter l’image"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Impossible de réactiver votre abonnement"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Créer un rôle"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Créer le compte administrateur"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Créer le groupe de discussion avec les {addableCount} destinataire(s) restant(s) et ignorer les autres ?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Personnalisé…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Portail client"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Désactiver le raccourci"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Désactiver les sons"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Désactiver la protection DOM du traducteur"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Date de fin"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Mettre fin à la période de grâce"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Expire après"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Expiré le {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Expiré le {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Expiré le <0>{expiredDate}</0>. <1/> ne sont plus actifs. Vous pouvez vous réabonner à tout moment."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Exporter les thèmes"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Afficher la section des paramètres de fuseau horaire réservés aux membres du personnel."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Fonctionnalité temporairement désactivée"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Fonctionnalités"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Activé de force"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Forcer l'échec du chargement des messages"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Forcer l'échec de l'envoi des messages"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Forcer le chargement du sélecteur de GIF"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Forcer le masquage"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Forcer le chargement du squelette"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Forcer l'absence d'autorisation {permissionName}"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Forcer l'avertissement sur les données de profil"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Forcer les squelettes de profil"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Forcer l'affichage"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Forcer l'affichage de l'avertissement sur l'URL personnalisée"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Forcer l'affichage de la connexion vocale"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Forcer le mode lent"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Forcer le type de message inconnu"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Forcer la mise à jour prête"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "Impossible de charger les GIF"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Cadeau : expire bientôt"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Cadeau : période de grâce (accès toujours actif)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Offert <0/> jusqu’au <1>{giftEndDate}</1>. Ne se renouvelle pas automatiquement. Utilisez d’autres codes cadeaux pour prolonger."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Compris"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Période de grâce"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Info-bulle gauche"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Emplacements d'emojis hérités"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Tarif hérité"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Bibliothèque : {count} sur {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "À vie"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Mensuel"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "{monthlyPrice} par mois"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "La facturation mensuelle commence le <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "La facturation mensuelle commence le <0>{pendingChangeDate}</0>. Premier paiement mensuel : {pendingInitialPriceLabel}. Renouvellements mensuels futurs : {pendingRecurringPriceLabel}/mois."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Erreur réseau"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Réseau et performances"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Nouveau microphone"
|
||||
msgid "New password"
|
||||
msgstr "Nouveau mot de passe"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Nouveau prix prévu pour le <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Nouveau prix prévu pour le <0>{pendingChangeDate}</0>. Les renouvellements seront à {pendingTargetPriceLabel} à partir de cette date."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Aucune raison n'a été fournie."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Aucune mention récente"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Il ne reste plus de destinataires pour créer un groupe de discussion."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Aucun webhook"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Rapports intégrés sans opération"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Pas pour vous ? Désactivez-le à tout moment."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "Activé"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "Le <0>{listPriceEffectiveDate}</0>, votre abonnement passera de {listPriceCurrentLabel} à {listPriceNewLabel}. Rien ne vous sera facturé aujourd'hui, et le reste de votre abonnement restera inchangé."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Avantages"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Avantages en pause"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Réactions"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Réactiver"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Utiliser pour soi"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Utiliser un code cadeau"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Seuil de renouvellement (jours)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Fenêtre de renouvellement (jours)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Renouvellement le <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Restaurer la fenêtre"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Se réabonner"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Mode auto-hébergé"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Forcer le mode auto-hébergé"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Afficher mon partage d'écran"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "M'afficher en train d'écrire"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Afficher les curseurs de volume des participants par appareil dans les menus vocaux"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Afficher les paramètres de fuseau horaire du profil"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Ignorer l'avertissement de lien externe pour tous les domaines"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Ignore l'appel réseau lorsqu'un signalement est envoyé depuis l'application. Le flux avance toujours vers l'écran de succès pour que vous puissiez tester l'interface utilisateur, mais rien n'est réellement envoyé à l'équipe de sécurité."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Slovénie"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Chargement lent des pièces jointes"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Du calme, attendez un instant avant de réessayer."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Modification lente des messages"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Chargement lent des messages"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Envoi lent des messages"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Chargement lent du profil"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Un problème est survenu lors du chargement des membres. Veuillez réessayer plus tard."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Un problème est survenu lors de l’annulation de votre modification de facturation en attente. Veuillez réessayer dans un instant."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Un problème est survenu lors de l’annulation de votre abonnement. Veuillez réessayer dans un instant."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Un problème est survenu lors du changement de votre cycle de facturation. Veuillez réessayer dans un instant."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Une erreur est survenue lors de la modification de votre tarif. Veuillez réessayer dans un instant."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Un problème est survenu lors de la connexion de votre compte. Vous pouvez fermer cet onglet et réessayer."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Un problème est survenu lors de la fin de votre période de grâce. Veuillez réessayer dans un instant."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Une erreur s’est produite lors du chargement du journal d’activité.
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Un problème est survenu lors de la préparation de cet autocollant. Essayez un autre fichier ou réessayez dans un instant."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Un problème est survenu lors de la réactivation de votre abonnement. Veuillez réessayer dans un instant."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Recommencer"
|
||||
msgid "Start recording"
|
||||
msgstr "Démarrer l’enregistrement"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Commencez vos recherches avec <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> pour affiner les résultats."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Arrêter les messages et les demandes d'amis."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Empêchez Neko de suivre votre curseur tout en le gardant déplaçable et interactif."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Arrêter de patcher Node.prototype insertBefore et removeChild. L’application plantera à nouveau lorsqu’un traducteur de page déplacera des nœuds de texte que React détient toujours."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Basculez entre votre profil global et vos profils par communauté"
|
||||
msgid "Switch device"
|
||||
msgstr "Changer d'appareil"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Changer de prix"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Passer à {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Passer en saisie directe"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Passer au forfait mensuel"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Passer à la facturation mensuelle ?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Passer à la communauté ou aux messages privés précédents"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Passer en mode colonne unique"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Passer au nouveau prix ?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Passer à ce compte"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Passer en mode deux colonnes"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Passer à l'abonnement annuel"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Passer à la facturation annuelle ?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Tags ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Les tags doivent contenir entre 2 et {maxLength} caractères alphanumériques."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Prend effet lors de votre prochain renouvellement. Nous appliquerons un crédit {creditLabel} à partir de votre paiement mensuel actuel, votre premier paiement annuel sera donc de <0>{firstRenewalPriceLabel}</0>. Les renouvellements annuels futurs seront de {renewalPrice}/an."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Prend effet lors de votre prochain renouvellement. Votre abonnement reste mensuel jusqu’à cette date, et votre prochain renouvellement sera de <0>{renewalPrice}/an</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Prend effet lors de votre prochain renouvellement. Votre abonnement reste annuel jusqu’à cette date, et votre prochain renouvellement sera de <0>{renewalPrice}/mois</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Prend effet immédiatement. Un ajustement au prorata peut s’appliquer via {PAYMENT_PROVIDER_NAME}. Votre prochain renouvellement sera de <0>{renewalPrice}/mois</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Prend effet immédiatement. Des frais au prorata peuvent s’appliquer via {PAYMENT_PROVIDER_NAME}. Votre prochain renouvellement sera de <0>{renewalPrice}/an</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "Le nom a été restauré à sa valeur précédente. Veuillez réessayer
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "Le nouveau salon réutilisera les autorisations de <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "Le nouveau prix est déjà prévu pour le {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "Le nouveau salon vocal réutilisera les permissions, la limite d'utilisateurs et le débit binaire de <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "État de saisie"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "Composants de l'interface utilisateur"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Visibilité"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visionnaire"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "Nous n'envoyons pas de SMS de vérification dans ce pays. Essayez un num
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Nous avons trouvé un abonnement {premiumProductFullName} existant pour ce compte. Gérez-le dans le portail de facturation sécurisé pour mettre à jour les détails de paiement ou vérifier le statut de renouvellement. Si vous venez de payer, attendez une minute et rouvrez cette page."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Nous avons baissé le prix de {premiumProductName} au Brésil. Il est maintenant à {monthlyPrice} par mois ou {yearlyPrice} par an."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Annuel {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Cadeau annuel"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Mise à niveau annuelle prévue pour le <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Mise à niveau annuelle prévue pour le <0>{pendingChangeDate}</0>. Premier paiement annuel : {pendingInitialPriceLabel} après un crédit de {pendingCreditPriceLabel}. Renouvellements annuels futurs : {pendingRecurringPriceLabel}/an."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Mise à niveau annuelle prévue pour le <0>{pendingChangeDate}</0>. Premier paiement annuel : {pendingInitialPriceLabel}. Renouvellements annuels futurs : {pendingRecurringPriceLabel}/an."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Vous êtes dans le salon vocal"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Vous bénéficiez d'un tarif hérité qui n'est plus proposé aux nouveaux abonnés."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Vous bénéficiez d'un tarif historique. Le prix actuel de ce forfait est de {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "Votre GPU l'encode en matériel."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Votre période de grâce est terminée."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Votre paiement a été effectué. Vous pouvez maintenant fermer cet onglet et retourner à l'application."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Votre modification de facturation en attente a été annulée."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "Votre partage d'écran n'a pas pu être publié avec un codec vidéo com
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Votre flux est toujours en direct"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Votre abonnement ne peut pas être déplacé vers le nouveau prix pour le moment."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Votre abonnement a pris fin, mais <0/> reste actif jusqu’au <1>{graceDate}</1>. Réabonnez-vous avant cette date pour conserver votre historique d’abonné."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Votre abonnement n'a pas pu être renouvelé, mais vous avez toujours accès aux avantages de {premiumProductName} jusqu'au {formattedGraceDate}. Agissez maintenant ou vous perdrez tous les avantages."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Votre abonnement a été réactivé."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Votre abonnement sera annulé à la fin de votre période de facturation."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Votre abonnement est maintenant facturé mensuellement."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Votre abonnement est passé en facturation annuelle."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Votre abonnement est actif, mais les avantages sont temporairement suspendus."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Votre abonnement est déjà programmé pour être annulé à la fin de v
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Votre abonnement n’est pas configuré pour être annulé, il n’y a donc rien à réactiver."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Votre abonnement passera au nouveau tarif le {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Votre abonnement se termine le <0>{cancelDate}</0>. Le prix actuel est maintenant de {listPriceNewLabel}. Si vous réactivez, vous pourrez y basculer depuis ici."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Votre abonnement passera à la facturation mensuelle lors du prochain renouvellement."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Votre abonnement passera à la facturation annuelle lors du prochain renouvellement."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# סימנייה} other {# סימניות}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# קהילה נמצאה} other {# קהילות נמצאו}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# קהילה אינה זמינה באופן זמני עקב תקלה בקבלן השטף.} other {# קהילות אינן זמינות באופן זמני עקב תקלה בקבלן השטף.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "מנוי ל-{premiumProductFullName} מאז {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "פרטיות תג ה-{premiumProductName}"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} עולה פחות עכשיו. עברו מ-{currentPrice} ל-{newPrice} לחודש החל מ-{effectiveDate}, ושום דבר לא יחויב היום."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} עולה פחות עכשיו. עבור מ-{currentPrice} ל-{newPrice} בשנה החל מ-{effectiveDate}, ולא יחויב דבר היום."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "שם מארח, לדוגמה {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "זמין עדכון עבור לינוקס במחשב השולחני. בחרו את פורמט החבילה עבור מערכת זו, ו-{productName} ישמור אותו באופן מקומי."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "מחיר נמוך יותר זמין. המעבר ייכנס לתוקף ב- <0>{listPriceEffectiveDate}</0> ולא ישנה דבר אחר."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "פעולות"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "פקדי יישור זמינים רק במסכים רחבים יותר"
|
||||
msgid "All"
|
||||
msgstr "הכל"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "הכל <0/> תמורת <1>{effectiveMonthlyPrice} לחודש</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "הכל <0/> תמורת <1>{effectiveYearlyPrice} לשנה</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "כל <0/> כלול במנוי שלך."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "הכל <0/>, לנצח. בלי חיובים, בלי חידושים."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "הגדרות אפליקציה"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "מצב האפליקציה"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "מחוץ למשרד כרגע"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "בשימוש ב- {productName}, אתה מסכים למדיניות המ
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "עקיפת שלד טעינה"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "בטל אם ברצונך לבחור שם משתמש אחר במקום ז
|
||||
msgid "Cancel import"
|
||||
msgstr "ביטול ייבוא"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "בטל שינוי מחיר"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "ביטול הבקשה"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "ביטול המעבר המתוזמן"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "ביטול מינוי"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "לבטל את המינוי?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "בטל את השינוי המתוכנן כדי לעבור למחיר הנוכחי במקום זאת."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "ביטול העלאה"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "ביטול שדרוג שנתי"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "לבטל את בקשת החברות שלך אל {displayName}?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "מבטל/ת"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "מבטל/ת"
|
||||
msgid "Cancellation"
|
||||
msgstr "ביטול"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "הביטול ייכנס לתוקף ב-<0>{cancelDate}</0>. <1/> נשאר פעיל עד אז."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "טופס שינוי סיסמה"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "שינוי מתוזמן"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "לא ניתן לבטל את בקשת החברות. יש לנסות שוב."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "לא ניתן לבטל את שינוי החיוב הממתין שלך"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "לא ניתן לבטל את המינוי שלך"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "לא ניתן היה לשנות את מחזור החיוב שלך"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "לא ניתן היה לשנות את המחיר שלך"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "לא ניתן לשכפל את הערוץ הזה"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "לא ניתן היה לסיים את תקופת החסד שלך"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "לא ניתן היה לפתוח את תוצאת החיפוש"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "לא ניתן לעבד את התמונה"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "לא ניתן להפעיל מחדש את המינוי שלך"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "יצירת תפקיד"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "צור את חשבון המנהל"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "ליצור את הצ'אט הקבוצתי עם {addableCount} הנמענים הנותרים ולדלג על האחרים?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "מותאם אישית…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "פורטל לקוחות"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "השבת קיצור דרך"
|
||||
msgid "Disable sounds"
|
||||
msgstr "השבתת צלילים"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "בטל הגנת DOM של מתרגם הדפים"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "תאריך סיום"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "סיים את תקופת החסד עכשיו"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "יפוג לאחר"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "פג תוקף ב-{date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "פג תוקף ב-{earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "פג תוקף ב-<0>{expiredDate}</0>. <1/> אינם פעילים עוד. ניתן להירשם מחדש בכל עת."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "ייצוא ערכות נושא"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "הצג את סעיף אזור הזמן המיועד רק למנהלים בהגדרות הפרופיל."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "התכונה מושבתת זמנית"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "תכונות"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "מופעל בכפייה"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "כפה טעינת הודעות שנכשלה"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "כפה שליחת הודעות שנכשלה"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "כפה טעינת בורר GIF"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "הסתר בכוח"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "טעינת שלד בכוח"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "אל תאכוף הרשאת {permissionName}"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "הצג תמיד אזהרת נתוני פרופיל"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "הצג שלדי פרופיל בכפייה"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "הצגה בכפייה"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "הצג תמיד את אזהרת כתובת ה-URL המותאמת אישית"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "הצג תמיד את מצב החיבור הקולי"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "הפעלת מצב איטי בכפייה"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "הצג סוג הודעה לא ידוע"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "כפה עדכון זמין"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "לא ניתן היה לטעון קובצי GIF"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "מתנה: יפוג בקרוב"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "מתנה: תקופת חסד (עדיין יש גישה)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "ניתן במתנה <0/> עד <1>{giftEndDate}</1>. לא מתחדש באופן אוטומטי. ניתן לממש קודי מתנה נוספים כדי להאריך."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "הבנתי"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "תקופת חסד"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "תיאור כלי שמאלי"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "מקומות אימוג'י מדור קודם"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "תעריף קודם"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "ספרייה: {count} מתוך {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "לכל החיים"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "חודשי"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "חודשי {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "החיוב החודשי יתחיל ב-<0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "החיוב החודשי יתחיל ב-<0>{pendingChangeDate}</0>. חיוב חודשי ראשון: {pendingInitialPriceLabel}. חידושים חודשיים עתידיים: {pendingRecurringPriceLabel} לחודש."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "שגיאת רשת"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "רשת וביצועים"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "מיקרופון חדש"
|
||||
msgid "New password"
|
||||
msgstr "סיסמה חדשה"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "מחיר חדש מתוכנן ל- <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "מחיר חדש מתוכנן ל- <0>{pendingChangeDate}</0>. החידושים יתבצעו ב- {pendingTargetPriceLabel} החל מכך."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "לא ניתנה סיבה."
|
||||
msgid "No recent mentions"
|
||||
msgstr "אין אזכורים אחרונים"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "אין נמענים שנותרו כדי ליצור איתם קבוצת צ'אט."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "אין Webhooks"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "דיווחים פנימיים לא פעילים"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "לא בשבילך? כבה את זה מתי שתרצה."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "מופעל"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "ב־<0>{listPriceEffectiveDate}</0> המנוי שלך יעבור מ־{listPriceCurrentLabel} ל־{listPriceNewLabel}. לא יחויב דבר היום, ושאר המנוי שלך יישאר בדיוק כפי שהוא."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "הטבות"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "ההטבות מושהות"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "תגובות"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "הפעל מחדש"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "ממש לעצמך"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "מימוש קוד מתנה"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "סף חידוש (ימים)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "חלון חידוש (ימים)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "מתחדש ב-<0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "שחזור חלון"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "הירשם מחדש"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "מצב באירוח עצמי"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "עקיפת מצב אירוח עצמי"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "הצג את שיתוף המסך שלי"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "הצג אותי כמקליד/ה"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "הצג פקדי עוצמת קול למשתתפים לפי מכשיר בתפריטי קול"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "הצג הגדרות אזור זמן בפרופיל (אפשרות למפתחים, מיועדת לצוות בלבד)"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "דלג על אזהרת הקישור החיצוני עבור כל הדומיינים"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "דלג על קריאת הרשת בעת שליחת דיווח מתוך האפליקציה. התהליך עדיין יתקדם למסך ההצלחה כדי שתוכלו לבדוק את ממשק המשתמש, אך שום דבר לא יישלח בפועל לצוות הבטיחות."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "סלובניה"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "העלאת קבצים איטית"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "האט קצת — המתן רגע לפני שתנסה שוב."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "עריכת הודעה איטית"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "טעינת הודעות איטית"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "שליחת הודעות איטית"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "טעינת פרופיל איטית"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "משהו השתבש בטעינת החברים. יש לנסות שוב מאוחר יותר."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "משהו השתבש בעת ביטול שינוי החיוב הממתין שלך. יש לנסות שוב בעוד רגע."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "משהו השתבש בעת ביטול המינוי שלך. אנא נסה שוב בעוד רגע."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "משהו השתבש בעת שינוי מחזור החיוב שלך. אנא נסה שוב בעוד רגע."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "אירעה שגיאה בעת שינוי המחיר. אנא נסה שוב בעוד רגע."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "משהו השתבש במהלך חיבור החשבון שלך. באפשרותך לסגור את הכרטיסייה הזו ולנסות שוב."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "משהו השתבש במהלך סיום תקופת החסד שלך. יש לנסות שוב בעוד רגע."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "משהו השתבש בזמן טעינת יומן הפעילות."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "משהו השתבש במהלך הכנת המדבקה. נסה קובץ אחר או נסה שוב בעוד רגע."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "משהו השתבש במהלך הפעלת המינוי מחדש. יש לנסות שוב בעוד רגע."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "התחל מחדש"
|
||||
msgid "Start recording"
|
||||
msgstr "התחל להקליט"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "התחל חיפושים עם <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> כדי לצמצם את התוצאות."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "הפסקת הודעות ובקשות חברות."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "מנע מ\"נֶקוֹ\" לרדוף אחרי הסמן שלך, תוך שמירה על יכולת הגרירה והאינטראקטיביות שלו."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "הפסק לתקן את Node.prototype insertBefore ו-removeChild. האפליקציה תקרוס שוב כאשר מתרגם דפים ימקם מחדש צמתי טקסט ש-React עדיין מחזיק."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "החלפה בין הפרופיל הגלובלי שלך לפרופילי
|
||||
msgid "Switch device"
|
||||
msgstr "החלף מכשיר"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "החלף מחיר"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "עבור אל {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "החלף לקלט ישיר"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "עבור לחודשי"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "לעבור לחיוב חודשי?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "החלפה לקהילה או לצ'אטים פרטיים קודמים"
|
||||
msgid "Switch to single column"
|
||||
msgstr "החלף לתצוגה בטור יחיד"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "לעבור למחיר החדש?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "החלף לחשבון זה"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "הצג בשתי עמודות"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "עבור למנוי שנתי"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "לעבור לחיוב שנתי?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "תגיות ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "תגיות חייבות להיות באורך 2 עד {maxLength} תווים, ולהכיל אותיות ומספרים בלבד."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "ייכנס לתוקף במועד החידוש הבא שלך. נחיל זיכוי של {creditLabel} מהתשלום החודשי הנוכחי שלך, כך שהחיוב השנתי הראשון שלך יהיה <0>{firstRenewalPriceLabel}</0>. חידושים שנתיים עתידיים יהיו {renewalPrice} לשנה."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "ייכנס לתוקף בחידוש הבא שלך. המינוי שלך יישאר חודשי עד אז, והחידוש הבא שלך יהיה <0>{renewalPrice} לשנה</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "ייכנס לתוקף בחידוש הבא שלך. המינוי שלך יישאר שנתי עד אז, והחידוש הבא שלך יהיה <0>{renewalPrice} לחודש</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "ייכנס לתוקף באופן מיידי. ייתכן שיחול התאמה יחסית דרך {PAYMENT_PROVIDER_NAME}. החידוש הבא שלך יהיה <0>{renewalPrice} לחודש</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "ייכנס לתוקף באופן מיידי. ייתכן שיחול חיוב יחסי דרך {PAYMENT_PROVIDER_NAME}. החידוש הבא שלך יהיה <0>{renewalPrice} לשנה</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "השם שוחזר למה שהיה קודם. יש לנסות שוב בע
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "הערוץ החדש יעשה שימוש חוזר בהרשאות מ-<0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "המחיר החדש כבר מתוזמן עבור {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "ערוץ הקולי החדש יעשה שימוש חוזר בהרשאות, במגבלת המשתמשים ובקצב הסיביות מתוך <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "סטטוס הקלדה"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "רכיבי ממשק משתמש"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "נראות"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visionary"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "איננו שולחים הודעות אימות למדינה זו. נס
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "מצאנו מינוי קיים ל-{premiumProductFullName} עבור חשבון זה. נהל אותו בפורטל החיובים המאובטח כדי לעדכן פרטי תשלום או לבדוק סטטוס חידוש. אם שילמת זה עתה, המתן דקה ופתח מחדש דף זה."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "הורדנו את המחיר של {premiumProductName} בברזיל. כעת הוא עולה {monthlyPrice} לחודש או {yearlyPrice} לשנה."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "שנתי {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "מתנה שנתית"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "שדרוג שנתי מתוזמן ל-<0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "שדרוג שנתי מתוכנן ל-<0>{pendingChangeDate}</0>. חיוב שנתי ראשון: {pendingInitialPriceLabel} לאחר זיכוי של {pendingCreditPriceLabel}. חידושים שנתיים עתידיים: {pendingRecurringPriceLabel} לשנה."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "שדרוג שנתי מתוכנן ל-<0>{pendingChangeDate}</0>. חיוב שנתי ראשון: {pendingInitialPriceLabel}. חידושים שנתיים עתידיים: {pendingRecurringPriceLabel} לשנה."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "אתה בערוץ הקולי"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "אתה משתמש בתעריף מדור קודם שאינו זמין עוד למנויים חדשים."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "אתה משתמש בתעריף מדור קודם. המחיר הנוכחי של תוכנית זו הוא {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "ה-GPU שלך מקודד זאת בחומרה."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "תקופת החסד שלך הסתיימה."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "התשלום בוצע בהצלחה. עכשיו אפשר לסגור את הכרטיסייה הזו ולחזור לאפליקציה."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "שינוי החיוב הממתין שלך בוטל."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "לא ניתן היה לפרסם את שיתוף המסך שלך עם ק
|
||||
msgid "Your stream is still live"
|
||||
msgstr "השידור שלך עדיין פעיל"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "המנוי שלך לא יכול לעבור למחיר החדש כרגע."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "המינוי שלך הסתיים, אבל <0/> יישאר פעיל עד <1>{graceDate}</1>. הירשם מחדש לפני כן כדי לשמור את היסטוריית המינויים שלך."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "המינוי שלך לא חודש, אך עדיין יש לך גישה להטבות {premiumProductName} עד {formattedGraceDate}. פעל עכשיו או שתאבד את כל ההטבות."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "המנוי שלך הופעל מחדש."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "המינוי שלך יבוטל בסוף תקופת החיוב."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "המינוי שלך הועבר לחיוב חודשי."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "המינוי שלך הועבר לחיוב שנתי."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "המנוי שלך פעיל, אך ההטבות מושהות באופן זמני."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "המנוי שלך כבר מוגדר לביטול בסוף תקופת ה
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "המינוי שלך לא מוגדר לביטול, כך שאין מה להפעיל מחדש."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "המנוי שלך יעבור למחיר החדש ב- {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "המנוי שלך עדיין יסתיים בתאריך <0>{cancelDate}</0>. המחיר הנוכחי הוא כעת {listPriceNewLabel}. אם תפעיל מחדש, תוכל לעבור אליו מכאן."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "המינוי שלך יעבור לחיוב חודשי במועד החידוש הבא."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "המינוי שלך יעבור לחיוב שנתי במועד החידוש הבא."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# बुकमार्क} other {# बुकम
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# समुदाय मिला} other {# समुदाय मिले}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# समुदाय फ्लक्स कैपेसिटर में खराबी के कारण अस्थायी रूप से अनुपलब्ध है।} other {# समुदाय फ्लक्स कैपेसिटर में खराबी के कारण अस्थायी रूप से अनुपलब्ध हैं।}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "{premiumProductFullName} के सदस्य हैं {premiumSinceF
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "{premiumProductName} बैज की गोपनीयता"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} अब कम कीमत पर उपलब्ध है। {effectiveDate} से हर महीने {currentPrice} के बजाय {newPrice} का भुगतान करें, और आज कोई शुल्क नहीं लिया जाएगा।"
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} अब कम कीमत पर उपलब्ध है। {effectiveDate} से शुरू होकर, {currentPrice} प्रति वर्ष से {newPrice} प्रति वर्ष पर स्विच करें, और आज कोई शुल्क नहीं लिया जाएगा।"
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "एक होस्टनेम, जैसे {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "लिनक्स डेस्कटॉप के लिए एक अपडेट उपलब्ध है। इस सिस्टम के लिए पैकेज प्रारूप चुनें और {productName} इसे स्थानीय रूप से सहेज लेगा।"
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "एक कम कीमत उपलब्ध है। स्विच करने की तारीख <0>{listPriceEffectiveDate}</0> है और इससे कुछ और नहीं बदलेगा।"
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "कार्यवाहियां"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "अलाइनमेंट कंट्रोल केवल चौड
|
||||
msgid "All"
|
||||
msgstr "सभी"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "सभी <0/> <1>{effectiveMonthlyPrice}/माह</1> में।"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "सभी <0/> <1>{effectiveYearlyPrice}/साल</1> के लिए।"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "आपकी सदस्यता के साथ सभी <0/> शामिल हैं।"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "सभी <0/>, हमेशा के लिए। कोई बिलिंग नहीं, कोई नवीनीकरण नहीं।"
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "ऐप सेटिंग्स"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "ऐप की स्थिति"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "अभी दूर हैं"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "{productName} का उपयोग करके, आप अपडे
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "लोडिंग स्केलेटन को बायपास करें"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "अगर आप कोई दूसरा यूज़रनेम च
|
||||
msgid "Cancel import"
|
||||
msgstr "आयात रद्द करें"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "कीमत बदलना रद्द करें"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "अनुरोध रद्द करें"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "निर्धारित स्विच रद्द करें"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "सदस्यता रद्द करें"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "सदस्यता रद्द करें?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "निर्धारित बदलाव को रद्द करें और इसके बजाय वर्तमान मूल्य पर जाएँ।"
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "अपलोड रद्द करें"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "सालाना अपग्रेड रद्द करें"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "क्या आप {displayName} को भेजी गई अपनी फ्रेंड रिक्वेस्ट रद्द करना चाहते हैं?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "रद्द किया जा रहा है"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "रद्द किया जा रहा है"
|
||||
msgid "Cancellation"
|
||||
msgstr "रद्द करें"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "<0>{cancelDate}</0> को रद्द हो जाएगा। <1/> तब तक सक्रिय रहेगा।"
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "पासवर्ड बदलें फ़ॉर्म"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "बदलाव शेड्यूल किया गया है"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "मित्रता अनुरोध रद्द नहीं कर पाए। फिर से कोशिश करें।"
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "आपकी लंबित बिलिंग में बदलाव रद्द नहीं किया जा सका"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "आपकी सदस्यता रद्द नहीं हो पाई"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "आपकी बिलिंग साइकल नहीं बदली जा सकी"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "आपकी कीमत नहीं बदली जा सकी"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "इस चैनल की नकल नहीं की जा सकी"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "आपकी ग्रेस अवधि समाप्त नहीं हो सकी"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "खोज परिणाम नहीं खुल सका"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "इमेज प्रोसेस नहीं की जा सकी"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "आपकी सदस्यता फिर से सक्रिय नहीं की जा सकी"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "भूमिका बनाएँ"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "व्यवस्थापक खाता बनाएँ"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "बाकी बचे {addableCount} सदस्य के साथ ग्रुप DM बनाएँ और दूसरों को छोड़ दें?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "पसंद के मुताबिक…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "ग्राहक पोर्टल"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "शॉर्टकट बंद करें"
|
||||
msgid "Disable sounds"
|
||||
msgstr "ध्वनि बंद करें"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "ट्रांसलेशन DOM गार्ड अक्षम करें"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "अंतिम तिथि"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "ग्रेस अवधि अभी खत्म करें"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "इसके बाद समाप्त होगा"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "{date} को समाप्त हो गया"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "{earliest} को समाप्त हो गया"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "<0>{expiredDate}</0> को समाप्त हो गया। <1/> अब सक्रिय नहीं हैं। आप किसी भी समय फिर से सदस्यता ले सकते हैं।"
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "थीम एक्सपोर्ट करें"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "प्रोफ़ाइल सेटिंग्स में केवल कर्मचारियों के लिए समय क्षेत्र अनुभाग दिखाएँ।"
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "सुविधा अस्थायी रूप से बंद ह
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "सुविधाएँ"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "ज़बरदस्ती चालू किया गया"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "मैसेज लोड होने में ज़बरदस्ती गड़बड़ी करें"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "मैसेज भेजने में विफलता को फ़ोर्स करें"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "GIF पिकर लोडिंग को फ़ोर्स करें"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "ज़बरदस्ती छिपाएं"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "फोर्स लोडिंग स्केलेटन"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "{permissionName} अनुमति नहीं है लागू करें"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "प्रोफ़ाइल डेटा चेतावनी को ज़बरदस्ती दिखाएँ"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "प्रोफ़ाइल स्केलेटन को फ़ोर्स करें"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "ज़बरदस्ती दिखाएँ"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "वैनिटी यूआरएल अस्वीकरण दिखाने के लिए बाध्य करें"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "वॉइस कनेक्शन को हमेशा दिखाएँ"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "स्लोमोड सक्रिय करें"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "मैसेज के प्रकार को अज्ञात करने के लिए फ़ोर्स करें"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "अपडेट तैयार करने के लिए बाध्य करें"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "GIF लोड नहीं हो पाए"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "उपहार: जल्द समाप्त होगा"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "उपहार: ग्रेस पीरियड (अभी भी ऐक्सेस है)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "उपहार में मिला <0/> जब तक <1>{giftEndDate}</1>। अपने आप रिन्यू नहीं होगा। अवधि बढ़ाने के लिए और उपहार कोड रिडीम करें।"
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "ठीक है"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "ग्रेस पीरियड"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "बायां टूलटिप"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "लेगेसी इमोजी स्लॉट"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "पुरानी दर"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "लाइब्रेरी: {max} में से {count}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "लाइफ़टाइम"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "मासिक"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "मासिक {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "<0>{pendingChangeDate}</0> से मासिक बिलिंग शुरू होगी।"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "<0>{pendingChangeDate}</0> से मासिक बिलिंग शुरू होगी। पहला मासिक शुल्क: {pendingInitialPriceLabel}। भविष्य के मासिक नवीनीकरण: {pendingRecurringPriceLabel}/माह।"
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "नेटवर्क त्रुटि"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "नेटवर्किंग और परफ़ॉर्मेंस"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "नया माइक्रोफ़ोन"
|
||||
msgid "New password"
|
||||
msgstr "नया पासवर्ड"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "नई कीमत <0>{pendingChangeDate}</0> के लिए निर्धारित है।"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "नई कीमत <0>{pendingChangeDate}</0> के लिए निर्धारित है। उसके बाद से नवीनीकरण {pendingTargetPriceLabel} होंगे।"
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "कोई वजह नहीं बताई गई।"
|
||||
msgid "No recent mentions"
|
||||
msgstr "कोई हालिया ज़िक्र नहीं"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "ग्रुप DM बनाने के लिए कोई और प्राप्तकर्ता नहीं बचा है।"
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "कोई वेबहुक नहीं"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "इन-ऐप रिपोर्ट को नो-ऑप करें"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "आपके लिए नहीं है? इसे कभी भी
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "चालू"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "<0>{listPriceEffectiveDate}</0> को आपका सब्सक्रिप्शन {listPriceCurrentLabel} से {listPriceNewLabel} में बदल जाएगा। आज कोई शुल्क नहीं लिया जाएगा, और आपके सब्सक्रिप्शन का बाकी सब कुछ वैसा ही रहेगा जैसा है।"
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "फ़ायदे"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "सुविधाएं रोकी गई हैं"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "प्रतिक्रियाएँ"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "फिर से सक्रिय करें"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "अपने लिए रिडीम करें"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "गिफ्ट कोड रिडीम करें"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "नवीनीकरण सीमा (दिन)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "नवीनीकरण विंडो (दिन)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "<0>{renewalDate}</0> को रिन्यू होगा"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "विंडो पुनर्स्थापित करें"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "फिर से सदस्यता लें"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "सेल्फ़-होस्टेड मोड"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "सेल्फ़-होस्टेड मोड ओवरराइड"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "मेरी स्क्रीन शेयर दिखाएं"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "खुद को टाइप करते हुए दिखाएं"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "वॉयस मेन्यू में प्रति-डिवाइस पार्टिसिपेंट वॉल्यूम स्लाइडर दिखाएं"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "प्रोफ़ाइल सेटिंग्स में केवल-कर्मचारी प्रोफ़ाइल टाइमज़ोन अनुभाग को प्रदर्शित करें"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "सभी डोमेन के लिए बाहरी लिंक चेतावनी को छोड़ें"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "जब कोई इन-ऐप रिपोर्ट सबमिट की जाती है, तो नेटवर्क कॉल को छोड़ दें। फ़्लो अभी भी सफलता स्क्रीन पर आगे बढ़ता है ताकि आप UI का अभ्यास कर सकें, लेकिन सुरक्षा टीम को वास्तव में कुछ भी नहीं भेजा जाता है।"
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "स्लोवेनिया"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "अटैचमेंट अपलोड धीमा करें"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "धीमे चलें — दोबारा कोशिश कर
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "मैसेज एडिट धीमा करें"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "मैसेज धीरे लोड करें"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "मैसेज धीरे भेजें"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "प्रोफ़ाइल धीमी गति से लोड करें"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "सदस्यों को लोड करने में कुछ गड़बड़ हो गई। बाद में फिर से कोशिश करें।"
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "आपकी लंबित बिलिंग में बदलाव रद्द करते समय कुछ गड़बड़ हो गई। कृपया कुछ देर बाद फिर से कोशिश करें।"
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "आपकी सदस्यता रद्द करते समय कुछ गड़बड़ हो गई। कृपया कुछ देर में फिर से कोशिश करें।"
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "आपके बिलिंग साइकल को बदलते समय कुछ गड़बड़ हो गई। कृपया कुछ देर बाद फिर से कोशिश करें।"
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "कीमत बदलने में कुछ गलत हो गया। कृपया कुछ देर में फिर से प्रयास करें।"
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "आपके खाते को कनेक्ट करते समय कुछ गड़बड़ हो गई। आप इस टैब को बंद करके फिर से कोशिश कर सकते हैं।"
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "आपकी ग्रेस अवधि समाप्त करते समय कुछ गड़बड़ हो गई। कृपया कुछ देर बाद फिर से कोशिश करें।"
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "गतिविधि लॉग लोड करते समय कु
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "इस स्टिकर को तैयार करते समय कुछ गड़बड़ हो गई। कोई दूसरी फ़ाइल आज़माएँ या कुछ देर में फिर से कोशिश करें।"
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "आपकी सदस्यता को फिर से सक्रिय करते समय कुछ गड़बड़ हो गई। कृपया कुछ देर बाद फिर से कोशिश करें।"
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "फिर से शुरू करें"
|
||||
msgid "Start recording"
|
||||
msgstr "रिकॉर्डिंग शुरू करें"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "खोजों को <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> से शुरू करें ताकि परिणामों को सीमित किया जा सके।"
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "मैसेज और फ्रेंड रिक्वेस्ट
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "अपने कर्सर का पीछा करने से नेको को रोकें, जबकि उसे ड्रैग करने योग्य और इंटरैक्टिव बनाए रखें।"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Node.prototype insertBefore और removeChild को पैच करना बंद करें। जब कोई पेज ट्रांसलेटर उन टेक्स्ट नोड्स को फिर से पैरेंट करेगा जिन्हें React अभी भी होल्ड करता है, तो ऐप फिर से क्रैश हो जाएगा।"
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "अपनी ग्लोबल प्रोफ़ाइल और क
|
||||
msgid "Switch device"
|
||||
msgstr "डिवाइस बदलें"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "कीमत बदलें"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "{listPriceNewLabel} पर स्विच करें"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "सीधा इनपुट पर स्विच करें"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "मासिक पर स्विच करें"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "मासिक बिलिंग पर स्विच करें?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "पिछली कम्युनिटी या DM पर स्व
|
||||
msgid "Switch to single column"
|
||||
msgstr "एक कॉलम पर स्विच करें"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "नई कीमत पर स्विच करें?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "इस खाते पर स्विच करें"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "दो कॉलम पर स्विच करें"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "सालाना प्लान पर स्विच करें"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "सालाना बिलिंग पर स्विच करें?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "टैग ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "टैग 2 से {maxLength} वर्णों के होने चाहिए और उनमें अक्षर और संख्याएँ होनी चाहिए।"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "यह आपके अगले रिन्यूअल पर लागू होगा। हम आपके मौजूदा मासिक भुगतान से {creditLabel} क्रेडिट लागू करेंगे, इसलिए आपका पहला वार्षिक शुल्क <0>{firstRenewalPriceLabel}</0> होगा। भविष्य के वार्षिक रिन्यूअल {renewalPrice}/वर्ष होंगे।"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "यह आपके अगले रिन्यूअल पर लागू होगा। तब तक आपकी सदस्यता मासिक रहेगी और आपका अगला रिन्यूअल <0>{renewalPrice}/साल</0> होगा।"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "यह आपके अगले नवीनीकरण पर प्रभावी होगा। तब तक आपकी सदस्यता वार्षिक रहेगी, और आपका अगला नवीनीकरण <0>{renewalPrice}/माह</0> होगा।"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "यह तुरंत प्रभावी होगा। {PAYMENT_PROVIDER_NAME} के ज़रिए आनुपातिक समायोजन लागू हो सकता है। आपका अगला रिन्यूअल <0>{renewalPrice}/माह</0> होगा।"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "यह तुरंत प्रभावी होगा। {PAYMENT_PROVIDER_NAME} के माध्यम से आनुपातिक शुल्क लागू हो सकता है। आपका अगला नवीनीकरण <0>{renewalPrice}/वर्ष</0> होगा।"
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "नाम पहले जैसा हो गया है। कृप
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "नया चैनल <0>{channelLabel}</0> से अनुमतियों का फिर से इस्तेमाल करेगा।"
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "नई कीमत {effectiveDate} के लिए पहले से ही निर्धारित है।"
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "नया वॉइस चैनल <0>{channelLabel}</0> से अनुमतियां, उपयोगकर्ता सीमा और बिटरेट का फिर से उपयोग करेगा।"
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "टाइपिंग स्थिति"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "यूआई कॉम्पोनेंट"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "दिखना"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "विजनरी"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "हम इस देश में सत्यापन टेक्स
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "हमें इस खाते के लिए एक मौजूदा {premiumProductFullName} सदस्यता मिली है। भुगतान विवरण अपडेट करने या नवीनीकरण स्थिति जांचने के लिए इसे सुरक्षित बिलिंग पोर्टल में प्रबंधित करें। यदि आपने अभी भुगतान किया है, तो एक मिनट प्रतीक्षा करें और इस पृष्ठ को फिर से खोलें।"
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "हमने ब्राज़ील में {premiumProductName} की कीमत कम कर दी है। अब यह प्रति माह {monthlyPrice} या प्रति वर्ष {yearlyPrice} है।"
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "सालाना {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "सालाना उपहार"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "<0>{pendingChangeDate}</0> के लिए सालाना अपग्रेड शेड्यूल किया गया है।"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "<0>{pendingChangeDate}</0> के लिए वार्षिक अपग्रेड शेड्यूल किया गया है। पहला वार्षिक शुल्क: {pendingCreditPriceLabel} क्रेडिट के बाद {pendingInitialPriceLabel}। भविष्य के वार्षिक नवीनीकरण: {pendingRecurringPriceLabel}/वर्ष।"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "<0>{pendingChangeDate}</0> के लिए वार्षिक अपग्रेड शेड्यूल किया गया है। पहला वार्षिक शुल्क: {pendingInitialPriceLabel}। भविष्य के वार्षिक नवीनीकरण: {pendingRecurringPriceLabel}/वर्ष।"
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "आप वॉइस चैनल में हैं"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "आप एक ऐसी पुरानी दर पर हैं जो अब नए ग्राहकों के लिए उपलब्ध नहीं है।"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "आप पुरानी दर पर हैं। इस प्लान की मौजूदा कीमत {currentSubscriptionListPriceLabel} है।"
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "आपका GPU इसे हार्डवेयर में एन्कोड करता है।"
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "आपकी ग्रेस अवधि खत्म हो गई है।"
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "आपका भुगतान सफल रहा। अब आप इस टैब को बंद करके ऐप पर वापस जा सकते हैं।"
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "आपका लंबित बिलिंग बदलाव रद्द कर दिया गया है।"
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "आपका स्क्रीन शेयर एक संगत व
|
||||
msgid "Your stream is still live"
|
||||
msgstr "आपकी स्ट्रीम अभी भी लाइव है"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "आपकी सदस्यता अभी नए मूल्य पर नहीं जा सकती है।"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "आपकी सदस्यता समाप्त हो गई है, लेकिन <0/> <1>{graceDate}</1> तक सक्रिय रहेगी। अपनी सब्सक्राइबर हिस्ट्री बनाए रखने के लिए इससे पहले फिर से सदस्यता लें।"
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "आपकी सदस्यता का नवीनीकरण नहीं हो पाया, लेकिन {formattedGraceDate} तक आपको अभी भी {premiumProductName} के फ़ायदे मिलेंगे। अभी कार्रवाई करें, नहीं तो आप सभी फ़ायदे खो देंगे।"
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "आपकी सदस्यता फिर से सक्रिय कर दी गई है।"
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "आपकी सदस्यता बिलिंग अवधि के अंत में रद्द होने के लिए सेट कर दी गई है।"
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "आपकी सदस्यता मासिक बिलिंग पर स्विच कर दी गई है।"
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "आपकी सदस्यता सालाना बिलिंग पर स्विच कर दी गई है।"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "आपकी सदस्यता सक्रिय है, लेकिन सुविधाएं अस्थायी रूप से रोकी गई हैं।"
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "आपकी सदस्यता पहले से ही आपक
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "आपकी सदस्यता रद्द होने के लिए सेट नहीं है, इसलिए फिर से सक्रिय करने के लिए कुछ भी नहीं है।"
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "आपकी सदस्यता {effectiveDate} को नए मूल्य पर चली जाएगी।"
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "आपकी सदस्यता अभी भी <0>{cancelDate}</0> को समाप्त हो रही है। वर्तमान मूल्य अब {listPriceNewLabel} है। यदि आप पुनः सक्रिय करते हैं, तो आप इसे यहां से बदल सकते हैं।"
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "आपकी सदस्यता अगले नवीनीकरण पर मासिक बिलिंग में बदल जाएगी।"
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "आपकी सदस्यता अगली रिन्यूअल पर सालाना बिलिंग में बदल जाएगी।"
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# oznaka} other {# oznake}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# zajednica pronađena} few {# zajednice pronađene} other {# zajednica pronađeno}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# zajednica privremeno nije dostupna zbog kvara na protočnom kondenzatoru.} other {# zajednice privremeno nisu dostupne zbog kvara na protočnom kondenzatoru.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "Pretplatnik na {premiumProductFullName} od {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "Privatnost značke {premiumProductName}"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} sada košta manje. Prebacite se s {currentPrice} na {newPrice} mjesečno od {effectiveDate}, a danas se ništa ne naplaćuje."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} sada košta manje. Prebacite se s {currentPrice} na {newPrice} godišnje počevši od {effectiveDate}, a danas se ništa ne naplaćuje."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "naziv hosta, npr. {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Dostupna je ažuriranje za Linux na računalu. Odaberite format paketa za ovaj sustav i {productName} će ga spremiti lokalno."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "Dostupna je niža cijena. Prebacivanje stupa na snagu <0>{listPriceEffectiveDate}</0> i ništa se drugo ne mijenja."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Radnje"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Kontrole poravnanja dostupne su samo na širim zaslonima"
|
||||
msgid "All"
|
||||
msgstr "Sve"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Sve <0/> za <1>{effectiveMonthlyPrice}/mjesečno</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Sve <0/> za <1>{effectiveYearlyPrice}/godina</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Sve <0/> uključeno je u vašu pretplatu."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Sve <0/>, zauvijek. Bez naplate, bez obnova."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Postavke aplikacije"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "Stanje aplikacije"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Trenutno odsutan"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "Korištenjem aplikacije {productName} prihvaćate ažurirana pravila."
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Zaobiđi učitavanje kostura"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Poništite ako želite odabrati drugo korisničko ime."
|
||||
msgid "Cancel import"
|
||||
msgstr "Odustani od uvoza"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Otkaži promjenu cijene"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Poništi zahtjev"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Poništi zakazanu promjenu"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Otkaži pretplatu"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Otkaži pretplatu?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Otkaži zakazanu promjenu kako bi se umjesto toga prešao na trenutnu cijenu."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Odustani od prijenosa"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Poništi godišnju nadogradnju"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Želite li otkazati zahtjev za prijateljstvo korisniku {displayName}?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Otkazivanje"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Otkazivanje"
|
||||
msgid "Cancellation"
|
||||
msgstr "Otkazivanje"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Otkazuje se <0>{cancelDate}</0>. <1/> ostaju aktivne do tada."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Obrazac za promjenu lozinke"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Promjena zakazana"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Nije moguće otkazati zahtjev za prijateljstvo. Pokušajte ponovno."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Nije moguće otkazati promjenu naplate na čekanju"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Nismo mogli otkazati vašu pretplatu"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Nije bilo moguće promijeniti vaš ciklus naplate"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Nismo mogli promijeniti cijenu"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Nije moguće duplicirati ovaj kanal"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Nije moguće završiti vaše razdoblje počeka"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Nije moguće otvoriti rezultat pretraživanja"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Nije moguće obraditi sliku"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Nismo uspjeli ponovno aktivirati vašu pretplatu"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Stvori ulogu"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Stvori administratorski račun"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Želite li stvoriti grupnu izravnu poruku s preostalih {addableCount} primatelja, a ostale preskočiti?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Prilagođeno…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Korisnički portal"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Onemogući prečac"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Isključi zvukove"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Onemogući zaštitu DOM-a za prijevod"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Datum završetka"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Završi poček sada"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Istječe nakon"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Isteklo {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Isteklo {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Isteklo <0>{expiredDate}</0>. <1/> više nisu aktivni. Možete se ponovno pretplatiti bilo kada."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Izvezi teme"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Prikaži odjeljak s vremenskom zonom rezerviran za osoblje u postavkama profila."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Značajka je privremeno onemogućena"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Značajke"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Prisilno omogućeno"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Prisilno učitavanje neuspjelih poruka"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Prisili neuspješno slanje poruka"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Prisilno učitavanje GIF birača"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Prisilno sakrij"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Prisilno učitavanje skela"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Prisilno bez dopuštenja {permissionName}"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Uvijek prikaži upozorenje o podacima profila"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Prisilno učitavanje okvira profila"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Prisilno prikaži"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Prisilno prikaži odricanje odgovornosti za prilagođeni URL"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Uvijek prikaži status glasovne veze"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Prisilno aktiviraj spori način rada"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Prisilno postavi nepoznatu vrstu poruke"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Prisilno ažuriranje spremno"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "GIF-ovi se nisu mogli učitati"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Poklon: ističe uskoro"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Poklon: poček (i dalje imate pristup)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Poklonjeno <0/> do <1>{giftEndDate}</1>. Ne obnavlja se automatski. Iskoristite više poklon kodova za produljenje."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Razumijem"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Poček"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Lijevi opis alata"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Naslijeđeni utori za emojije"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Stara cijena"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Knjižnica: {count} od {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Doživotno"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Mjesečno"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Mjesečno {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "Mjesečna naplata počinje <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "Mjesečna naplata počinje <0>{pendingChangeDate}</0>. Prva mjesečna naknada: {pendingInitialPriceLabel}. Buduće mjesečne obnove: {pendingRecurringPriceLabel}/mjesec."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Mrežna pogreška"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Mreža i performanse"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Novi mikrofon"
|
||||
msgid "New password"
|
||||
msgstr "Nova lozinka"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Nova cijena zakazana za <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Nova cijena zakazana za <0>{pendingChangeDate}</0>. Obnove će od tada iznositi {pendingTargetPriceLabel}."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Razlog nije naveden."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Nema nedavnih spominjanja"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Nema preostalih primatelja za stvaranje grupne izravne poruke."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Nema web-dojavnika"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Izvješća u aplikaciji bez operacije"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Nije za vas? Isključite bilo kada."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "Uključeno"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "Dana <0>{listPriceEffectiveDate}</0> vaša pretplata prelazi s {listPriceCurrentLabel} na {listPriceNewLabel}. Danas se ništa ne naplaćuje, a ostatak vaše pretplate ostaje nepromijenjen."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Pogodnosti"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Pogodnosti pauzirane"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Reakcije"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Ponovno aktiviraj"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Iskoristi za sebe"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Iskoristi poklon-bon"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Prag obnove (dani)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Prozor obnove (dani)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Obnavlja se <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Vrati prozor"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Ponovno se pretplatite"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Samostalni način rada"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Nadjačavanje načina samostalnog hostinga"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Prikaži moj prikaz zaslona"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Prikaži da tipkam"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Prikaži klizače glasnoće sudionika za svaki uređaj u izbornicima za glasnoću"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Prikaži postavke vremenske zone profila"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Preskoči upozorenje za vanjske poveznice za sve domene"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Preskoči mrežni poziv kada se pošalje izvješće unutar aplikacije. Tok i dalje napreduje do zaslona uspjeha tako da možete vježbati korisničko sučelje, ali ništa se zapravo ne šalje sigurnosnom timu."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Slovenija"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Spora privitak datoteke"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Usporite — pričekajte trenutak prije nego što pokušate ponovno."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Usporena izmjena poruke"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Sporo učitavanje poruka"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Sporo slanje poruka"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Sporo učitavanje profila"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Došlo je do pogreške prilikom učitavanja članova. Pokušajte ponovno kasnije."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Nešto je pošlo po zlu prilikom otkazivanja vaše promjene naplate na čekanju. Pokušajte ponovno za nekoliko trenutaka."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Nešto je pošlo po zlu prilikom otkazivanja vaše pretplate. Pokušajte ponovno za koji trenutak."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Nešto je pošlo po zlu prilikom promjene vašeg ciklusa naplate. Pokušajte ponovo za nekoliko trenutaka."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Nešto je pošlo po zlu prilikom promjene cijene. Molimo pokušajte ponovno za trenutak."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Nešto je pošlo po zlu prilikom povezivanja vašeg računa. Možete zatvoriti ovu karticu i pokušati ponovno."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Nešto je pošlo po zlu prilikom završetka vašeg počeka. Pokušajte ponovno za nekoliko trenutaka."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Došlo je do pogreške pri učitavanju dnevnika aktivnosti."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Nešto je pošlo po zlu tijekom pripreme ove naljepnice. Pokušajte s drugom datotekom ili pokušajte ponovno za koji trenutak."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Nešto je pošlo po zlu prilikom ponovnog aktiviranja vaše pretplate. Pokušajte ponovno za koji trenutak."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Počni ispočetka"
|
||||
msgid "Start recording"
|
||||
msgstr "Započni snimanje"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Započnite pretraživanje s <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> kako biste suzili rezultate."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Zaustavi poruke i zahtjeve za prijateljstvo."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Zaustavite Neko da ne prati vaš pokazivač, a da pritom ostane povlačiv i interaktivan."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Zaustavi \"patchiranje\" metoda Node.prototype insertBefore i removeChild. Aplikacija će ponovno pasti kada prevoditelj stranice premjesti čvorove teksta koje React još uvijek drži."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Prebacujte se između globalnog profila i profila za pojedine zajednice"
|
||||
msgid "Switch device"
|
||||
msgstr "Promijeni uređaj"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Promijeni cijenu"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Prebaci na {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Prebaci na izravan unos"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Prebacite se na mjesečnu pretplatu"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Prebaciti na mjesečnu naplatu?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Prebaci na prethodnu zajednicu ili izravne poruke"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Prebaci na jedan stupac"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Prebaciti na novu cijenu?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Prebaci se na ovaj račun"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Prebaci na dva stupca"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Prijeđi na godišnju pretplatu"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Prebaciti se na godišnju naplatu?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Oznake ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Oznake moraju imati 2 do {maxLength} alfanumeričkih znakova."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Stupa na snagu pri sljedećoj obnovi. Primijenit ćemo {creditLabel} kredit od vaše trenutačne mjesečne uplate, tako da će vaša prva godišnja naplata biti <0>{firstRenewalPriceLabel}</0>. Buduće godišnje obnove bit će {renewalPrice}/godišnje."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Stupa na snagu pri sljedećoj obnovi. Vaša pretplata ostaje mjesečna do tada, a sljedeća obnova bit će <0>{renewalPrice}/godišnje</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Stupa na snagu pri sljedećoj obnovi. Vaša pretplata ostaje godišnja do tada, a sljedeća obnova iznosit će <0>{renewalPrice}/mjesečno</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Stupa na snagu odmah. Može se primijeniti razmjerno usklađivanje putem {PAYMENT_PROVIDER_NAME}. Vaša sljedeća obnova bit će <0>{renewalPrice}/mjesečno</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Stupa na snagu odmah. Može se primijeniti razmjerni trošak putem {PAYMENT_PROVIDER_NAME}. Vaša sljedeća obnova bit će <0>{renewalPrice}/godina</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "Naziv je vraćen na prethodno stanje. Pokušajte ponovno za trenutak."
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "Novi kanal će ponovno koristiti dopuštenja s kanala <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "Novi cjenik već je zakazan za {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "Novi glasovni kanal ponovno će koristiti dopuštenja, ograničenje broja korisnika i brzinu prijenosa iz <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Status tipkanja"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "Komponente korisničkog sučelja"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Vidljivost"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Vizionar"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "Ne šaljemo verifikacijske SMS-ove u ovu državu. Pokušajte s brojem iz
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Pronašli smo postojeću pretplatu {premiumProductFullName} za ovaj račun. Upravljajte njome u sigurnom portalu za naplatu kako biste ažurirali podatke o plaćanju ili provjerili status obnove. Ako ste upravo platili, pričekajte minutu i ponovno otvorite ovu stranicu."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Snizili smo cijenu za {premiumProductName} u Brazilu. Sada je {monthlyPrice} mjesečno ili {yearlyPrice} godišnje."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Godišnje {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Godišnji poklon"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Godišnja nadogradnja zakazana za <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Godišnja nadogradnja zakazana za <0>{pendingChangeDate}</0>. Prva godišnja naplata: {pendingInitialPriceLabel} nakon {pendingCreditPriceLabel} kredita. Buduće godišnje obnove: {pendingRecurringPriceLabel}/godina."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Godišnja nadogradnja zakazana za <0>{pendingChangeDate}</0>. Prva godišnja naplata: {pendingInitialPriceLabel}. Buduće godišnje obnove: {pendingRecurringPriceLabel}/godina."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "U glasovnom ste kanalu"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Koristite staru cijenu koja više nije dostupna novim pretplatnicima."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Koristite stariju cijenu. Trenutna cijena za ovaj plan je {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "Vaš GPU ovo hardverski kodira."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Vaš je poček istekao."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Plaćanje je uspješno. Sada možete zatvoriti ovu karticu i vratiti se u aplikaciju."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Vaša nadolazeća promjena naplate je otkazana."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "Vaš zaslonski udio nije se mogao objaviti s kompatibilnim video kodekom
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Vaš prijenos je i dalje aktivan"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Vaša pretplata se trenutno ne može premjestiti na novu cijenu."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Vaša je pretplata istekla, ali <0/> ostaje aktivna do <1>{graceDate}</1>. Ponovno se pretplatite prije tog datuma kako biste zadržali povijest pretplate."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Vaša se pretplata nije obnovila, ali i dalje imate pristup pogodnostima {premiumProductName} do {formattedGraceDate}. Poduzmite nešto sada ili ćete izgubiti sve pogodnosti."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Pretplata je ponovno aktivirana."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Vaša je pretplata postavljena za otkazivanje na kraju obračunskog razdoblja."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Pretplata vam je prebačena na mjesečnu naplatu."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Prebacili smo vašu pretplatu na godišnju naplatu."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Vaša je pretplata aktivna, ali su pogodnosti privremeno pauzirane."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Vaša je pretplata već postavljena za otkazivanje na kraju obračunskog
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Vaša pretplata nije postavljena za otkazivanje, tako da nema ništa za ponovno aktivirati."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Vaša pretplata prelazi na novu cijenu {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Vaša pretplata i dalje završava <0>{cancelDate}</0>. Trenutna cijena je sada {listPriceNewLabel}. Ako ponovno aktivirate, možete je promijeniti odavde."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Vaša će se pretplata prebaciti na mjesečnu naplatu pri sljedećoj obnovi."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Vaša pretplata prebacit će se na godišnju naplatu pri sljedećoj obnovi."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# könyvjelző} other {# könyvjelző}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# közösség található} other {# közösség található}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# közösség átmenetileg nem elérhető egy \"fluxuskondenzátor\" meghibásodása miatt.} other {# közösség átmenetileg nem elérhető egy \"fluxuskondenzátor\" meghibásodása miatt.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "{premiumProductFullName} előfizető {premiumSinceFormatted} óta"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "{premiumProductName} jelvény adatvédelme"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "A(z) {premiumProductName} most kevesebbe kerül. Válts havi {currentPrice} árról {newPrice} ára, {effectiveDate} naptól, és ma semmi sem kerül felszámolásra."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "A(z) {premiumProductName} most kevesebbe kerül. Válts a(z) {currentPrice} árról évi {newPrice} ára, ami {effectiveDate}-től lép életbe, és ma semmit sem számítunk fel."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "állomásnév, pl. {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Linux asztali verzió frissítése elérhető. Válassza ki a rendszerhez megfelelő csomagformátumot, és a {productName} helyileg menti azt."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "Egy alacsonyabb ár érhető el. A váltás <0>{listPriceEffectiveDate}</0> napon lép életbe, és semmi mást nem változtat meg."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Műveletek"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Az igazítási vezérlők csak szélesebb képernyőkön érhetők el"
|
||||
msgid "All"
|
||||
msgstr "Összes"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Összes <0/> <1>{effectiveMonthlyPrice}/hó</1> áron."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Összesen <0/> <1>{effectiveYearlyPrice}/év</1> áron."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Minden <0/> benne van az előfizetésedben."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Minden <0/>, örökké. Nincs számlázás, nincs megújítás."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Alkalmazásbeállítások"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "Alkalmazás állapota"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Jelenleg távol"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "A {productName} használatával elfogadja a frissített szabályzatokat.
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Betöltési vázlat mellőzése"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Mégse, ha inkább másik felhasználónevet szeretnél választani."
|
||||
msgid "Cancel import"
|
||||
msgstr "Importálás megszakítása"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Az árváltozás törlése"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Kérelem visszavonása"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Ütemezett váltás törlése"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Előfizetés lemondása"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Előfizetés lemondása?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Mondd le az ütemezett módosítást, hogy ehelyett az aktuális árra válts."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Feltöltés megszakítása"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Éves frissítés lemondása"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Visszavonod a(z) {displayName} részére küldött ismerősfelkérésedet?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Lemondás folyamatban"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Lemondás folyamatban"
|
||||
msgid "Cancellation"
|
||||
msgstr "Lemondás"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Lemondás ekkor: <0>{cancelDate}</0>. <1/> Addig aktív marad."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Jelszómódosítás űrlap"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Módosítás ütemezve"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Nem sikerült visszavonni a barátkérelmet. Próbáld újra."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Nem sikerült megszakítani a függőben lévő számlázási módosítást"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Nem sikerült lemondani az előfizetést"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Nem sikerült módosítani a számlázási ciklust"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Nem sikerült módosítani az árat"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Nem sikerült megdupl ون this channel"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Nem sikerült befejezni a türelmi időszakot"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Nem sikerült megnyitni a keresési eredményt"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Nem sikerült feldolgozni a képet"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Nem sikerült újraaktiválni az előfizetését"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Szerepkör létrehozása"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Hozd létre az adminisztrátori fiókot"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Létrehozod a csoportos DM-et a megmaradt {addableCount} résztvevővel, a többieket pedig kihagyod?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Egyéni…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Ügyfélportál"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Gyorsbillentyű letiltása"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Hangok kikapcsolása"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Fordítás DOM védő kikapcsolása"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Befejezés dátuma"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Türelmi időszak befejezése"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Lejárati idő"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Lejárt ekkor: {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Lejárt: {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Lejárat dátuma: <0>{expiredDate}</0>. <1/> már nem aktív. Bármikor újra előfizethetsz."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Témák exportálása"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Mutassa a profilbeállításokban a csak a munkatársak számára elérhető időzóna-szekciót."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Funkció átmenetileg letiltva"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Funkciók"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Kényszerített engedélyezés"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Üzenetbetöltések hibájának kényszerítése"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Üzenetküldések sikertelenségének kényszerítése"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "GIF-választó betöltésének kényszerítése"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Kényszerített elrejtés"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Kényszerített betöltési vázlat"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Nincs kényszerített {permissionName} engedély"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Profiladat-figyelmeztetés kényszerítése"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Profilvázak kényszerítése"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Kényszerített megjelenítés"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Vanity URL-figyelmeztetés kényszerített megjelenítése"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Hangkapcsolat kényszerített megjelenítése"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Kényszerített lassú mód aktív"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Ismeretlen üzenettípus kényszerítése"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Frissítés kényszerítése (kész)"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "A GIF-ek nem töltődtek be"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Ajándék: hamarosan lejár"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Ajándék: türelmi idő (hozzáférés továbbra is megmarad)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Ajándékba kapott <0/> eddig: <1>{giftEndDate}</1>. Nem újul meg automatikusan. További ajándékkódok beváltásával meghosszabbítható."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Értem"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Türelmi időszak"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Bal oldali eszköztipp"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Régi emojiférőhelyek"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Régi díjszabás"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Könyvtár: {count}/{max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Élethosszig tartó"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Havi"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Havi {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "A havi számlázás ekkor kezdődik: <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "A havi számlázás ekkor kezdődik: <0>{pendingChangeDate}</0>. Első havi díj: {pendingInitialPriceLabel}. Jövőbeli havi megújítások: {pendingRecurringPriceLabel}/hó."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Hálózati hiba"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Hálózat és teljesítmény"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Új mikrofon"
|
||||
msgid "New password"
|
||||
msgstr "Új jelszó"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Új ár ütemezve: <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Új ár ütemezve: <0>{pendingChangeDate}</0>. Megújulások innentől kezdve: {pendingTargetPriceLabel}."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Nincs megadva ok."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Nincsenek legutóbbi említések"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Nincs több címzett, akivel csoportos közvetlen üzenetet hozhatnál létre."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Nincsenek webhookok"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Jelentések kihagyása"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Nem neked való? Bármikor kikapcsolhatod."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "Be"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "<0>{listPriceEffectiveDate}</0> napján az előfizetésed a(z) {listPriceCurrentLabel} árról a(z) {listPriceNewLabel} árra módosul. Ma nem számítunk fel díjat, és az előfizetésed többi része változatlan marad."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Extrák"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Extrák szünetelnek"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Reakciók"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Újraaktiválás"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Beváltás magadnak"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Ajándékkód beváltása"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Megújítási küszöb (nap)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Megújítási ablak (nap)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Megújul ekkor: <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Ablak visszaállítása"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Újra előfizetek"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Saját üzemeltetésű mód"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Saját üzemeltetésű mód felülbírálása"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Saját képernyőmegosztásom megjelenítése"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Mutassam magam gépelés közben"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Mutasd az eszközspecifikus hangerőszabályzókat a hangmenükben"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Mutassa a profil időzóna beállításait (csak a rendszergazdák számára)"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Külső linkre figyelmeztetés kihagyása minden domainhez"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Kihagyja a hálózati hívást, amikor egy alkalmazáson belüli jelentés be van küldve. A folyamat továbbra is a sikeres képernyőre lép, így gyakorolhatja a felhasználói felületet, de valójában semmi sem kerül elküldésre a biztonsági csapatnak."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Szlovénia"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Lassú mellékletfeltöltés"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Lassíts – várj egy pillanatot, mielőtt újra megpróbálnád."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Lassú üzenetszerkesztés"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Lassú üzenetbetöltés"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Lassú üzenetküldés"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Lassú profilbetöltés"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Hiba történt a tagok betöltésekor. Próbáld újra később."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Hiba történt a függőben lévő számlázási módosítás lemondása során. Kérjük, próbálja meg újra később."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Valami hiba történt az előfizetés lemondása során. Kérjük, próbálja meg újra később."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Hiba történt a számlázási ciklus módosítása során. Kérjük, próbálja meg újra később."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Valami hiba történt az ár módosítása során. Kérjük, próbálkozzon újra egy pillanat múlva."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Hiba történt a fiókod csatlakoztatása során. Bezárhatod ezt a lapot, és újrapróbálhatod."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Valami hiba történt a türelmi időszak lejárata közben. Kérjük, próbálja meg újra később."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Hiba történt a tevékenységnapló betöltése közben."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Hiba történt a matrica előkészítése során. Próbálj meg egy másik fájlt, vagy próbáld újra később."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Hiba történt az előfizetés újraaktiválása során. Kérjük, próbálja meg újra később."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Újrakezdés"
|
||||
msgid "Start recording"
|
||||
msgstr "Felvétel indítása"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Kezdd a kereséseket az alábbiak szerint: <0>{peoplePrefix}</0>, <1>{textChannelPrefix}</1>, <2>{voiceChannelPrefix}</2>, <3>{communityPrefix}</3>, hogy szűkítsd az eredményeket."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Üzenetek és ismerősjelölések leállítása."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Állítsd le a Neko-t, hogy ne kövesse az egeret, miközben az továbbra is húzható és interaktív marad."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Állítsd le a Node.prototype insertBefore és removeChild metódusok patchelését. Az alkalmazás újra összeomlik, ha egy oldalfordító átcsoportosítja a React által még mindig birtokolt szöveges csomópontokat."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Váltás a globális profilod és a közösségenkénti profilok közöt
|
||||
msgid "Switch device"
|
||||
msgstr "Eszközváltás"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Átváltás árra"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Váltás erre: {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Váltás közvetlen bevitelre"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Váltás havi fizetésre"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Havi számlázásra vált?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Váltás az előző közösségre vagy DM-ekre"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Váltás egyoszlopos nézetre"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Átváltasz az új árra?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Váltás erre a fiókra"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Váltás két oszlopra"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Váltás éves fizetésre"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Átváltás éves számlázásra?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Címkék ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "A címkéknek 2–{maxLength} karakter hosszúságúaknak és alfanumerikusaknak kell lenniük."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "A következő megújításkor lép életbe. A jelenlegi havi befizetéséből {creditLabel} jóváírást alkalmazunk, így az első éves díj <0>{firstRenewalPriceLabel}</0> lesz. A jövőbeni éves megújítások díja {renewalPrice}/év lesz."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "A következő megújításkor lép életbe. Addig havi marad az előfizetésed, és a következő megújítás <0>{renewalPrice}/év</0> lesz."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "A következő megújításkor lép életbe. Addig az előfizetésed éves marad, a következő megújításkor pedig <0>{renewalPrice}/hó</0> lesz."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Azonnal életbe lép. Arányosított módosítás alkalmazható a {PAYMENT_PROVIDER_NAME} szolgáltatáson keresztül. A következő megújítás <0>{renewalPrice}/hó</0> lesz."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Azonnal életbe lép. Előfordulhat, hogy a(z) {PAYMENT_PROVIDER_NAME} arányos díjat számít fel. A következő megújítás <0>{renewalPrice}/év</0> lesz."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "A név visszaállt az eredetire. Kérjük, próbálja meg újra egy pill
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "Az új csatorna újra fel fogja használni a(z) <0>{channelLabel}</0> engedélyeit."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "Az új ár már ütemezve van erre: {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "Az új hangcsatorna újra fel fogja használni a(z) <0>{channelLabel}</0> engedélyeit, felhasználói korlátját és bitrátáját."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Gépelés állapota"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "Felhasználói felület összetevői"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Láthatóság"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visionary"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "Nem küldünk ellenőrző SMS-eket ebbe az országba. Próbálkozz egy m
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Találtunk egy meglévő {premiumProductFullName} előfizetést ehhez a fiókhoz. Kezelje a biztonságos számlázási portálon a fizetési adatok frissítéséhez vagy a megújítási állapot ellenőrzéséhez. Ha épp most fizetett, várjon egy percet, majd nyissa meg újra ezt az oldalt."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Brazíliában csökkentettük a(z) {premiumProductName} árát. Mostantól havi {monthlyPrice}, vagy évi {yearlyPrice}."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Éves {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Éves ajándék"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Éves frissítés ütemezve: <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Éves frissítés ütemezve: <0>{pendingChangeDate}</0>. Első éves díj: {pendingInitialPriceLabel} a {pendingCreditPriceLabel} jóváírás után. Jövőbeli éves megújítások: {pendingRecurringPriceLabel}/év."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Éves frissítés ütemezve: <0>{pendingChangeDate}</0>. Első éves díj: {pendingInitialPriceLabel}. Jövőbeli éves megújítások: {pendingRecurringPriceLabel}/év."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Hangcsatornában vagy"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Ön egy régi díjszabást használ, amely már nem elérhető az új előfizetők számára."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Ön egy korábbi díjszabású csomagot használ. A csomag jelenlegi ára: {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "A GPU hardveresen kódolja ezt."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "A türelmi időszak lejárt."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "A fizetés sikeres volt. Most már bezárhatja ezt a lapot, és visszatérhet az alkalmazásba."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "A függőben lévő számlázási módosításodat töröltük."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "A képernyőmegosztásod nem volt közzétehető kompatibilis videokodek
|
||||
msgid "Your stream is still live"
|
||||
msgstr "A stream továbbra is élő"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Az előfizetésed jelenleg nem váltható át az új árra."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Előfizetésed lejárt, de <0/> aktív marad <1>{graceDate}</1> dátumig. Fizess elő újra addig, hogy megőrizd előfizetői előzményeidet."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Az előfizetés megújítása sikertelen volt, de {premiumProductName} előnyeit továbbra is élvezheti {formattedGraceDate} dátumig. Cselekedjen most, különben elveszíti az összes előnyt."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Előfizetésed újraaktiválva."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Előfizetésed lemondásra került a számlázási időszak végén."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Előfizetésed havi számlázásra váltott."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Előfizetésedet éves számlázásra váltottuk."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Előfizetésed aktív, de az extrák ideiglenesen szünetelnek."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Előfizetésed már törlésre van ütemezve a számlázási időszak v
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Az előfizetésed nincs lemondásra állítva, így nincs mit újraaktiválni."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Az előfizetésed az új árra ekkor lép életbe: {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Előfizetésed még mindig a(z) <0>{cancelDate}</0> napon jár le. Az aktuális ár most {listPriceNewLabel}. Ha újra aktiválod, innen tudsz rá váltani."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Előfizetésed a következő megújításkor havi számlázásra vált."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Előfizetésed a következő megújításkor éves számlázásra vált."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# markah} other {# markah}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# komunitas ditemukan} other {# komunitas ditemukan}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# komunitas sementara tidak tersedia karena kerusakan kapasitor fluks.} other {# komunitas sementara tidak tersedia karena kerusakan kapasitor fluks.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "Pelanggan {premiumProductFullName} sejak {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "Privasi badge {premiumProductName}"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} kini lebih murah. Beralih dari {currentPrice} ke {newPrice} per bulan mulai {effectiveDate}, dan tidak ada yang ditagihkan hari ini."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} kini lebih murah. Beralih dari {currentPrice} ke {newPrice} per tahun mulai {effectiveDate}, dan tidak ada yang ditagihkan hari ini."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "nama host, cth. {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Pembaruan untuk Linux telah tersedia. Pilih format paket untuk sistem ini dan {productName} akan menyimpannya secara lokal."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "Harga yang lebih rendah tersedia. Peralihan berlaku mulai <0>{listPriceEffectiveDate}</0> dan tidak mengubah apa pun."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Tindakan"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Kontrol perataan hanya tersedia di layar yang lebih lebar"
|
||||
msgid "All"
|
||||
msgstr "Semua"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Semua <0/> seharga <1>{effectiveMonthlyPrice}/bulan</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Semua <0/> untuk <1>{effectiveYearlyPrice}/tahun</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Semua <0/> sudah termasuk dalam langganan Anda."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Semua <0/>, selamanya. Tanpa tagihan, tanpa perpanjangan."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Pengaturan aplikasi"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "Status aplikasi"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Sedang tidak di tempat"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "Dengan menggunakan {productName}, Anda menyetujui kebijakan yang diperba
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Lewati kerangka pemuatan"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Batalkan jika Anda ingin memilih nama pengguna lain."
|
||||
msgid "Cancel import"
|
||||
msgstr "Batalkan impor"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Batalkan perubahan harga"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Batalkan permintaan"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Batalkan perubahan terjadwal"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Batalkan langganan"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Batalkan langganan?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Batalkan perubahan terjadwal untuk beralih ke harga saat ini."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Batalkan unggahan"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Batalkan peningkatan tahunan"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Batalkan permintaan pertemanan Anda ke {displayName}?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Membatalkan"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Membatalkan"
|
||||
msgid "Cancellation"
|
||||
msgstr "Pembatalan"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Batalkan pada <0>{cancelDate}</0>. <1/> tetap aktif sampai saat itu."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Formulir ganti kata sandi"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Perubahan terjadwal"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Tidak dapat membatalkan permintaan pertemanan. Coba lagi."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Tidak dapat membatalkan perubahan tagihan tertunda Anda"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Tidak dapat membatalkan langganan Anda"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Tidak dapat mengubah siklus penagihan Anda"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Tidak dapat mengubah harga Anda"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Tidak dapat menduplikasi saluran ini"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Tidak dapat mengakhiri masa tenggang Anda"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Tidak dapat membuka hasil pencarian"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Tidak dapat memproses gambar"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Tidak dapat mengaktifkan kembali langganan Anda"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Buat peran"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Buat akun administrator"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Buat DM grup dengan {addableCount} penerima yang tersisa dan lewati yang lain?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Kustom…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Portal pelanggan"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Nonaktifkan pintasan"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Nonaktifkan suara"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Nonaktifkan pelindung DOM terjemahan"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Tanggal akhir"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Akhiri masa tenggang sekarang"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Kedaluwarsa setelah"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Kedaluwarsa pada {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Kedaluwarsa pada {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Kedaluwarsa pada <0>{expiredDate}</0>. <1/> tidak lagi aktif. Anda dapat berlangganan kembali kapan saja."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Ekspor tema"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Tampilkan bagian zona waktu khusus staf di pengaturan profil."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Fitur dinonaktifkan sementara"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Fitur"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Paksa diaktifkan"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Paksa pesan gagal dimuat"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Paksa pengiriman pesan gagal"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Paksa pemuatan pemilih GIF"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Paksa sembunyikan"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Paksa memuat kerangka"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Paksa tidak ada izin {permissionName}"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Paksa peringatan data profil"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Paksa kerangka profil"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Paksa tampilkan"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Paksa tampilkan penafian URL kustom"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Paksa tampilkan koneksi suara"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Paksa mode lambat aktif"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Paksa jenis pesan tidak dikenal"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Paksa pembaruan siap"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "GIF tidak dapat dimuat"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Hadiah: akan segera berakhir"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Hadiah: masa tenggang (masih memiliki akses)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Dihadiahkan <0/> hingga <1>{giftEndDate}</1>. Tidak diperpanjang secara otomatis. Tukarkan kode hadiah lainnya untuk memperpanjang."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Oke"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Masa tenggang"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Keterangan alat kiri"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Slot emoji lama"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Harga lama"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Pustaka: {count} dari {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Seumur hidup"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Bulanan"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Bulanan {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "Penagihan bulanan dimulai pada <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "Penagihan bulanan dimulai pada <0>{pendingChangeDate}</0>. Tagihan bulanan pertama: {pendingInitialPriceLabel}. Perpanjangan bulanan mendatang: {pendingRecurringPriceLabel}/bulan."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Kesalahan jaringan"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Jaringan dan performa"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Mikrofon baru"
|
||||
msgid "New password"
|
||||
msgstr "Kata sandi baru"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Harga baru dijadwalkan pada <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Harga baru dijadwalkan pada <0>{pendingChangeDate}</0>. Perpanjangan akan dikenakan biaya {pendingTargetPriceLabel} mulai saat itu."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Tidak ada alasan yang diberikan."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Tidak ada sebutan terbaru"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Tidak ada penerima tersisa untuk membuat DM grup."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Tidak ada webhook"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Laporan dalam aplikasi no-op"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Bukan untuk Anda? Nonaktifkan kapan saja."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "Aktif"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "Pada <0>{listPriceEffectiveDate}</0> langganan Anda akan berpindah dari {listPriceCurrentLabel} ke {listPriceNewLabel}. Tidak ada biaya yang dikenakan hari ini, dan sisa langganan Anda tetap sama persis."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Keuntungan"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Manfaat dijeda"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Reaksi"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Aktifkan lagi"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Tukarkan untuk diri sendiri"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Tukarkan kode hadiah"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Ambang batas pembaruan (hari)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Jendela pembaruan (hari)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Diperbarui pada <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Pulihkan jendela"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Berlangganan lagi"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Mode di-hosting sendiri"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Timpa mode di-hosting sendiri"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Tampilkan berbagi layar saya"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Tampilkan saya mengetik"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Tampilkan penggeser volume peserta per perangkat di menu suara"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Tampilkan pengaturan zona waktu profil"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Lewati peringatan tautan eksternal untuk semua domain"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Lewati panggilan jaringan saat laporan dalam aplikasi dikirim. Alur tetap berlanjut ke layar sukses sehingga Anda dapat melatih UI, tetapi tidak ada yang benar-benar dikirim ke tim keamanan."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Slovenia"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Unggah lampiran lambat"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Pelan-pelan — tunggu sebentar sebelum mencoba lagi."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Edit pesan lambat"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Muat pesan lambat"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Kirim pesan lambat"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Muat profil lambat"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Ada masalah saat memuat anggota. Coba lagi nanti."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Terjadi kesalahan saat membatalkan perubahan tagihan tertunda Anda. Silakan coba lagi nanti."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Terjadi kesalahan saat membatalkan langganan Anda. Silakan coba lagi sebentar lagi."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Terjadi kesalahan saat mengubah siklus penagihan Anda. Silakan coba lagi sebentar lagi."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Terjadi kesalahan saat mengubah harga Anda. Coba lagi sebentar lagi."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Ada yang salah saat menghubungkan akun Anda. Anda bisa menutup tab ini dan coba lagi."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Terjadi kesalahan saat mengakhiri masa tenggang Anda. Silakan coba lagi sebentar lagi."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Terjadi kesalahan saat memuat log aktivitas."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Terjadi kesalahan saat menyiapkan stiker ini. Coba file lain atau coba lagi sebentar lagi."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Terjadi kesalahan saat mengaktifkan kembali langganan Anda. Silakan coba lagi sebentar lagi."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Mulai lagi"
|
||||
msgid "Start recording"
|
||||
msgstr "Mulai merekam"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Mulai pencarian dengan <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> untuk mempersempit hasil."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Hentikan pesan dan permintaan pertemanan."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Hentikan Neko mengejar kursor Anda sambil tetap membuatnya dapat diseret dan interaktif."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Berhenti menambal Node.prototype insertBefore dan removeChild. Aplikasi akan kembali macet saat penerjemah halaman memindahkan ulang node teks yang masih dipegang React."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Beralih antara profil global dan profil per komunitas Anda"
|
||||
msgid "Switch device"
|
||||
msgstr "Ganti perangkat"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Ubah harga"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Beralih ke {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Beralih ke input langsung"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Beralih ke bulanan"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Beralih ke tagihan bulanan?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Beralih ke komunitas atau DM sebelumnya"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Beralih ke satu kolom"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Beralih ke harga baru?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Beralih ke akun ini"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Beralih ke dua kolom"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Beralih ke tahunan"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Beralih ke penagihan tahunan?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Tag ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Tag harus terdiri dari 2 hingga {maxLength} karakter dan alfanumerik."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Berlaku pada perpanjangan berikutnya. Kami akan menerapkan kredit {creditLabel} dari pembayaran bulanan Anda saat ini, jadi tagihan tahunan pertama Anda adalah <0>{firstRenewalPriceLabel}</0>. Perpanjangan tahunan berikutnya adalah {renewalPrice}/tahun."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Berlaku pada perpanjangan berikutnya. Langganan Anda tetap bulanan sampai saat itu, dan perpanjangan berikutnya adalah <0>{renewalPrice}/tahun</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Berlaku pada perpanjangan berikutnya. Langganan Anda tetap tahunan sampai saat itu, dan perpanjangan berikutnya akan menjadi <0>{renewalPrice}/bulan</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Berlaku segera. Penyesuaian prorata mungkin berlaku melalui {PAYMENT_PROVIDER_NAME}. Perpanjangan Anda berikutnya adalah <0>{renewalPrice}/bulan</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Berlaku segera. Biaya prorata mungkin berlaku melalui {PAYMENT_PROVIDER_NAME}. Perpanjangan berikutnya adalah <0>{renewalPrice}/tahun</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "Nama dikembalikan seperti semula. Silakan coba lagi sebentar lagi."
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "Saluran baru akan menggunakan ulang izin dari <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "Harga baru sudah dijadwalkan pada {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "Saluran suara baru akan menggunakan ulang izin, batas pengguna, dan bitrate dari <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Status mengetik"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "Komponen UI"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Visibilitas"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visioner"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "Kami tidak mengirim SMS verifikasi ke negara ini. Coba nomor ponsel dari
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Kami menemukan langganan {premiumProductFullName} yang sudah ada untuk akun ini. Kelola di portal penagihan yang aman untuk memperbarui detail pembayaran atau memeriksa status perpanjangan. Jika Anda baru saja membayar, tunggu sebentar dan buka kembali halaman ini."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Kami menurunkan harga {premiumProductName} di Brasil. Harganya kini {monthlyPrice} per bulan atau {yearlyPrice} per tahun."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Tahunan {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Hadiah tahunan"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Peningkatan tahunan dijadwalkan pada <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Peningkatan tahunan dijadwalkan pada <0>{pendingChangeDate}</0>. Tagihan tahunan pertama: {pendingInitialPriceLabel} setelah kredit {pendingCreditPriceLabel}. Perpanjangan tahunan berikutnya: {pendingRecurringPriceLabel}/tahun."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Peningkatan tahunan dijadwalkan pada <0>{pendingChangeDate}</0>. Biaya tahunan pertama: {pendingInitialPriceLabel}. Perpanjangan tahunan berikutnya: {pendingRecurringPriceLabel}/tahun."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Anda ada di saluran suara"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Anda menggunakan tarif lama yang tidak lagi tersedia untuk pelanggan baru."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Anda menggunakan tarif lama. Harga saat ini untuk paket ini adalah {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "GPU Anda mengodekan ini di perangkat keras."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Masa tenggang Anda telah berakhir."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Pembayaran Anda berhasil. Sekarang Anda bisa menutup tab ini dan kembali ke aplikasi."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Perubahan tagihan tertunda Anda telah dibatalkan."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "Berbagi layar Anda tidak dapat dipublikasikan dengan codec video yang ko
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Streaming Anda masih aktif"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Langganan Anda tidak dapat beralih ke harga baru saat ini."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Langganan Anda berakhir, tetapi <0/> tetap aktif hingga <1>{graceDate}</1>. Berlangganan kembali sebelum tanggal tersebut untuk mempertahankan riwayat langganan Anda."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Langganan Anda gagal diperpanjang, tetapi Anda masih memiliki akses ke keuntungan {premiumProductName} hingga {formattedGraceDate}. Ambil tindakan sekarang atau Anda akan kehilangan semua keuntungan."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Langganan Anda telah diaktifkan kembali."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Langganan Anda akan dibatalkan pada akhir periode tagihan Anda."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Langganan Anda telah diubah ke penagihan bulanan."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Langganan Anda telah diubah ke penagihan tahunan."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Langganan Anda aktif, tetapi keuntungan dihentikan sementara."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Langganan Anda sudah diatur untuk dibatalkan pada akhir periode tagihan
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Langganan Anda tidak diatur untuk dibatalkan, jadi tidak ada yang bisa diaktifkan kembali."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Langganan Anda akan beralih ke harga baru pada {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Langganan Anda masih berakhir pada <0>{cancelDate}</0>. Harga saat ini adalah {listPriceNewLabel}. Jika Anda mengaktifkan kembali, Anda dapat beralih ke sana dari sini."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Langganan Anda akan beralih ke penagihan bulanan pada perpanjangan berikutnya."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Langganan Anda akan beralih ke penagihan tahunan pada perpanjangan berikutnya."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# segnalibro} other {# segnalibri}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# community trovata} other {# community trovate}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# community è temporaneamente non disponibile a causa di un malfunzionamento del condensatore di flusso.} other {# community sono temporaneamente non disponibili a causa di un malfunzionamento del condensatore di flusso.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "Abbonato a {premiumProductFullName} dal {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "Privacy del badge {premiumProductName}"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} costa meno ora. Passa da {currentPrice} a {newPrice} al mese a partire dal {effectiveDate} e non ti verrà addebitato nulla oggi."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} costa meno ora. Passa da {currentPrice} a {newPrice} all'anno a partire dal {effectiveDate} e non ti verrà addebitato nulla oggi."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "un nome host, ad es. {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "È disponibile un aggiornamento per la versione desktop di Linux. Scegli il formato del pacchetto per questo sistema e {productName} lo salverà localmente."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "È disponibile un prezzo inferiore. Il passaggio avrà effetto il <0>{listPriceEffectiveDate}</0> e non cambierà nient'altro."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Azioni"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "I controlli di allineamento sono disponibili solo su schermi più ampi"
|
||||
msgid "All"
|
||||
msgstr "Tutti"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Tutto <0/> per <1>{effectiveMonthlyPrice}/mese</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Tutto <0/> per <1>{effectiveYearlyPrice}/anno</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Tutto <0/> incluso con il tuo abbonamento."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Tutto <0/>, per sempre. Nessun addebito, nessun rinnovo."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Impostazioni app"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "Stato dell'app"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Assente in questo momento"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "Usando {productName}, accetti le norme aggiornate."
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Ignora scheletro di caricamento"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Annulla se vuoi scegliere un nome utente diverso."
|
||||
msgid "Cancel import"
|
||||
msgstr "Annulla importazione"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Annulla modifica prezzo"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Annulla richiesta"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Annulla cambio programmato"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Annulla abbonamento"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Annullare l'abbonamento?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Annulla la modifica programmata per passare invece al prezzo attuale."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Annulla caricamento"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Annulla aggiornamento annuale"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Annullare la richiesta di amicizia a {displayName}?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Annullamento in corso"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Annullamento in corso"
|
||||
msgid "Cancellation"
|
||||
msgstr "Annullamento"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Annullamento il <0>{cancelDate}</0>. <1/> Rimarrà attivo fino ad allora."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Modulo di modifica password"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Modifica pianificata"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Impossibile annullare la richiesta di amicizia. Riprova."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Impossibile annullare la modifica di fatturazione in sospeso"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Impossibile annullare l'abbonamento"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Impossibile modificare il ciclo di fatturazione"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Impossibile cambiare il tuo prezzo"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Impossibile duplicare questo canale"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Impossibile terminare il periodo di prova"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Impossibile aprire il risultato della ricerca"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Impossibile elaborare l'immagine"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Impossibile riattivare l'abbonamento"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Crea ruolo"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Crea l'account amministratore"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Creare la chat di gruppo con i {addableCount} destinatari rimanenti e saltare gli altri?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Personalizzato…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Portale clienti"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Disabilita scorciatoia"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Disattiva suoni"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Disabilita la protezione DOM del traduttore"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Data di fine"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Termina periodo di tolleranza"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Scadenza"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Scaduto il {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Scaduto il {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Scaduto il <0>{expiredDate}</0>. <1/> non sono più attivi. Puoi iscriverti di nuovo in qualsiasi momento."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Esporta temi"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Mostra la sezione delle impostazioni del fuso orario riservata agli amministratori nel profilo."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Funzione temporaneamente disabilitata"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Funzionalità"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Forzato"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Forza caricamento messaggi non riuscito"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Forza l'invio di messaggi non riuscito"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Forza caricamento selettore GIF"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Forza la chiusura"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Forza caricamento scheletro"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Forza nessun permesso {permissionName}"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Forza avviso dati profilo"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Forza scheletri profilo"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Forza visualizzazione"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Forza la visualizzazione dell'avviso sull'URL personalizzato"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Forza visualizzazione connessione vocale"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Modalità lenta forzata attiva"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Forza tipo di messaggio sconosciuto"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Forza aggiornamento pronto"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "Impossibile caricare le GIF"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Regalo: in scadenza"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Regalo: periodo di tolleranza (hai ancora accesso)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Regalato <0/> fino al <1>{giftEndDate}</1>. Non si rinnova automaticamente. Riscatta altri codici regalo per estendere."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Capito"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Periodo di tolleranza"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Tooltip sinistro"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Slot emoji legacy"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Tariffa precedente"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Libreria: {count} di {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "A vita"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Mensile"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "{monthlyPrice} al mese"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "La fatturazione mensile inizia il <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "La fatturazione mensile inizia il <0>{pendingChangeDate}</0>. Primo addebito mensile: {pendingInitialPriceLabel}. Rinnovi mensili futuri: {pendingRecurringPriceLabel}/mese."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Errore di rete"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Rete e prestazioni"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Nuovo microfono"
|
||||
msgid "New password"
|
||||
msgstr "Nuova password"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Nuovo prezzo previsto per il <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Nuovo prezzo previsto per il <0>{pendingChangeDate}</0>. I rinnovi saranno di {pendingTargetPriceLabel} da allora."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Nessun motivo fornito."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Nessuna menzione recente"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Nessun altro destinatario con cui creare una chat di gruppo."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Nessun webhook"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Segnalazioni in-app no-op"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Non fa per te? Puoi disattivarlo in qualsiasi momento."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "Attivato"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "Il <0>{listPriceEffectiveDate}</0> il tuo abbonamento passerà da {listPriceCurrentLabel} a {listPriceNewLabel}. Oggi non ti verrà addebitato alcun importo e il resto del tuo abbonamento rimarrà invariato."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Vantaggi"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Vantaggi in pausa"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Reazioni"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Riattiva"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Riscatta per te"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Riscatta codice regalo"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Soglia rinnovo (giorni)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Periodo rinnovo (giorni)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Si rinnova il <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Ripristina finestra"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Riattiva abbonamento"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Modalità self-hosted"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Forza modalità self-hosted"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Mostra la mia condivisione schermo"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Mostrami come se stessi digitando"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Mostra i controlli del volume dei partecipanti per dispositivo nei menu vocali"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Mostra le impostazioni del fuso orario del profilo (solo per il personale)"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Salta l'avviso per i link esterni per tutti i domini"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Salta la chiamata di rete quando viene inviata una segnalazione in-app. Il flusso avanza comunque alla schermata di successo, così puoi testare l'interfaccia utente, ma nulla viene effettivamente inviato al team di sicurezza."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Slovenia"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Caricamento lento allegati"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Rallenta: attendi un momento prima di riprovare."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Modifica messaggio lenta"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Caricamento lento dei messaggi"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Invio lento dei messaggi"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Caricamento lento del profilo"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Si è verificato un errore durante il caricamento dei membri. Riprova più tardi."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Si è verificato un errore durante l'annullamento della modifica di fatturazione in sospeso. Riprova tra qualche istante."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Si è verificato un errore durante l'annullamento dell'abbonamento. Riprova tra qualche istante."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Si è verificato un errore durante la modifica del ciclo di fatturazione. Riprova tra qualche istante."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Si è verificato un errore durante la modifica del prezzo. Riprova tra poco."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Si è verificato un errore durante la connessione del tuo account. Puoi chiudere questa scheda e riprovare."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Si è verificato un errore durante la chiusura del periodo di prova. Riprova tra qualche istante."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Si è verificato un errore durante il caricamento del registro attività
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Si è verificato un errore durante la preparazione di questo sticker. Prova un altro file o riprova tra un momento."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Si è verificato un errore durante la riattivazione dell'abbonamento. Riprova tra qualche istante."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Ricominciamo"
|
||||
msgid "Start recording"
|
||||
msgstr "Avvia registrazione"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Inizia le ricerche con <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> per restringere i risultati."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Interrompi messaggi e richieste di amicizia."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Impedisci a Neko di inseguire il cursore, mantenendolo trascinabile e interattivo."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Smetti di applicare patch a Node.prototype insertBefore e removeChild. L'app si bloccherà di nuovo quando un traduttore di pagine riposizionerà i nodi di testo che React detiene ancora."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Passa dal tuo profilo globale ai profili specifici per community"
|
||||
msgid "Switch device"
|
||||
msgstr "Cambia dispositivo"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Cambia prezzo"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Passa a {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Passa all'input diretto"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Passa al piano mensile"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Passare alla fatturazione mensile?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Passa alla community o ai messaggi diretti precedenti"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Passa a colonna singola"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Passare al nuovo prezzo?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Passa a questo account"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Passa a due colonne"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Passa all'annuale"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Passare alla fatturazione annuale?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Tag ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "I tag devono essere alfanumerici e avere una lunghezza compresa tra 2 e {maxLength} caratteri."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Avrà effetto al prossimo rinnovo. Applicheremo un credito {creditLabel} dal tuo attuale pagamento mensile, quindi il tuo primo addebito annuale sarà di <0>{firstRenewalPriceLabel}</0>. I futuri rinnovi annuali saranno di {renewalPrice}/anno."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Avrà effetto al prossimo rinnovo. Fino ad allora, l'abbonamento rimarrà mensile e il prossimo rinnovo sarà di <0>{renewalPrice}/anno</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Avrà effetto al prossimo rinnovo. Fino ad allora, l'abbonamento rimarrà annuale e il prossimo rinnovo sarà di <0>{renewalPrice}/mese</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Ha effetto immediato. Potrebbe essere applicato un adeguamento proporzionale tramite {PAYMENT_PROVIDER_NAME}. Il prossimo rinnovo sarà di <0>{renewalPrice}/mese</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Effettivo immediatamente. Potrebbe essere applicato un addebito proporzionale tramite {PAYMENT_PROVIDER_NAME}. Il prossimo rinnovo sarà di <0>{renewalPrice}/anno</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "Il nome è stato ripristinato. Riprova tra qualche istante."
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "Il nuovo canale riutilizzerà i permessi di <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "Il nuovo prezzo è già programmato per il {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "Il nuovo canale vocale riutilizzerà i permessi, il limite utenti e il bitrate da <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Stato digitazione"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "Componenti dell'interfaccia utente"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Visibilità"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visionario"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "Non inviamo SMS di verifica in questo paese. Prova con un numero di cell
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Abbiamo trovato un abbonamento {premiumProductFullName} esistente per questo account. Gestiscilo nel portale di fatturazione sicuro per aggiornare i dettagli di pagamento o controllare lo stato del rinnovo. Se hai appena pagato, attendi un minuto e riapri questa pagina."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Abbiamo abbassato il prezzo di {premiumProductName} in Brasile. Ora costa {monthlyPrice} al mese o {yearlyPrice} all'anno."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Annuale {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Regalo annuale"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Upgrade annuale programmato per il <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Upgrade annuale programmato per il <0>{pendingChangeDate}</0>. Primo addebito annuale: {pendingInitialPriceLabel} dopo un credito di {pendingCreditPriceLabel}. Rinnovi annuali futuri: {pendingRecurringPriceLabel}/anno."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Upgrade annuale programmato per il <0>{pendingChangeDate}</0>. Primo addebito annuale: {pendingInitialPriceLabel}. Rinnovi annuali futuri: {pendingRecurringPriceLabel}/anno."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Sei nel canale vocale"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Hai un piano legacy non più disponibile per i nuovi abbonati."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Hai un piano con una tariffa precedente. Il prezzo attuale per questo piano è {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "La tua GPU lo codifica in hardware."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Il tuo periodo di tolleranza è terminato."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Pagamento riuscito. Ora puoi chiudere questa scheda e tornare all'app."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "La modifica di fatturazione in sospeso è stata annullata."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "La condivisione dello schermo non è stata pubblicata con un codec video
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Il tuo stream è ancora attivo"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "L'abbonamento non può essere spostato al nuovo prezzo al momento."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Il tuo abbonamento è terminato, ma <0/> rimarrà attivo fino al <1>{graceDate}</1>. Riabbonati prima di allora per mantenere la tua cronologia di abbonato."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Il rinnovo dell'abbonamento non è andato a buon fine, ma avrai comunque accesso ai vantaggi di {premiumProductName} fino al {formattedGraceDate}. Agisci ora o perderai tutti i vantaggi."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Il tuo abbonamento è stato riattivato."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Il tuo abbonamento è stato impostato per l'annullamento alla fine del periodo di fatturazione."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Il tuo abbonamento è stato convertito in fatturazione mensile."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Il tuo abbonamento è stato convertito in fatturazione annuale."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Il tuo abbonamento è attivo, ma i vantaggi sono temporaneamente in pausa."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Il tuo abbonamento è già impostato per essere annullato alla fine del
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Il tuo abbonamento non è impostato per l'annullamento, quindi non c'è nulla da riattivare."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Il tuo abbonamento passerà al nuovo prezzo il {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Il tuo abbonamento termina il <0>{cancelDate}</0>. Il prezzo attuale è ora {listPriceNewLabel}. Se riattivi, puoi passare a questo da qui."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Il tuo abbonamento passerà alla fatturazione mensile al prossimo rinnovo."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Il tuo abbonamento passerà alla fatturazione annuale al prossimo rinnovo."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {#件のブックマーク} other {#件のブック
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {#件のコミュニティが見つかりました} other {#件のコミュニティが見つかりました}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {#件のコミュニティはフラックスキャパシタの不具合により一時的に利用できません。} other {#件のコミュニティはフラックスキャパシタの不具合により一時的に利用できません。}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "{premiumProductFullName}の登録日: {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "{premiumProductName}バッジのプライバシー設定"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} の料金が値下げされました。{effectiveDate} より、月額 {currentPrice} から {newPrice} に切り替えることができます。本日課金されるものはありません。"
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} の料金が値下げされました。{effectiveDate} より、年額 {currentPrice} から {newPrice} に切り替えることができます。本日課金されるものはありません。"
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "ホスト名(例: {exampleDomain})"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Linux デスクトップのアップデートが利用可能です。このシステムで使用するパッケージ形式を選択すると、{productName} がローカルに保存されます。"
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "より安い価格が利用可能です。<0>{listPriceEffectiveDate}</0>から適用され、他は何も変更されません。"
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "アクション"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "配置調整は、画面幅が広い場合のみ利用できます"
|
||||
msgid "All"
|
||||
msgstr "すべて"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "すべて<0/>で<1>{effectiveMonthlyPrice}/月</1>。"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "すべて <0/> <1>{effectiveYearlyPrice}/年</1>でご利用いただけます。"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "すべての<0/>はサブスクリプションに含まれています。"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "すべて<0/>、永久に。請求も更新もありません。"
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "アプリ設定"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "アプリの状態"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "現在離席中"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "{productName}のご利用により、更新されたポリシーに同
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "ローディングスケルトンをバイパス"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "別のユーザー名を選択したい場合はキャンセルしてく
|
||||
msgid "Cancel import"
|
||||
msgstr "インポートをキャンセル"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "価格変更をキャンセル"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "リクエストをキャンセル"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "予約済みの切り替えをキャンセル"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "サブスクリプションをキャンセル"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "サブスクリプションをキャンセルしますか?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "現在の価格に変更するには、予定されている変更をキャンセルしてください。"
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "アップロードをキャンセル"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "年額プランのアップグレードをキャンセル"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "{displayName}への友達リクエストをキャンセルしますか?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "キャンセル中"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "キャンセル中"
|
||||
msgid "Cancellation"
|
||||
msgstr "キャンセル"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "<0>{cancelDate}</0>にキャンセルされます。<1/>それまでは引き続きご利用いただけます。"
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "パスワード変更フォーム"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "変更を予約済み"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "フレンド申請をキャンセルできませんでした。もう一度お試しください。"
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "保留中の請求変更をキャンセルできませんでした"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "サブスクリプションをキャンセルできませんでした"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "請求サイクルを変更できませんでした"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "価格を変更できませんでした"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "このチャンネルを複製できませんでした"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "猶予期間を終了できませんでした"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "検索結果を開けませんでした"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "画像を処理できませんでした"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "サブスクリプションを再開できませんでした"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "ロールを作成"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "管理者アカウントを作成"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "追加可能な{addableCount}人のメンバーでグループDMを作成し、他のメンバーはスキップしますか?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "カスタム…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "カスタマーポータル"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "ショートカットを無効にする"
|
||||
msgid "Disable sounds"
|
||||
msgstr "サウンドをオフにする"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "翻訳DOMガードを無効にする"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "終了日"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "猶予期間を終了"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "有効期限"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "{date}に期限切れ"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "{earliest}に期限切れ"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "<0>{expiredDate}</0>に期限切れになりました。<1/>は無効になりました。いつでも再登録できます。"
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "テーマをエクスポート"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "プロフィール設定で、スタッフ専用のタイムゾーンセクションを表示します。"
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "この機能は一時的に利用できません"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "機能"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "強制的に有効"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "メッセージの読み込み失敗を強制する"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "メッセージ送信の失敗を強制する"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "GIFピッカーの読み込みを強制する"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "強制的に非表示"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "スケルトンの強制読み込み"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "{permissionName}の権限がない状態を強制する"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "プロフィールデータの警告を強制表示"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "プロフィールスケルトンを強制"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "強制的に表示"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "カスタムURLの免責事項を常に表示"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "音声接続を強制的に表示"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "スローモードを強制的に有効にする"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "不明なメッセージタイプを強制する"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "アップデートの準備完了を強制"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "GIFを読み込めませんでした"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "ギフト:もうすぐ期限切れ"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "ギフト:猶予期間(引き続きアクセス可能)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "贈呈済み: <0/><1>{giftEndDate}</1>まで。自動更新されません。ギフトコードを追加して期間を延長してください。"
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "OK"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "猶予期間"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "左ツールチップ"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "従来の絵文字スロット"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "旧料金"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "ライブラリ: {count}/{max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "永久"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "月額"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "月額{monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "月額の請求は<0>{pendingChangeDate}</0>に開始されます。"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "<0>{pendingChangeDate}</0>より月額請求が開始されます。初回月額料金: {pendingInitialPriceLabel}。次月以降の月額更新料金: {pendingRecurringPriceLabel}/月。"
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "ネットワークエラー"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "ネットワークとパフォーマンス"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "新しいマイク"
|
||||
msgid "New password"
|
||||
msgstr "新しいパスワード"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "新しい価格は<0>{pendingChangeDate}</0>に予定されています。"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "<0>{pendingChangeDate}</0>に新しい価格が適用されます。それ以降の更新は{pendingTargetPriceLabel}になります。"
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "理由が入力されていません。"
|
||||
msgid "No recent mentions"
|
||||
msgstr "最近のメンションはありません"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "グループDMを作成できる相手がいません。"
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "ウェブフックなし"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "アプリ内レポートを無効化"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "不要な場合はいつでもオフにできます。"
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "オン"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "<0>{listPriceEffectiveDate}</0>に、サブスクリプションが{listPriceCurrentLabel}から{listPriceNewLabel}に移行します。本日課金されるものはありません。サブスクリプションの残りの部分はそのまま維持されます。"
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "特典"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "特典は一時停止中"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "リアクション"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "再開する"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "自分で使用"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "ギフトコードを使う"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "更新しきい値(日)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "更新ウィンドウ(日)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "<0>{renewalDate}に更新されます。</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "ウィンドウを元に戻す"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "再登録"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "セルフホストモード"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "セルフホストモードを強制"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "自分の画面共有を表示"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "自分を「入力中」と表示"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "デバイスごとの参加者の音量スライダーを音声メニューに表示"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "プロファイル設定で、スタッフ専用のプロファイルタイムゾーンセクションを表示します"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "すべてのドメインで外部リンクの警告をスキップ"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "アプリ内レポートが送信されてもネットワーク呼び出しをスキップします。フローは成功画面に進むためUIを試すことはできますが、実際には安全チームには何も送信されません。"
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "スロベニア"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "添付ファイルのアップロードを低速化"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "落ち着いてください。しばらく待ってからもう一度お
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "メッセージ編集を低速化"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "メッセージの読み込みを遅くする"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "メッセージ送信を遅くする"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "プロフィールの読み込みを遅くする"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "メンバーの読み込み中に問題が発生しました。後でもう一度お試しください。"
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "保留中の請求変更のキャンセル中に問題が発生しました。しばらくしてからもう一度お試しください。"
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "サブスクリプションのキャンセル中に問題が発生しました。しばらくしてからもう一度お試しください。"
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "請求サイクル変更中に問題が発生しました。しばらくしてからもう一度お試しください。"
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "価格の変更中に問題が発生しました。しばらくしてからもう一度お試しください。"
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "アカウントの連携中に問題が発生しました。このタブを閉じて、もう一度お試しください。"
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "猶予期間の終了中に問題が発生しました。しばらくしてからもう一度お試しください。"
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "アクティビティログの読み込み中に問題が発生しまし
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "このスタンプの準備中に問題が発生しました。別のファイルをお試しいただくか、しばらくしてからもう一度お試しください。"
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "サブスクリプションの再開中に問題が発生しました。しばらくしてからもう一度お試しください。"
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "最初からやり直す"
|
||||
msgid "Start recording"
|
||||
msgstr "録音を開始"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "検索を始めるには、<0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> を使用して、結果を絞り込みます。"
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "メッセージと友達リクエストを停止."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "カーソルをドラッグ可能かつインタラクティブなまま、ネコがカーソルを追いかけるのを止めます。"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Node.prototype の insertBefore と removeChild のパッチを停止します。ページ翻訳者が React がまだ保持しているテキストノードを再親子化すると、アプリは再びクラッシュします。"
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "グローバルプロフィールとコミュニティごとのプロフ
|
||||
msgid "Switch device"
|
||||
msgstr "デバイスを切り替える"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "価格を変更"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "{listPriceNewLabel} に切り替える"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "直接入力に切り替える"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "月額払いに変更"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "月額払いに切り替えますか?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "前のコミュニティまたはDMに切り替える"
|
||||
msgid "Switch to single column"
|
||||
msgstr "1列表示に切り替え"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "新しい料金に切り替えますか?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "このアカウントに切り替える"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "2列表示に切り替え"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "年払いに変更"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "年額払いに切り替えますか?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "タグ ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "タグは2~{maxLength}文字の半角英数字で入力してください。"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "次回更新時に適用されます。現在の月額料金から{creditLabel}のクレジットが適用されるため、最初の年間請求額は<0>{firstRenewalPriceLabel}</0>になります。それ以降の年間更新は{renewalPrice}/年となります。"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "次回更新時に適用されます。それまでは月額プランが継続され、次回の更新は<0>{renewalPrice}/年</0>となります。"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "次回更新時に適用されます。それまでは年額プランが継続され、次回の更新からは<0>{renewalPrice}/month</0>となります。"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "すぐに適用されます。{PAYMENT_PROVIDER_NAME}を通じて日割り調整が行われる場合があります。次回の更新は<0>{renewalPrice}/月</0>となります。"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "すぐに有効になります。{PAYMENT_PROVIDER_NAME}を通じて日割り料金が適用される場合があります。次回の更新は<0>{renewalPrice}/年</0>となります。"
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "名前は以前のものに戻されました。しばらくしてから
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "新しいチャンネルには、<0>{channelLabel}</0>の権限が再利用されます。"
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "新しい価格はすでに{effectiveDate}にスケジュールされています。"
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "新しいボイスチャンネルには、<0>{channelLabel}</0>の権限、ユーザー制限、ビットレートが再利用されます。"
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "入力中"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "UIコンポーネント"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "公開設定"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visionary"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "この国への確認メッセージは送信できません。別の国
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "このアカウントには、既存の{premiumProductFullName}サブスクリプションが見つかりました。支払い情報の更新や更新状況の確認は、安全な請求ポータルで行ってください。お支払いいただいたばかりの場合は、1分ほど待ってからこのページを再度開いてください。"
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "ブラジルでの{premiumProductName}の価格を値下げしました。月額{monthlyPrice}、年額{yearlyPrice}になります。"
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "年間 {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "年間ギフト"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "<0>{pendingChangeDate}</0>に年次アップグレードが予定されています。"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "<0>{pendingChangeDate}</0>に年額プランへのアップグレードを予定しています。初回請求額: {pendingCreditPriceLabel}のクレジット適用後、{pendingInitialPriceLabel}。次年度以降の更新料: 年額{pendingRecurringPriceLabel}。"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "<0>{pendingChangeDate}</0>に年間プランへのアップグレードを予定しています。初回請求額: {pendingInitialPriceLabel}。次回の年間更新料: {pendingRecurringPriceLabel}/年。"
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "ボイスチャンネルに参加中"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "現在ご利用の料金プランは、新規登録者には提供されていません。"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "お客様はレガシー料金をご利用中です。このプランの現在の価格は{currentSubscriptionListPriceLabel}です。"
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "お使いのGPUはこれをハードウェアでエンコードします。"
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "猶予期間が終了しました。"
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "支払いが完了しました。このタブを閉じてアプリに戻ることができます。"
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "保留中の請求変更がキャンセルされました。"
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "互換性のあるビデオコーデックで画面共有を公開でき
|
||||
msgid "Your stream is still live"
|
||||
msgstr "ストリーミングは継続中"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "現在、サブスクリプションを新しい価格に変更することはできません。"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "サブスクリプションは終了しましたが、<0/> <1>{graceDate}</1>までは有効です。それまでに再登録して、サブスクリプション履歴を保持してください。"
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "サブスクリプションの更新に失敗しましたが、{formattedGraceDate}まで{premiumProductName}の特典をご利用いただけます。今すぐ手続きしないと、すべての特典が失われます。"
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "サブスクリプションが再開されました。"
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "現在の請求期間の終了時に、サブスクリプションがキャンセルされるように設定されました。"
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "月額プランに切り替わりました。"
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "サブスクリプションが年間請求に切り替わりました。"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "サブスクリプションは有効ですが、特典は一時停止されています。"
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "お客様のサブスクリプションは、請求期間の終了時に
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "サブスクリプションは解約されていません。再開するものはありません。"
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "サブスクリプションは {effectiveDate} に新しい価格に移行します。"
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "サブスクリプションは<0>{cancelDate}</0>に終了します。現在の料金は{listPriceNewLabel}です。再開すると、ここから切り替えることができます。"
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "次回の更新時に、月額課金に切り替わります。"
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "次回の更新時に、サブスクリプションが年間請求に切り替わります。"
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {#개 북마크} other {#개 북마크}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {#개 커뮤니티 찾음} other {#개 커뮤니티 찾음}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {#개 커뮤니티가 플럭스 캐패시터 오작동으로 인해 일시적으로 이용할 수 없습니다.} other {#개 커뮤니티가 플럭스 캐패시터 오작동으로 인해 일시적으로 이용할 수 없습니다.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "{premiumProductFullName} 구독 시작일: {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "{premiumProductName} 배지 공개 설정"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName}의 가격이 인하되었습니다. {effectiveDate}부터 월 {currentPrice}에서 {newPrice}(으)로 전환하세요. 오늘 요금은 청구되지 않습니다."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName}의 연간 요금이 인하되었습니다. {effectiveDate}부터 연간 {currentPrice}에서 {newPrice}(으)로 전환하세요. 오늘 요금은 청구되지 않습니다."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "호스트 이름(예: {exampleDomain})"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Linux 데스크톱 업데이트가 있습니다. 이 시스템에 대한 패키지 형식을 선택하면 {productName}이 로컬에 저장됩니다."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "더 저렴한 가격으로 이용하실 수 있습니다. 변경 사항은 <0>{listPriceEffectiveDate}</0>부터 적용되며 다른 내용은 변경되지 않습니다."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "작업"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "정렬 컨트롤은 더 넓은 화면에서만 사용할 수 있습니
|
||||
msgid "All"
|
||||
msgstr "전체"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "모두 <0/> 월 <1>{effectiveMonthlyPrice}</1>에 이용하세요."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "모두 <0/> <1>연간 {effectiveYearlyPrice}</1>입니다."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "구독에 <0/> 모두 포함됩니다."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "모든 <0/>를 영원히. 청구도 갱신도 없습니다."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "앱 설정"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "앱 상태"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "지금은 부재중"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "{productName}을(를) 이용하면 업데이트된 정책에 동의하
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "로딩 스켈레톤 건너뛰기"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "다른 사용자 이름을 선택하려면 취소하세요."
|
||||
msgid "Cancel import"
|
||||
msgstr "가져오기 취소"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "가격 변경 취소"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "요청 취소"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "예약된 전환 취소"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "구독 취소"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "구독을 취소하시겠어요?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "예약된 변경사항을 취소하고 현재 가격으로 변경하세요."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "업로드 취소"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "연간 업그레이드 취소"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "{displayName}님에게 보낸 친구 요청을 취소하시겠어요?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "취소 중"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "취소 중"
|
||||
msgid "Cancellation"
|
||||
msgstr "취소"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "<0>{cancelDate}</0>에 취소됩니다. <1/> 그때까지는 계속 활성 상태로 유지됩니다."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "비밀번호 변경 양식"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "변경 예정"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "친구 요청을 취소할 수 없습니다. 다시 시도해 주세요."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "예정된 요금제 변경을 취소할 수 없습니다"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "구독을 취소할 수 없습니다"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "결제 주기를 변경할 수 없습니다"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "가격을 변경할 수 없습니다"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "채널을 복제할 수 없습니다"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "유예 기간을 종료할 수 없습니다"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "검색 결과를 열 수 없습니다"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "이미지를 처리할 수 없습니다"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "구독을 다시 활성화할 수 없습니다"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "역할 만들기"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "관리자 계정 만들기"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "추가 가능한 친구 {addableCount}명으로 그룹 DM을 만들고, 나머지는 건너뛸까요?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "직접 지정…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "고객 포털"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "단축키 비활성화"
|
||||
msgid "Disable sounds"
|
||||
msgstr "소리 끄기"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "번역 DOM 가드 비활성화"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "종료일"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "유예 기간 지금 종료"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "다음 기간 후 만료"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "{date}에 만료됨"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "{earliest}에 만료됨"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "만료일: <0>{expiredDate}</0>. <1/> 더 이상 활성화되지 않습니다. 언제든지 다시 구독할 수 있습니다."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "테마 내보내기"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "프로필 설정에서 직원 전용 시간대 섹션을 표시합니다."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "일시적으로 비활성화된 기능"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "기능"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "강제 활성화됨"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "메시지 로드 실패 강제 실행"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "메시지 전송 실패 강제 실행"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "GIF 선택기 로딩 강제 실행"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "강제 숨기기"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "스켈레톤 강제 로드"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "{permissionName} 권한 없음 강제 적용"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "프로필 데이터 경고 강제 표시"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "프로필 스켈레톤 강제 적용"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "강제로 표시"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "꾸밈 URL 고지 사항 강제 표시"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "음성 연결 강제 표시"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "슬로우 모드 강제 활성화"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "알 수 없는 메시지 유형 강제 적용"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "업데이트 준비 강제 실행"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "GIF를 불러올 수 없습니다"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "선물: 곧 만료"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "선물: 유예 기간 (계속 이용 가능)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "선물 <0/>이(가) <1>{giftEndDate}</1>까지 적용됩니다. 자동 갱신되지 않습니다. 더 많은 선물 코드를 사용하여 기간을 연장하세요."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "확인"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "유예 기간"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "왼쪽 툴팁"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "이전 이모티콘 슬롯"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "기존 요금"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "라이브러리: {count}/{max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "평생"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "월간"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "월 {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "월별 요금 청구는 <0>{pendingChangeDate}</0>에 시작됩니다."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "<0>{pendingChangeDate}</0>부터 월별 요금이 청구됩니다. 첫 월별 요금: {pendingInitialPriceLabel}. 이후 월별 갱신 요금: 월 {pendingRecurringPriceLabel}."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "네트워크 오류"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "네트워킹 및 성능"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "새 마이크"
|
||||
msgid "New password"
|
||||
msgstr "새 비밀번호"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "새로운 가격이 <0>{pendingChangeDate}</0>에 예정되어 있습니다."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "새 가격이 <0>{pendingChangeDate}</0>부터 적용됩니다. 그 이후 갱신 시에는 {pendingTargetPriceLabel}이 적용됩니다."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "사유가 제공되지 않았습니다."
|
||||
msgid "No recent mentions"
|
||||
msgstr "최근 멘션 없음"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "그룹 DM을 만들 수 있는 수신자가 없습니다."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "웹훅 없음"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "앱 내 신고 무효화"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "마음에 들지 않으세요? 언제든지 끌 수 있습니다."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "켜짐"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "<0>{listPriceEffectiveDate}</0>에 구독이 {listPriceCurrentLabel}에서 {listPriceNewLabel}로 변경됩니다. 오늘 요금이 청구되지 않으며 구독의 나머지 부분은 그대로 유지됩니다."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "혜택"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "혜택 일시 중지됨"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "반응"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "재활성화"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "내 계정으로 사용"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "선물 코드 등록"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "갱신 임계값(일)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "갱신 기간(일)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "<0>{renewalDate}</0>에 갱신됩니다"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "창 복원"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "재구독"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "자체 호스팅 모드"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "자체 호스팅 모드 재정의"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "내 화면 공유 표시"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "내가 입력 중으로 표시"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "음성 메뉴에서 기기별 참가자 볼륨 슬라이더 표시"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "프로필 설정에서 직원 전용 프로필 시간대 섹션을 표시합니다"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "모든 도메인에서 외부 링크 경고 건너뛰기"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "앱 내 신고 제출 시 네트워크 호출을 건너뜁니다. UI를 테스트할 수 있도록 성공 화면으로 계속 진행되지만, 안전팀에는 아무것도 전송되지 않습니다."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "슬로베니아"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "첨부 파일 업로드 속도 저하"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "속도를 늦춰주세요. 잠시 후 다시 시도해 주세요."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "메시지 편집 속도 저하"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "메시지 로드 속도 저하"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "메시지 전송 속도 저하"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "느린 프로필 로드"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "멤버를 불러오는 중 문제가 발생했습니다. 나중에 다시 시도해 주세요."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "예정된 결제 변경을 취소하는 중 문제가 발생했습니다. 잠시 후 다시 시도해 주세요."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "구독을 취소하는 중에 문제가 발생했습니다. 잠시 후 다시 시도해 주세요."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "결제 주기를 변경하는 중 문제가 발생했습니다. 잠시 후 다시 시도해 주세요."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "가격 변경 중 오류가 발생했습니다. 잠시 후 다시 시도해 주세요."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "계정 연결 중 문제가 발생했습니다. 이 탭을 닫고 다시 시도해 주세요."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "유예 기간을 종료하는 중에 문제가 발생했습니다. 잠시 후 다시 시도해 주세요."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "활동 로그를 로드하는 동안 문제가 발생했습니다."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "스티커를 준비하는 중에 문제가 발생했습니다. 다른 파일을 시도하거나 잠시 후에 다시 시도해 주세요."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "구독을 다시 활성화하는 중에 문제가 발생했습니다. 잠시 후 다시 시도해 주세요."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "다시 시작"
|
||||
msgid "Start recording"
|
||||
msgstr "녹음 시작"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "검색을 시작할 때 <0>{peoplePrefix}</0>, <1>{textChannelPrefix}</1>, <2>{voiceChannelPrefix}</2>, <3>{communityPrefix}</3>을 사용하여 검색 범위를 좁힐 수 있습니다."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "메시지 및 친구 요청 중단."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Neko가 커서를 따라다니지 않도록 하면서도 드래그 및 상호작용은 유지합니다."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Node.prototype insertBefore 및 removeChild 패치를 중지합니다. React가 여전히 보유하고 있는 텍스트 노드를 페이지 번역기가 다시 부모로 지정하면 앱이 다시 충돌합니다."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "글로벌 프로필과 커뮤니티별 프로필 간 전환"
|
||||
msgid "Switch device"
|
||||
msgstr "기기 전환"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "가격 변경"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "{listPriceNewLabel}(으)로 전환"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "직접 입력으로 전환"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "월간으로 전환"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "월별 결제로 변경하시겠어요?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "이전 커뮤니티 또는 DM으로 전환"
|
||||
msgid "Switch to single column"
|
||||
msgstr "한 줄로 보기"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "새 가격으로 변경하시겠어요?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "이 계정으로 전환"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "2열로 전환"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "연간 플랜으로 변경"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "연간 결제로 변경하시겠어요?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "태그({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "태그는 2자에서 {maxLength}자 사이의 영숫자여야 합니다."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "다음 갱신 시 적용됩니다. 현재 월별 결제 금액에서 {creditLabel} 크레딧이 적용되어 첫 연간 요금은 <0>{firstRenewalPriceLabel}</0>입니다. 이후 연간 갱신 요금은 연 {renewalPrice}입니다."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "다음 갱신 시 적용됩니다. 그때까지는 월간 구독이 유지되며, 다음 갱신 시에는 <0>{renewalPrice}/년</0>이 청구됩니다."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "다음 갱신 시 적용됩니다. 그때까지는 연간 구독이 유지되며, 다음 갱신 시에는 <0>{renewalPrice}/월</0>이 청구됩니다."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "즉시 적용됩니다. {PAYMENT_PROVIDER_NAME}을 통해 비례 배분 조정이 적용될 수 있습니다. 다음 갱신 시 <0>월 {renewalPrice}</0>가 청구됩니다."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "즉시 적용됩니다. {PAYMENT_PROVIDER_NAME}을 통해 일할 계산된 요금이 부과될 수 있습니다. 다음 갱신 시에는 <0>{renewalPrice}/년</0>이 청구됩니다."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "이름이 이전으로 되돌려졌습니다. 잠시 후에 다시 시
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "새로운 채널은 <0>{channelLabel}</0>의 권한을 재사용합니다."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "새 가격은 {effectiveDate}에 적용될 예정입니다."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "새로운 음성 채널은 <0>{channelLabel}</0>의 권한, 사용자 제한 및 비트레이트를 재사용합니다."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "입력 상태"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "UI 구성 요소"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "공개 설정"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visionary"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "이 국가로는 인증 문자를 보내지 않습니다. 다른 국가
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "이 계정에 기존 {premiumProductFullName} 구독이 있습니다. 결제 정보를 업데이트하거나 갱신 상태를 확인하려면 보안 결제 포털에서 관리하세요. 방금 결제했다면 잠시 기다렸다가 이 페이지를 다시 여세요."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "브라질에서 {premiumProductName} 가격을 인하했습니다. 이제 월 {monthlyPrice}, 연간 {yearlyPrice}입니다."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "연간 {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "연간 선물"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "<0>{pendingChangeDate}</0>에 연간 업그레이드가 예정되어 있습니다."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "<0>{pendingChangeDate}</0>에 연간 업그레이드가 예정되어 있습니다. 첫 연간 요금: {pendingCreditPriceLabel} 크레딧 적용 후 {pendingInitialPriceLabel}. 향후 연간 갱신 요금: 연간 {pendingRecurringPriceLabel}."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "<0>{pendingChangeDate}</0>에 연간 업그레이드가 예정되어 있습니다. 첫 연간 요금: {pendingInitialPriceLabel}. 향후 연간 갱신: 연간 {pendingRecurringPriceLabel}."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "음성 채널에 참여 중입니다"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "더 이상 신규 구독자에게 제공되지 않는 기존 요금제를 사용 중입니다."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "이전 요금제를 사용 중이십니다. 현재 이 플랜의 가격은 {currentSubscriptionListPriceLabel}입니다."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "GPU 하드웨어 인코딩을 사용합니다."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "유예 기간이 종료되었습니다."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "결제가 완료되었습니다. 이 탭을 닫고 앱으로 돌아가세요."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "예정된 요금제 변경이 취소되었습니다."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "호환되는 비디오 코덱으로 화면 공유를 게시할 수 없
|
||||
msgid "Your stream is still live"
|
||||
msgstr "회원님의 스트림은 계속 라이브 상태입니다"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "지금은 구독을 새 가격으로 변경할 수 없습니다."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "구독이 종료되었지만 <0/> <1>{graceDate}</1>까지는 활성 상태가 유지됩니다. 구독 기록을 유지하려면 그 전에 다시 구독하세요."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "구독 갱신에 실패했지만, {formattedGraceDate}까지는 {premiumProductName} 혜택을 계속 이용할 수 있습니다. 지금 조치하지 않으면 모든 혜택이 사라집니다."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "구독이 다시 활성화되었습니다."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "회원님의 구독이 현재 결제 기간이 끝날 때 취소되도록 설정되었습니다."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "월간 구독으로 변경되었습니다."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "구독이 연간 결제로 전환되었습니다."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "구독은 활성화되었지만 혜택이 일시적으로 중지되었습니다."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "회원님 구독은 이미 결제 기간이 끝나면 취소되도록
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "구독이 취소되도록 설정되어 있지 않으므로 다시 활성화할 항목이 없습니다."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "구독이 {effectiveDate}에 새로운 가격으로 변경됩니다."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "구독은 <0>{cancelDate}</0>에 종료됩니다. 현재 가격은 {listPriceNewLabel}입니다. 다시 활성화하면 여기서 전환할 수 있습니다."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "다음 갱신 시 구독이 월별 청구로 전환됩니다."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "다음 갱신 시 구독이 연간 결제로 전환됩니다."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# žymė} other {# žymės}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# bendrija rasta} other {# bendrijų rasta}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# bendruomenė laikinai nepasiekiama dėl srauto kondensatoriaus gedimo.} other {# bendruomenės laikinai nepasiekiamos dėl srauto kondensatoriaus gedimo.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "{premiumProductFullName} prenumeratorius nuo {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "{premiumProductName} ženkliuko privatumas"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} dabar kainuoja pigiau. Nuo {effectiveDate} perjunkite į {newPrice} per mėnesį (buvo {currentPrice}) ir šiandien nieko nebus apmokestinta."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} dabar kainuoja pigiau. Nuo {effectiveDate} perjunkite į {newPrice} per metus (vietoj {currentPrice} per metus) ir šiandien nieko nebus apmokestinta."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "pagrindinio kompiuterio pavadinimas, pvz., {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Prieinamas „Linux“ darbalauko atnaujinimas. Pasirinkite šios sistemos paketų formatą, o programa „{productName}“ išsaugos jį vietiniame įrenginyje."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "Galima rinktis mažesnę kainą. Pakeitimai įsigalios <0>{listPriceEffectiveDate}</0>, ir niekas kitas nesikeis."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Veiksmai"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Lygiavimo valdikliai pasiekiami tik platesniuose ekranuose"
|
||||
msgid "All"
|
||||
msgstr "Visi"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Viskas <0/> už <1>{effectiveMonthlyPrice}/mėn.</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Viskas <0/> už <1>{effectiveYearlyPrice} per metus</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Viskas <0/> įskaičiuota į jūsų prenumeratą."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Viskas <0/>, amžinai. Jokių sąskaitų, jokių atnaujinimų."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Programos nustatymai"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "Programos būsena"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Šiuo metu nesu prie kompiuterio"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "Naudodami „{productName}\", sutinkate su atnaujintomis taisyklėmis."
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Praleisti pakrovimo skeletą"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Atšaukti, jei norite pasirinkti kitą vartotojo vardą."
|
||||
msgid "Cancel import"
|
||||
msgstr "Atšaukti importavimą"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Atšaukti kainos pakeitimą"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Atšaukti užklausą"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Atšaukti suplanuotą keitimą"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Atšaukti prenumeratą"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Atšaukti prenumeratą?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Atšaukti suplanuotą pakeitimą ir pereiti prie dabartinės kainos."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Atšaukti įkėlimą"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Atšaukti metinį atnaujinimą"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Ar tikrai norite atšaukti draugo užklausą, siųstą \"{displayName}\"?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Atšaukiama"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Atšaukiama"
|
||||
msgid "Cancellation"
|
||||
msgstr "Atšaukimas"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Atšaukiama <0>{cancelDate}</0>. <1/> liks aktyvi iki tol."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Slaptažodžio keitimo forma"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Pakeitimas suplanuotas"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Nepavyko atšaukti draugo užklausos. Bandykite dar kartą."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Nepavyko atšaukti laukiančio atsiskaitymo pakeitimo"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Nepavyko atšaukti prenumeratos"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Nepavyko pakeisti atsiskaitymo ciklo"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Nepavyko pakeisti jūsų kainos"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Nepavyko dubliuoti šio kanalo"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Nepavyko užbaigti lengvatinio laikotarpio"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Nepavyko atidaryti paieškos rezultato"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Nepavyko apdoroti nuotraukos"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Nepavyko iš naujo suaktyvinti prenumeratos"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Kurti vaidmenį"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Sukurti administratoriaus paskyrą"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Sukurti grupės tiesioginį pranešimą su likusiu (-iais) {addableCount} gavėju (-ais) ir praleisti kitus?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Pasirinktinis…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Klientų portalas"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Išjungti nuorodą"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Išjungti garsus"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Apsaugos nuo DOM vertimo išjungimas"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Pabaigos data"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Baigti atidėjimo laikotarpį dabar"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Baigiasi po"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Baigėsi {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Baigėsi {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Baigėsi <0>{expiredDate}</0>. <1/> nebėra aktyvūs. Galite vėl užsiprenumeruoti bet kada."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Eksportuoti temas"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Rodyti personalo skirtą laiko juostos skyrių profilio nustatymuose."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Funkcija laikinai išjungta"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Funkcijos"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Priverstinai įjungta"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Priverstinai įkelti nepavykusius pranešimus"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Priverstinai siųsti nepavykusius pranešimus"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Priverstinai įkelti GIF parinkiklį"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Priverstinai slėpti"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Priverstinis skeletų įkėlimas"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Priverstinai netaikyti {permissionName} leidimo"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Visada rodyti profilio duomenų įspėjimą"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Priverstiniai profilio griaučiai"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Priverstinai rodyti"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Visada rodyti pasirinktinio URL atsisakymą"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Visada rodyti balso ryšį"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Priverstinai įjungti lėtąjį režimą"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Priverstinai nustatyti nežinomą pranešimo tipą"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Priverstinai paruošti naujinimą"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "Nepavyko įkelti GIF"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Dovana: galiojimas baigsis netrukus"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Dovana: pereinamasis laikotarpis (vis dar turite prieigą)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Dovanota <0/> iki <1>{giftEndDate}</1>. Automatiškai nepratęsiama. Norėdami pratęsti, išpirkite daugiau dovanų kodų."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Supratau"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Lengvatinis laikotarpis"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Kairysis patarimas"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Senieji jaustukų lizdai"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Senasis tarifas"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Biblioteka: {count} iš {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Visam laikui"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Mėnesinis"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Mėnesiui {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "Mėnesinis atsiskaitymas prasidės <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "Mėnesinis atsiskaitymas prasideda <0>{pendingChangeDate}</0>. Pirmasis mėnesinis mokestis: {pendingInitialPriceLabel}. Būsimi mėnesiniai atnaujinimai: {pendingRecurringPriceLabel} / mėn."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Tinklo klaida"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Tinklas ir našumas"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Naujas mikrofonas"
|
||||
msgid "New password"
|
||||
msgstr "Naujas slaptažodis"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Nauja kaina numatyta <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Nauja kaina numatyta <0>{pendingChangeDate}</0>. Nuo tada atnaujinimai kainuos {pendingTargetPriceLabel}."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Nenurodyta priežastis."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Nėra naujų paminėjimų"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Nebėra gavėjų, su kuriais būtų galima sukurti grupės tiesioginį pranešimą."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Nėra \"webhook\" nuorodų"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Ataskaitos programoje be operacijos"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Netinka? Išjunkite bet kada."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "Įjungta"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "Nuo <0>{listPriceEffectiveDate}</0> jūsų prenumerata bus perkelta iš {listPriceCurrentLabel} į {listPriceNewLabel}. Šiandien nieko nebus apmokestinta, o visa kita jūsų prenumerata liks nepakitusi."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Privalumai"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Privalumai pristabdyti"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Reakcijos"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Suaktyvinti iš naujo"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Išpirkti sau"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Išpirkti dovanos kodą"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Atnaujinimo riba (dienos)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Atnaujinimo laikotarpis (dienos)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Atnaujinama <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Atkurti langą"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Prenumeruoti iš naujo"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Savarankiškai priglobtas režimas"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Savęs talpinimo režimo nepaisymas"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Rodyti mano ekrano bendrinimą"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Rodyti, kad rašau"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Rodyti dalyvių garsumo slankiklius balsiniuose meniu kiekvienam įrenginiui"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Rodyti profilio laiko zonos nustatymus"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Praleisti išorinių nuorodų įspėjimą visiems domenams"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Praleisti tinklo iškvietimą, kai pateikiama ataskaita programoje. Srautas vis tiek pereina prie sėkmės ekrano, kad galėtumėte išbandyti vartotojo sąsają, bet nieko iš tikrųjų nesiunčiama saugos komandai."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Slovėnija"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Lėtas priedų įkėlimas"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Sulėtinkite tempą – prieš bandydami dar kartą palaukite."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Lėtas pranešimo redagavimas"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Lėtas pranešimų įkėlimas"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Lėtas žinučių siuntimas"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Lėtas profilio įkėlimas"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Įkeliant narius įvyko klaida. Bandykite dar kartą vėliau."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Nepavyko atšaukti laukiančio atsiskaitymo plano pakeitimo. Bandykite dar kartą po kurio laiko."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Kažkas nutiko atšaukiant prenumeratą. Bandykite dar kartą po kurio laiko."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Kažkas nutiko keičiant atsiskaitymo ciklą. Bandykite dar kartą po kurio laiko."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Pakeičiant jūsų kainą, kažkas nepavyko. Pabandykite dar kartą po akimirkos."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Jungiant paskyrą įvyko klaida. Galite uždaryti šį skirtuką ir bandyti dar kartą."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Kažkas nutiko baigiant jūsų lengvatinį laikotarpį. Bandykite dar kartą po kurio laiko."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Įvykių žurnalo įkėlimo metu kažkas negerai"
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Kažkas nutiko ruošiant šį lipduką. Pabandykite kitą failą arba pakartokite vėliau."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Kažkas nutiko bandant iš naujo aktyvinti prenumeratą. Bandykite dar kartą po kurio laiko."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Pradėti iš naujo"
|
||||
msgid "Start recording"
|
||||
msgstr "Pradėti įrašymą"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Pradėkite paieškas nuo <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3>, kad susiaurintumėte paieškos rezultatus."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Stabdyti žinutes ir draugų užklausas."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Sustabdykite Neko nuo jūsų žymeklio vaikymosi, bet palikite jį vilkamą ir interaktyvų."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Nustoti taisyti Node.prototype insertBefore ir removeChild. Programa vėl suges, kai puslapio vertėjas perkels teksto mazgus, kuriuos React vis dar laiko."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Perjungti tarp visuotinio profilio ir profilių pagal bendruomenes"
|
||||
msgid "Switch device"
|
||||
msgstr "Keisti įrenginį"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Perjungti kainą"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Pereiti prie {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Perjungti į tiesioginį įvedimą"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Pereiti prie mėnesinio plano"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Pereiti prie mėnesinio atsiskaitymo?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Perjungti į ankstesnę bendruomenę arba tiesioginius pranešimus"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Perjungti į vieną stulpelį"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Perjungti į naują kainą?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Perjungti į šią paskyrą"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Perjungti į du stulpelius"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Pereiti prie metinio plano"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Pereiti prie metinio atsiskaitymo?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Žymos ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Žymos turi būti nuo 2 iki {maxLength} simbolių ilgio ir sudarytos iš raidžių bei skaičių."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Įsigalios per kitą atnaujinimą. Nuo dabartinio mėnesinio mokėjimo pritaikysime {creditLabel} kreditą, todėl pirmasis metinis mokestis bus <0>{firstRenewalPriceLabel}</0>. Būsimi metiniai atnaujinimai kainuos {renewalPrice} per metus."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Įsigalios per kitą atnaujinimą. Iki tol jūsų prenumerata liks mėnesinė, o kitas atnaujinimas kainuos <0>{renewalPrice}/metus</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Įsigalios per kitą atnaujinimą. Iki tol jūsų prenumerata liks metinė, o kitas atnaujinimas kainuos <0>{renewalPrice}/mėn.</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Įsigalioja iškart. Gali būti taikomas proporcingas koregavimas per {PAYMENT_PROVIDER_NAME}. Kitas atnaujinimas kainuos <0>{renewalPrice}/mėn.</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Įsigalioja iškart. Gali būti taikomas proporcingas mokestis per „{PAYMENT_PROVIDER_NAME}“. Kitas atnaujinimas kainuos <0>{renewalPrice} per metus</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "Pavadinimas grąžintas į buvusį. Bandykite dar kartą po akimirkos."
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "Naujas kanalas naudos leidimus iš <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "Nauja kaina jau suplanuota {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "Naujas balso kanalas pakartotinai naudos leidimus, naudotojų limitą ir bitų spartą iš <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Rašymo būsena"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "UI komponentai"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Matomumas"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Vizionarė"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "Mes nesiunčiame patvirtinimo SMS į šią šalį. Pabandykite naudoti k
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Radome esamą {premiumProductFullName} prenumeratą šiai paskyrai. Tvarkykite ją saugiame atsiskaitymo portale, kad atnaujintumėte mokėjimo duomenis arba patikrintumėte atnaujinimo būseną. Jei ką tik sumokėjote, palaukite minutę ir iš naujo atidarykite šį puslapį."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Brazilyje sumažinome {premiumProductName} kainą. Dabar ji kainuoja {monthlyPrice} per mėnesį arba {yearlyPrice} per metus."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Metinis {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Metinė dovana"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Metinis atnaujinimas suplanuotas <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Metinis atnaujinimas suplanuotas <0>{pendingChangeDate}</0>. Pirmasis metinis mokestis: {pendingInitialPriceLabel} po {pendingCreditPriceLabel} kredito. Būsimi metiniai atnaujinimai: {pendingRecurringPriceLabel} per metus."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Metinis atnaujinimas suplanuotas <0>{pendingChangeDate}</0>. Pirmasis metinis mokestis: {pendingInitialPriceLabel}. Būsimi metiniai atnaujinimai: {pendingRecurringPriceLabel} / metus."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Esate balso kanale"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Jums taikomas senas tarifas, kuris nebepasiekiamas naujiems prenumeratoriams."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Jums taikomas senas tarifas. Dabartinė šio plano kaina yra {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "Jūsų GPU tai užkoduoja aparatinėje įrangoje."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Jūsų lengvatinis laikotarpis baigėsi."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Mokėjimas sėkmingas. Dabar galite uždaryti šį skirtuką ir grįžti į programėlę."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Laukiantis atsiskaitymo pakeitimas atšauktas."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "Jūsų ekrano bendrinimas negalėjo būti paskelbtas naudojant suderinam
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Jūsų transliacija vis dar aktyvi"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Jūsų prenumeratos šiuo metu negalima perkelti į naują kainą."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Jūsų prenumerata baigėsi, bet <0/> liks aktyvi iki <1>{graceDate}</1>. Prenumeruokite iš naujo iki to laiko, kad išsaugotumėte prenumeratos istoriją."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Nepavyko atnaujinti prenumeratos, bet prie „{premiumProductName}\" privilegijų vis dar turite prieigą iki {formattedGraceDate}. Imkitės veiksmų dabar, kitaip prarasite visas privilegijas."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Jūsų prenumerata vėl aktyvuota."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Jūsų prenumerata atšaukta pasibaigus atsiskaitymo laikotarpiui."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Jūsų prenumerata pakeista į mėnesinį atsiskaitymą."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Jūsų prenumerata pakeista į metinį atsiskaitymą."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Jūsų prenumerata aktyvi, bet privilegijos laikinai pristabdytos."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Jūsų prenumerata jau nustatyta atšaukti atsiskaitymo laikotarpio paba
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Jūsų prenumerata nėra nustatyta atšaukimui, todėl nėra ko iš naujo aktyvinti."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Jūsų prenumerata į naują kainą persikels {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Jūsų prenumerata vis tiek baigiasi <0>{cancelDate}</0>. Dabartinė kaina yra {listPriceNewLabel}. Jei iš naujo aktyvuosite, galėsite ją pakeisti čia."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Jūsų prenumerata bus pakeista į mėnesinį atsiskaitymą per kitą atnaujinimą."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Jūsų prenumerata bus pakeista į metinį atsiskaitymą per kitą atnaujinimą."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# bladwijzer} other {# bladwijzers}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# community gevonden} other {# communities gevonden}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# community is tijdelijk niet beschikbaar door een storing in de fluxcondensator.} other {# communities zijn tijdelijk niet beschikbaar door een storing in de fluxcondensator.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "{premiumProductFullName} abonnee sinds {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "{premiumProductName}-badge privacy"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} kost nu minder. Stap over van {currentPrice} naar {newPrice} per maand vanaf {effectiveDate}, en er worden vandaag geen kosten in rekening gebracht."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} is nu goedkoper. Stap over van {currentPrice} naar {newPrice} per jaar vanaf {effectiveDate}, en er worden vandaag geen kosten in rekening gebracht."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "een hostnaam, bijv. {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Er is een Linux-desktopupdate beschikbaar. Kies het pakketformaat voor dit systeem, en {productName} zal het lokaal opslaan."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "Een lagere prijs is beschikbaar. De wijziging gaat in op <0>{listPriceEffectiveDate}</0> en verandert verder niets."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Acties"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Uitlijningsopties zijn alleen beschikbaar op bredere schermen"
|
||||
msgid "All"
|
||||
msgstr "Alles"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Alles <0/> voor <1>{effectiveMonthlyPrice}/maand</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Alles <0/> voor <1>{effectiveYearlyPrice}/jaar</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Alles <0/> inbegrepen bij je abonnement."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Alles <0/>, voor altijd. Geen facturering, geen verlengingen."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "App-instellingen"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "Appstatus"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Nu afwezig"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "Door {productName} te gebruiken, ga je akkoord met het bijgewerkte belei
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Laad-skelet omzeilen"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Annuleer als je een andere gebruikersnaam wilt kiezen."
|
||||
msgid "Cancel import"
|
||||
msgstr "Importeren annuleren"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Annuleer prijsverandering"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Verzoek annuleren"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Geplande wijziging annuleren"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Abonnement opzeggen"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Abonnement annuleren?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Annuleer de geplande wijziging om in plaats daarvan naar de huidige prijs te gaan."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Upload annuleren"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Jaarlijkse upgrade annuleren"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Vriendschapsverzoek aan {displayName} annuleren?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Annuleren"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Annuleren"
|
||||
msgid "Cancellation"
|
||||
msgstr "Annulering"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Annuleert op <0>{cancelDate}</0>. <1/> blijft tot die tijd actief."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Wachtwoord wijzigen"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Wijziging gepland"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Vriendschapsverzoek kon niet worden geannuleerd. Probeer het opnieuw."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Kan je openstaande factuurwijziging niet annuleren"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Abonnement kon niet worden opgezegd"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Je factureringscyclus kon niet worden gewijzigd"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Je prijs kon niet worden gewijzigd"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Kon deze kanaal niet dupliceren"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Je respijtperiode kon niet worden beëindigd"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Zoekresultaat kon niet worden geopend"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Afbeelding kon niet worden verwerkt"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Abonnement kon niet opnieuw worden geactiveerd"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Rol aanmaken"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Maak het beheerdersaccount aan"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Groeps-DM aanmaken met de overige {addableCount} ontvanger(s) en de anderen overslaan?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Aangepast…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Klantenportaal"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Sneltoets uitschakelen"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Geluiden uitschakelen"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "DOM-vertalingsbeveiliging uitschakelen"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Einddatum"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Proefperiode nu beëindigen"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Verloopt na"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Verlopen op {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Verlopen op {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Verlopen op <0>{expiredDate}</0>. <1/> zijn niet langer actief. Je kunt je op elk moment opnieuw abonneren."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Thema's exporteren"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Toon de tijdzone-instellingen voor beheerders in het profiel."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Functie tijdelijk uitgeschakeld"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Functies"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Geforceerd ingeschakeld"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Berichtladen forceren mislukken"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Mislukte berichtverzendingen forceren"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Laden van GIF-kiezer forceren"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Verbergen forceren"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Geforceerd laden skelet"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Forceer geen {permissionName}-toestemming"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Profielgegevenswaarschuwing forceren"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Profielskeletons forceren"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Tonen forceren"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Disclaimer voor vanity-URL altijd tonen"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Spraakverbinding altijd weergeven forceren"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Slowmode forceren"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Onbekend berichttype forceren"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Update forceren (gereed)"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "GIF's konden niet worden geladen"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Cadeau: verloopt binnenkort"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Cadeau: respijtperiode (nog steeds toegang)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Geschonken <0/> tot <1>{giftEndDate}</1>. Wordt niet automatisch verlengd. Wissel meer cadeaucodes in om te verlengen."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Ik snap het"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Respijtperiode"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Linker tooltip"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Oude emojislots"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Oud tarief"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Bibliotheek: {count} van {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Levenslang"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Maandelijks"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Maandelijks {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "Maandelijkse facturering start op <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "Maandelijkse facturering start op <0>{pendingChangeDate}</0>. Eerste maandelijkse kosten: {pendingInitialPriceLabel}. Toekomstige maandelijkse verlengingen: {pendingRecurringPriceLabel}/maand."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Netwerkfout"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Netwerk en prestaties"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Nieuwe microfoon"
|
||||
msgid "New password"
|
||||
msgstr "Nieuw wachtwoord"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Nieuwe prijs gepland voor <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Nieuwe prijs gepland voor <0>{pendingChangeDate}</0>. Vernieuwingen worden vanaf dan {pendingTargetPriceLabel}."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Geen reden opgegeven."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Geen recente vermeldingen"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Geen ontvangers meer om een groeps-DM mee te starten."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Geen webhooks"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "In-app-rapporten overslaan"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Niet voor jou? Je kunt het altijd uitschakelen."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "Aan"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "Op <0>{listPriceEffectiveDate}</0> gaat je abonnement van {listPriceCurrentLabel} naar {listPriceNewLabel}. Er wordt vandaag niets in rekening gebracht en de rest van je abonnement blijft precies zoals het is."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Voordelen"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Voordelen gepauzeerd"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Reacties"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Opnieuw activeren"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Voor jezelf inwisselen"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Cadeaucode inwisselen"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Vernieuwingsdrempel (dagen)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Vernieuwingsvenster (dagen)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Wordt verlengd op <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Venster herstellen"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Opnieuw abonneren"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Zelf-gehoste modus"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Overschrijving zelf-gehoste modus"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Mijn scherm delen tonen"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Toon mezelf als typend"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Laat volumeregelaars per apparaat zien in stemmenu's"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Toon instellingen voor tijdzone in profiel (alleen voor beheerders)"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Externe linkwaarschuwing overslaan voor alle domeinen"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Sla de netwerkoproep over wanneer een in-app rapport wordt ingediend. De flow gaat nog steeds door naar het succes scherm, zodat je de UI kunt testen, maar er wordt niets naar het veiligheidsteam gestuurd."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Slovenië"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Trage bijlage-upload"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Rustig aan — wacht even voordat je het opnieuw probeert."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Trage bewerking van bericht"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Trage berichtlading"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Berichten langzaam verzenden"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Langzaam profiel laden"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Er is iets misgegaan bij het laden van de leden. Probeer het later opnieuw."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Er is iets misgegaan bij het annuleren van je openstaande factuurwijziging. Probeer het over een ogenblik opnieuw."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Er is iets misgegaan bij het annuleren van je abonnement. Probeer het over een ogenblik opnieuw."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Er is iets misgegaan bij het wijzigen van je factureringscyclus. Probeer het over een ogenblik opnieuw."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Er ging iets mis bij het wijzigen van je prijs. Probeer het zo meteen opnieuw."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Er is iets misgegaan bij het koppelen van je account. Je kunt dit tabblad sluiten en het opnieuw proberen."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Er is iets misgegaan bij het beëindigen van je respijtperiode. Probeer het over een ogenblik opnieuw."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Er is iets misgegaan bij het laden van het activiteitenlogboek."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Er is iets misgegaan bij het voorbereiden van deze sticker. Probeer een ander bestand of probeer het over een ogenblik opnieuw."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Er is iets misgegaan bij het opnieuw activeren van je abonnement. Probeer het over een ogenblik opnieuw."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Opnieuw beginnen"
|
||||
msgid "Start recording"
|
||||
msgstr "Opname starten"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Begin zoekopdrachten met <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> om de resultaten te verfijnen."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Berichten en vriendschapsverzoeken stoppen."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Stop Neko met het najagen van je cursor, terwijl deze wel verplaatsbaar en interactief blijft."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Stop met het patchen van Node.prototype insertBefore en removeChild. De app crasht opnieuw wanneer een paginavertaal de tekstnodes opnieuw ouder maakt waar React nog steeds naar verwijst."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Wissel tussen je algemene profiel en profielen per community"
|
||||
msgid "Switch device"
|
||||
msgstr "Apparaat wisselen"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Prijs wijzigen"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Overschakelen naar {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Overschakelen naar directe invoer"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Overschakelen naar maandelijks"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Overschakelen naar maandelijkse facturering?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Schakel over naar vorige community of DM's"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Overschakelen naar één kolom"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Schakelen naar de nieuwe prijs?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Naar dit account overschakelen"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Naar twee kolommen wisselen"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Overschakelen naar jaarlijks"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Overschakelen naar jaarlijkse facturering?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Tags ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Tags moeten 2 tot {maxLength} alfanumerieke tekens lang zijn."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Gaat in bij je volgende verlenging. We verrekenen een {creditLabel}-tegoed met je huidige maandelijkse betaling, dus je eerste jaarlijkse kosten zijn <0>{firstRenewalPriceLabel}</0>. Toekomstige jaarlijkse verlengingen zijn {renewalPrice}/jaar."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Gaat in bij je volgende verlenging. Je abonnement blijft tot die tijd maandelijks en je volgende verlenging is <0>{renewalPrice}/jaar</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Gaat in bij je volgende verlenging. Je abonnement blijft tot dan jaarlijks en je volgende verlenging is <0>{renewalPrice}/maand</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Gaat direct in. Een pro-rata aanpassing kan van toepassing zijn via {PAYMENT_PROVIDER_NAME}. Je volgende verlenging is <0>{renewalPrice}/maand</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Gaat onmiddellijk in. Er kunnen kosten naar rato in rekening worden gebracht via {PAYMENT_PROVIDER_NAME}. Je volgende verlenging is <0>{renewalPrice}/jaar</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "De naam is teruggezet naar de vorige naam. Probeer het over een moment o
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "Het nieuwe kanaal gebruikt de machtigingen van <0>{channelLabel}</0> opnieuw."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "De nieuwe prijs is al gepland voor {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "Het nieuwe spraakkanaal gebruikt de machtigingen, gebruikerslimiet en bitrate van <0>{channelLabel}</0> opnieuw."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Typstatus"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "UI-componenten"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Zichtbaarheid"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visionair"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "We versturen geen verificatieteksten naar dit land. Probeer een mobiel n
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "We hebben een bestaand {premiumProductFullName}-abonnement gevonden voor dit account. Beheer het in de beveiligde factureringsportal om betalingsgegevens bij te werken of de verlengingsstatus te controleren. Als je net hebt betaald, wacht dan een minuut en open deze pagina opnieuw."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "We hebben de prijs van {premiumProductName} in Brazilië verlaagd. Het is nu {monthlyPrice} per maand of {yearlyPrice} per jaar."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Jaarlijks {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Jaarlijks cadeau"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Jaarlijkse upgrade gepland voor <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Jaarlijkse upgrade gepland voor <0>{pendingChangeDate}</0>. Eerste jaarlijkse kosten: {pendingInitialPriceLabel} na een tegoed van {pendingCreditPriceLabel}. Toekomstige jaarlijkse verlengingen: {pendingRecurringPriceLabel}/jaar."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Jaarlijkse upgrade gepland voor <0>{pendingChangeDate}</0>. Eerste jaarlijkse kosten: {pendingInitialPriceLabel}. Toekomstige jaarlijkse verlengingen: {pendingRecurringPriceLabel}/jaar."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Je zit in het spraakkanaal"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Je hebt een oud tarief dat niet meer beschikbaar is voor nieuwe abonnees."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Je hebt een oud tarief. De huidige prijs voor dit abonnement is {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "Je GPU codeert dit in hardware."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Je respijtperiode is voorbij."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Je betaling is gelukt. Je kunt dit tabblad nu sluiten en teruggaan naar de app."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Je openstaande factuurwijziging is geannuleerd."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "Je scherm delen kon niet worden gepubliceerd met een compatibele videoco
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Je stream is nog steeds live"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Je abonnement kan nu niet naar de nieuwe prijs worden verplaatst."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Je abonnement is beëindigd, maar <0/> blijft actief tot <1>{graceDate}</1>. Neem voor die tijd opnieuw een abonnement om je abonnementsgeschiedenis te behouden."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Je abonnement is niet verlengd, maar je hebt nog steeds toegang tot de voordelen van {premiumProductName} tot {formattedGraceDate}. Onderneem nu actie, anders verlies je alle voordelen."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Je abonnement is opnieuw geactiveerd."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Je abonnement wordt aan het einde van je factureringsperiode opgezegd."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Je abonnement is overgezet naar maandelijkse facturatie."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Je abonnement is overgezet naar jaarlijkse facturering."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Je abonnement is actief, maar de extra's zijn tijdelijk gepauzeerd."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Je abonnement wordt al geannuleerd aan het einde van je factureringsperi
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Je abonnement is niet ingesteld om te annuleren, dus er is niets om opnieuw te activeren."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Je abonnement wordt op {effectiveDate} bijgewerkt naar de nieuwe prijs."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Je abonnement eindigt nog steeds op <0>{cancelDate}</0>. De huidige prijs is nu {listPriceNewLabel}. Als je opnieuw activeert, kun je hiernaartoe overschakelen."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Je abonnement wordt bij de volgende verlenging omgezet naar maandelijkse facturatie."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Je abonnement wordt bij de volgende verlenging omgezet naar jaarlijkse facturering."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# bokmerke} other {# bokmerker}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# fellesskap funnet} other {# fellesskap funnet}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# fellesskap er midlertidig utilgjengelig på grunn av en feil i flukskondensatoren.} other {# fellesskap er midlertidig utilgjengelige på grunn av en feil i flukskondensatoren.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "{premiumProductFullName}-abonnent siden {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "Personvern for {premiumProductName}-merke"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} koster mindre nå. Bytt fra {currentPrice} til {newPrice} i måneden fra og med {effectiveDate}, og ingenting blir belastet i dag."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} koster mindre nå. Bytt fra {currentPrice} til {newPrice} i året fra og med {effectiveDate}, og ingenting blir belastet i dag."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "et vertsnavn, f.eks. {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "En Linux-oppdatering er tilgjengelig. Velg pakkeformatet for dette systemet, så vil {productName} lagre det lokalt."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "En lavere pris er tilgjengelig. Bytte trer i kraft <0>{listPriceEffectiveDate}</0> og endrer ingenting annet."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Handlinger"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Justering er bare tilgjengelig på bredere skjermer"
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Alt <0/> for <1>{effectiveMonthlyPrice}/måned</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Alt <0/> for <1>{effectiveYearlyPrice}/år</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Alt <0/> er inkludert i abonnementet ditt."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Alt <0/>, for alltid. Ingen fakturering, ingen fornyelser."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Appinnstillinger"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "Apptilstand"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Borte akkurat nå"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "Ved å bruke {productName} godtar du de oppdaterte retningslinjene."
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Omgå lasteskjelett"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Avbryt hvis du vil velge et annet brukernavn i stedet."
|
||||
msgid "Cancel import"
|
||||
msgstr "Avbryt import"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Avbryt prisendring"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Avbryt forespørsel"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Avbryt planlagt bytte"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Avbryt abonnement"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Avbryte abonnementet?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Avbryt den planlagte endringen for å gå til den nåværende prisen i stedet."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Avbryt opplasting"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Avbryt årlig oppgradering"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Avbryt venneforespørselen til {displayName}?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Avbryter"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Avbryter"
|
||||
msgid "Cancellation"
|
||||
msgstr "Avbestilling"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Avsluttes den <0>{cancelDate}</0>. <1/> forbli aktiv frem til da."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Endre passord-skjema"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Endring planlagt"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Kunne ikke avbryte venneforespørselen. Prøv igjen."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Kunne ikke avbryte den ventende faktureringsendringen din"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Kunne ikke si opp abonnementet ditt"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Kunne ikke endre faktureringssyklusen din"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Kunne ikke endre prisen din"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Kunne ikke duplisere denne kanalen"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Kunne ikke avslutte prøveperioden din"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Kunne ikke åpne søkeresultatet"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Kunne ikke behandle bildet"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Kunne ikke gjenaktivere abonnementet ditt"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Opprett rolle"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Opprett administratorkontoen"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Opprette gruppe-DM med de {addableCount} gjenværende mottakerne og hoppe over de andre?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Tilpasset …"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Kundepost"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Deaktiver snarvei"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Slå av lyder"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Deaktiver oversetter-DOM-vakt"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Sluttdato"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Avslutt prøveperiode nå"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Utløper etter"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Utløp {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Utløp {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Utløp den <0>{expiredDate}</0>. <1/> er ikke lenger aktiv. Du kan abonnere på nytt når som helst."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Eksporter temaer"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Vis tidszoneseksjonen som kun er tilgjengelig for ansatte i profilinnstillingene."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Funksjonen er midlertidig deaktivert"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Funksjoner"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Tvangsaktivert"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Fremtving mislykkede meldingsinnlastinger"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Fremtving mislykkede meldingssendinger"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Tving lasting av GIF-velger"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Tving frem skjul"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Tving lasting av skjelett"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Tving ingen {permissionName}-tillatelse"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Tving advarsel om profildata"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Tving profilskjeletter"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Tving frem visning"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Tving frem visning av ansvarsfraskrivelse for tilpasset URL"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Vis alltid taletilkobling"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Tving sakte modus aktiv"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Tving ukjent meldingstype"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Tving frem klar oppdatering"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "GIF-er kunne ikke lastes inn"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Gave: utløper snart"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Gave: utsettelsesperiode (har fortsatt tilgang)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Gitt i gave <0/> frem til <1>{giftEndDate}</1>. Fornyes ikke automatisk. Løs inn flere gavekoder for å forlenge."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Forstått"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Utsatt betalingsfrist"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Venstre verktøytips"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Gamle emojispilleautomater"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Gammel pris"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Bibliotek: {count} av {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Livstid"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Månedlig"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Månedlig {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "Månedlig fakturering starter den <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "Månedlig fakturering starter den <0>{pendingChangeDate}</0>. Første månedlige kostnad: {pendingInitialPriceLabel}. Fremtidige månedlige fornyelser: {pendingRecurringPriceLabel}/måned."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Nettverksfeil"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Nettverk og ytelse"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Ny mikrofon"
|
||||
msgid "New password"
|
||||
msgstr "Nytt passord"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Ny pris planlagt for <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Ny pris planlagt for <0>{pendingChangeDate}</0>. Fornyelser vil koste {pendingTargetPriceLabel} fra da av."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Ingen grunn ble oppgitt."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Ingen nylige omtaler"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Ingen gjenværende mottakere å opprette en gruppe-DM med."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Ingen webhooks"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Ikke-operativ rapportering i appen"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Ikke noe for deg? Slå det av når som helst."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "På"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "Fra <0>{listPriceEffectiveDate}</0> går abonnementet ditt fra {listPriceCurrentLabel} til {listPriceNewLabel}. Ingenting belastes i dag, og resten av abonnementet ditt forblir akkurat som det er."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Fordeler"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Fordeler satt på pause"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Reaksjoner"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Reaktiver"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Løs inn selv"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Løs inn gavekode"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Fornyelsesterskel (dager)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Fornyelsesvindu (dager)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Fornyes den <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Gjenopprett vindu"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Abonner på nytt"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Selvhostet modus"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Tving selvbetjent modus"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Vis skjermdelingen min"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Vis meg selv som skriver"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Vis volumkontroller for deltakere per enhet i stemmemenyer"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Vis innstillinger for tidssone i profil"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Hopp over advarsel om ekstern lenke for alle domener"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Hopper over nettverkskallet når en rapport i appen sendes inn. Flyten går fortsatt videre til suksess-skjermen slik at du kan teste brukergrensesnittet, men ingenting sendes faktisk til sikkerhetsteamet."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Slovenia"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Treg opplasting av vedlegg"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Sakte ned – vent et øyeblikk før du prøver igjen."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Treg meldingsredigering"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Treg meldingsinnlasting"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Send meldinger sakte"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Treg profilinnlasting"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Noe gikk galt under innlastingen av medlemmer. Prøv igjen senere."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Noe gikk galt under kanselleringen av den ventende faktureringsendringen din. Prøv igjen om en liten stund."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Noe gikk galt under kanselleringen av abonnementet ditt. Prøv igjen om en liten stund."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Noe gikk galt under endring av faktureringssyklusen. Prøv igjen om en liten stund."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Noe gikk galt da prisen ble endret. Prøv igjen om et øyeblikk."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Noe gikk galt under tilkoblingen av kontoen din. Du kan lukke denne fanen og prøve igjen."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Noe gikk galt da prøveperioden din skulle avsluttes. Prøv igjen om en liten stund."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Noe gikk galt under lasting av aktivitetsloggen."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Noe gikk galt under klargjøringen av dette klistremerket. Prøv en annen fil, eller prøv igjen om en liten stund."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Noe gikk galt under reaktivering av abonnementet ditt. Prøv igjen om en liten stund."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Start på nytt"
|
||||
msgid "Start recording"
|
||||
msgstr "Start opptak"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Start søk med <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> for å begrense resultatene."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Stopp meldinger og venneforespørsler."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Stopp Neko fra å jage musepekeren din, samtidig som den forblir dra- og klikkbar."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Slutt å patche Node.prototype insertBefore og removeChild. Appen vil krasje igjen når en sidestøtte overordner tekstnoder som React fortsatt holder."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Bytt mellom global profil og profiler for hvert fellesskap"
|
||||
msgid "Switch device"
|
||||
msgstr "Bytt enhet"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Bytt pris"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Bytt til {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Bytt til direkte inndata"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Bytt til månedlig"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Bytte til månedlig fakturering?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Bytt til forrige fellesskap eller DM-er"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Bytt til én kolonne"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Bytte til den nye prisen?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Bytt til denne kontoen"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Bytt til to kolonner"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Bytt til årlig"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Bytte til årlig fakturering?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Tagger ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Tagger må være mellom 2 og {maxLength} tegn og alfanumeriske."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Trer i kraft ved neste fornyelse. Vi legger til en {creditLabel}-kreditt fra din nåværende månedlige betaling, så din første årlige kostnad blir <0>{firstRenewalPriceLabel}</0>. Fremtidige årlige fornyelser vil være {renewalPrice}/år."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Trer i kraft ved neste fornyelse. Abonnementet ditt forblir månedlig frem til da, og neste fornyelse vil være <0>{renewalPrice}/år</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Trer i kraft ved neste fornyelse. Abonnementet ditt forblir årlig frem til da, og din neste fornyelse vil være <0>{renewalPrice}/måned</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Trer i kraft umiddelbart. En forholdsmessig justering kan gjelde via {PAYMENT_PROVIDER_NAME}. Din neste fornyelse vil være <0>{renewalPrice}/måned</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Trer i kraft umiddelbart. En forholdsmessig kostnad kan påløpe via {PAYMENT_PROVIDER_NAME}. Din neste fornyelse vil være <0>{renewalPrice}/år</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "Navnet ble tilbakestilt til det det var før. Prøv igjen om en liten st
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "Den nye kanalen vil gjenbruke tillatelsene fra <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "Den nye prisen er allerede planlagt for {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "Den nye talekanalen vil gjenbruke tillatelsene, brukergrensen og bithastigheten fra <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Skrivestatus"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "UI-komponenter"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Synlighet"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visionær"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "Vi sender ikke bekreftelsestekster til dette landet. Prøv et mobilnumme
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Vi fant et eksisterende {premiumProductFullName}-abonnement for denne kontoen. Administrer det i den sikre faktureringsportalen for å oppdatere betalingsdetaljer eller sjekke fornyelsesstatus. Hvis du nettopp betalte, vent et minutt og åpne denne siden på nytt."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Vi har senket prisen på {premiumProductName} i Brasil. Det koster nå {monthlyPrice} i måneden eller {yearlyPrice} i året."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Årlig {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Årlig gave"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Årlig oppgradering planlagt for <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Årlig oppgradering er planlagt til <0>{pendingChangeDate}</0>. Første årlige kostnad: {pendingInitialPriceLabel} etter en {pendingCreditPriceLabel}kreditt. Fremtidige årlige fornyelser: {pendingRecurringPriceLabel}/år."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Årlig oppgradering planlagt for <0>{pendingChangeDate}</0>. Første årlige kostnad: {pendingInitialPriceLabel}. Fremtidige årlige fornyelser: {pendingRecurringPriceLabel}/år."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Du er i talekanalen"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Du har en eldre pris som ikke lenger er tilgjengelig for nye abonnenter."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Du har en eldre pris. Gjeldende pris for denne planen er {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "GPU-en din koder dette i maskinvare."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Gratisperioden din er over."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Betalingen din var vellykket. Du kan nå lukke denne fanen og gå tilbake til appen."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Den ventende faktureringsendringen din er avbrutt."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "Selve skjermdelingen din kunne ikke publiseres med en kompatibel videoko
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Strømmen din er fortsatt aktiv"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Abonnementet ditt kan ikke flyttes til den nye prisen akkurat nå."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Abonnementet ditt er avsluttet, men <0/> forblir aktivt frem til <1>{graceDate}</1>. Abonner på nytt før den tid for å beholde abonnementshistorikken din."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Abonnementet ditt ble ikke fornyet, men du har fortsatt tilgang til {premiumProductName}-fordeler frem til {formattedGraceDate}. Handle nå, ellers mister du alle fordelene."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Abonnementet ditt er gjenaktivert."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Abonnementet ditt er satt til å avsluttes ved slutten av faktureringsperioden."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Abonnementet ditt er nå endret til månedlig fakturering."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Abonnementet ditt er nå byttet til årlig fakturering."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Abonnementet ditt er aktivt, men fordelene er midlertidig satt på pause."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Abonnementet ditt er allerede satt til å avsluttes ved slutten av faktu
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Abonnementet ditt er ikke satt til å avsluttes, så det er ingenting å gjenaktivere."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Abonnementet ditt flyttes til den nye prisen den {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Abonnementet ditt avsluttes fortsatt den <0>{cancelDate}</0>. Den nåværende prisen er nå {listPriceNewLabel}. Hvis du reaktiverer, kan du bytte til den herfra."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Abonnementet ditt byttes til månedlig fakturering ved neste fornyelse."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Abonnementet ditt byttes til årlig fakturering ved neste fornyelse."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# zakładka} few {# zakładki} many {# zakładek} o
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# społeczność znaleziona} few {# społeczności znalezione} many {# społeczności znalezionych} other {# społeczności znalezionych}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# społeczność jest tymczasowo niedostępna z powodu awarii \"kondensatora strumienia\".} few {# społeczności są tymczasowo niedostępne z powodu awarii \"kondensatora strumienia\".} many {# społeczności jest tymczasowo niedostępnych z powodu awarii \"kondensatora strumienia\".} other {# społeczności są tymczasowo niedostępne z powodu awarii \"kondensatora strumienia\".}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "Subskrybent {premiumProductFullName} od {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "Prywatność odznaki {premiumProductName}"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} jest teraz tańszy. Przejdź z {currentPrice} na {newPrice} miesięcznie od {effectiveDate}, a dziś nic nie zostanie naliczone."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} jest teraz tańszy. Przejdź z {currentPrice} na {newPrice} rocznie od {effectiveDate}, a dziś nic nie zostanie naliczone."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "nazwa hosta, np. {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Dostępna jest aktualizacja Fluxer dla systemu Linux. Wybierz format pakietu dla tego systemu, a {productName} zapisze go lokalnie."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "Dostępna jest niższa cena. Zmiana zacznie obowiązywać od <0>{listPriceEffectiveDate}</0>, a nic innego się nie zmieni."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Działania"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Sterowanie wyrównaniem jest dostępne tylko na szerszych ekranach"
|
||||
msgid "All"
|
||||
msgstr "Wszystkie"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Wszystko <0/> za <1>{effectiveMonthlyPrice}/miesiąc</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Wszystko <0/> za <1>{effectiveYearlyPrice}/rok</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Wszystko <0/> w cenie subskrypcji."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Wszystko <0/>, na zawsze. Bez rozliczeń i odnawiania."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Ustawienia aplikacji"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "Stan aplikacji"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Teraz jestem niedostępny(-a)"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "Korzystając z {productName}, akceptujesz zaktualizowane zasady."
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Pomiń szkielet ładowania"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Anuluj, jeśli chcesz wybrać inną nazwę użytkownika."
|
||||
msgid "Cancel import"
|
||||
msgstr "Anuluj importowanie"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Anuluj zmianę ceny"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Anuluj zaproszenie"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Anuluj zaplanowaną zmianę"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Anuluj subskrypcję"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Anulować subskrypcję?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Anuluj zaplanowaną zmianę, aby zamiast tego przejść na obecną cenę."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Anuluj przesyłanie"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Anuluj roczną aktualizację"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Anulować zaproszenie do znajomych wysłane do {displayName}?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Anulowanie"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Anulowanie"
|
||||
msgid "Cancellation"
|
||||
msgstr "Anulowanie"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Anulowanie nastąpi <0>{cancelDate}</0>. <1/> Pozostaniesz aktywny(-a) do tego czasu."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Formularz zmiany hasła"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Zmiana zaplanowana"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Nie udało się anulować zaproszenia do znajomych. Spróbuj ponownie."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Nie udało się anulować oczekującej zmiany rozliczenia"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Nie udało się anulować subskrypcji"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Nie udało się zmienić cyklu rozliczeniowego"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Nie udało się zmienić ceny"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Nie udało się zduplikować tego kanału"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Nie udało się zakończyć okresu próbnego"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Nie udało się otworzyć wyniku wyszukiwania"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Nie udało się przetworzyć obrazu"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Nie udało się ponownie aktywować subskrypcji"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Utwórz rolę"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Utwórz konto administratora"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Utworzyć czat grupowy z pozostałymi {addableCount} osobami, a pominąć resztę?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Niestandardowe…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Portal klienta"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Wyłącz skrót"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Wyłącz dźwięki"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Wyłącz ochronę DOM tłumacza"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Data końcowa"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Zakończ okres prolongaty"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Wygasa po"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Wygasło {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Wygasło {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Wygasło dnia <0>{expiredDate}</0>. <1/> nie są już aktywne. Możesz ponownie zasubskrybować w dowolnym momencie."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Eksportuj motywy"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Udostępnij sekcję ustawień strefy czasowej tylko dla pracowników."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Funkcja tymczasowo wyłączona"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Funkcje"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Wymuszone włączenie"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Wymuś nieudane ładowanie wiadomości"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Wymuś nieudane wysyłanie wiadomości"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Wymuś ładowanie selektora GIF-ów"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Wymuś ukrycie"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Wymuś ładowanie szkieletu"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Wymuś brak uprawnienia {permissionName}"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Wymuś ostrzeżenie o danych profilu"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Wymuś szkielety profilu"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Wymuś pokazanie"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Wymuś wyświetlanie zastrzeżenia dotyczącego niestandardowego adresu URL"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Wymuś wyświetlanie połączenia głosowego"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Wymuś aktywny tryb slowmode"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Wymuś nieznany typ wiadomości"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Wymuś gotowość aktualizacji"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "Nie udało się załadować GIF-ów"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Prezent: wkrótce wygasa"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Prezent: okres prolongaty (nadal masz dostęp)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Podarowano <0/> do <1>{giftEndDate}</1>. Nie odnawia się automatycznie. Wykorzystaj więcej kodów podarunkowych, aby przedłużyć."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Rozumiem"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Okres prolongaty"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Lewa etykietka"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Starsze sloty na emoji"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Stawka historyczna"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Biblioteka: {count} z {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Dożywotnio"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Miesięcznie"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Miesięcznie {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "Rozliczenia miesięczne rozpoczną się <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "Rozliczenia miesięczne rozpoczną się <0>{pendingChangeDate}</0>. Pierwsza opłata miesięczna: {pendingInitialPriceLabel}. Kolejne odnowienia miesięczne: {pendingRecurringPriceLabel}/miesiąc."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Błąd sieci"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Sieć i wydajność"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Nowy mikrofon"
|
||||
msgid "New password"
|
||||
msgstr "Nowe hasło"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Nowa cena zaplanowana na <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Nowa cena zaplanowana na <0>{pendingChangeDate}</0>. Odnowienia będą kosztować {pendingTargetPriceLabel} od tego momentu."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Nie podano powodu."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Brak ostatnich wzmianek"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Brak pozostałych odbiorców, z którymi można utworzyć grupową wiadomość."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Brak webhooków"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Wyłącz zgłoszenia w aplikacji"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Nie dla ciebie? Wyłącz to w dowolnym momencie."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "Włączone"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "Od <0>{listPriceEffectiveDate}</0> Twoja subskrypcja przejdzie z {listPriceCurrentLabel} na {listPriceNewLabel}. Dziś nic nie zostanie naliczone, a reszta Twojej subskrypcji pozostanie bez zmian."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Bonusy"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Korzyści wstrzymane"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Reakcje"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Reaktywuj"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Odbierz dla siebie"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Zrealizuj kod podarunkowy"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Próg odnowienia (dni)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Okno odnowienia (dni)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Odnowi się <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Przywróć okno"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Ponów subskrypcję"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Tryb samodzielnego hostowania"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Wymuś tryb samodzielnego hostowania"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Pokaż mój udostępniony ekran"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Pokaż, że piszę"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Pokaż suwaki głośności uczestników dla poszczególnych urządzeń w menu głosowych"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Pokaż sekcję strefy czasowej w ustawieniach profilu (opcja dla administratorów)"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Pomiń ostrzeżenie o linkach zewnętrznych dla wszystkich domen"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Pomiń wywołanie sieciowe po przesłaniu zgłoszenia w aplikacji. Przepływ nadal przechodzi do ekranu sukcesu, dzięki czemu możesz ćwiczyć interfejs użytkownika, ale nic nie jest faktycznie wysyłane do zespołu bezpieczeństwa."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Słowenia"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Wolne wysyłanie załączników"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Zwolnij — poczekaj chwilę, zanim spróbujesz ponownie."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Wolna edycja wiadomości"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Wolne ładowanie wiadomości"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Wolne wysyłanie wiadomości"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Wolne ładowanie profilu"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Wystąpił błąd podczas ładowania członków. Spróbuj ponownie później."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Coś poszło nie tak podczas anulowania oczekującej zmiany rozliczenia. Spróbuj ponownie za chwilę."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Coś poszło nie tak podczas anulowania subskrypcji. Spróbuj ponownie za chwilę."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Coś poszło nie tak podczas zmiany cyklu rozliczeniowego. Spróbuj ponownie za chwilę."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Coś poszło nie tak podczas zmiany ceny. Spróbuj ponownie za chwilę."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Coś poszło nie tak podczas łączenia konta. Możesz zamknąć tę kartę i spróbować ponownie."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Coś poszło nie tak podczas kończenia okresu karencji. Spróbuj ponownie za chwilę."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Podczas ładowania dziennika aktywności wystąpił problem."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Coś poszło nie tak podczas przygotowywania tej naklejki. Spróbuj z innym plikiem lub spróbuj ponownie za chwilę."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Coś poszło nie tak podczas ponownej aktywacji subskrypcji. Spróbuj ponownie za chwilę."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Zacznij od nowa"
|
||||
msgid "Start recording"
|
||||
msgstr "Rozpocznij nagrywanie"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Zacznij wyszukiwanie od <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3>, aby zawęzić wyniki."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Zatrzymaj wiadomości i zaproszenia do znajomych."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Zatrzymaj Neko przed gonieniem kursora, jednocześnie pozwalając na jego przeciąganie i interakcję."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Przestań łatać Node.prototype insertBefore i removeChild. Aplikacja ponownie się zawiesi, gdy tłumacz stron zmieni kolejność węzłów tekstowych, które React nadal przechowuje."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Przełączaj się między profilem globalnym a profilami dla poszczegól
|
||||
msgid "Switch device"
|
||||
msgstr "Przełącz urządzenie"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Zmień cenę"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Przełącz na {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Przełącz na wprowadzanie bezpośrednie"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Przejdź na płatność miesięczną"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Przejść na płatności miesięczne?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Przełącz na poprzednią społeczność lub czaty"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Przełącz na widok jednokolumnowy"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Przejść na nową cenę?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Przełącz na to konto"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Przełącz na dwie kolumny"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Przejdź na plan roczny"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Przejść na płatność roczną?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Tagi ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Tagi muszą mieć od 2 do {maxLength} znaków alfanumerycznych."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Zacznie obowiązywać przy następnym odnowieniu. Z Twojej obecnej miesięcznej płatności odliczymy {creditLabel}, więc Twoja pierwsza roczna opłata wyniesie <0>{firstRenewalPriceLabel}</0>. Kolejne roczne odnowienia będą kosztować {renewalPrice}/rok."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Zacznie obowiązywać przy następnym odnowieniu. Do tego czasu subskrypcja pozostanie miesięczna, a następne odnowienie będzie kosztować <0>{renewalPrice}/rok</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Obowiązuje od następnego odnowienia. Do tego czasu Twoja subskrypcja pozostaje roczna, a następne odnowienie będzie kosztować <0>{renewalPrice}/miesiąc</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Obowiązuje natychmiast. Proporcjonalna korekta może zostać zastosowana za pośrednictwem {PAYMENT_PROVIDER_NAME}. Następne odnowienie będzie kosztować <0>{renewalPrice}/miesiąc</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Obowiązuje natychmiast. Proporcjonalna opłata może zostać naliczona za pośrednictwem {PAYMENT_PROVIDER_NAME}. Następne odnowienie będzie kosztować <0>{renewalPrice}/rok</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "Nazwa została przywrócona do poprzedniej. Spróbuj ponownie za chwilę
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "Nowy kanał będzie używać tych samych uprawnień co <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "Nowa cena jest już zaplanowana na {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "Nowy kanał głosowy będzie ponownie używać uprawnień, limitu użytkowników i przepływności z <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Status pisania"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "Komponenty interfejsu"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Widoczność"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Wizjoner"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "Nie wysyłamy wiadomości weryfikacyjnych do tego kraju. Spróbuj użyć
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Znaleźliśmy istniejącą subskrypcję {premiumProductFullName} dla tego konta. Zarządzaj nią w bezpiecznym portalu płatności, aby zaktualizować dane płatności lub sprawdzić status odnowienia. Jeśli właśnie zapłacono, poczekaj minutę i ponownie otwórz tę stronę."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Obniżyliśmy cenę {premiumProductName} w Brazylii. Teraz kosztuje {monthlyPrice} miesięcznie lub {yearlyPrice} rocznie."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Rocznie {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Prezent roczny"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Roczna aktualizacja zaplanowana na <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Roczna aktualizacja zaplanowana na <0>{pendingChangeDate}</0>. Pierwsza opłata roczna: {pendingInitialPriceLabel} po kredycie {pendingCreditPriceLabel}. Przyszłe odnowienia roczne: {pendingRecurringPriceLabel}/rok."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Roczna aktualizacja zaplanowana na <0>{pendingChangeDate}</0>. Pierwsza opłata roczna: {pendingInitialPriceLabel}. Przyszłe odnowienia roczne: {pendingRecurringPriceLabel}/rok."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Jesteś na kanale głosowym"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Korzystasz ze starszej stawki, która nie jest już dostępna dla nowych subskrybentów."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Korzystasz ze starszej stawki. Obecna cena tego planu to {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "Twój procesor graficzny koduje to sprzętowo."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Twój okres prolongaty dobiegł końca."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Płatność zakończona pomyślnie. Możesz teraz zamknąć tę kartę i wrócić do aplikacji."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Anulowano oczekującą zmianę rozliczenia."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "Nie udało się opublikować udostępniania ekranu za pomocą zgodnego k
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Twój strumień jest nadal aktywny"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Twoja subskrypcja nie może w tej chwili zostać przeniesiona na nową cenę."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Twoja subskrypcja wygasła, ale <0/> pozostanie aktywna do <1>{graceDate}</1>. Ponownie zasubskrybuj przed tą datą, aby zachować historię subskrypcji."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Twoja subskrypcja nie została odnowiona, ale nadal masz dostęp do korzyści {premiumProductName} do {formattedGraceDate}. Podejmij działanie teraz, albo stracisz wszystkie korzyści."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Twoja subskrypcja została ponownie aktywowana."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Twoja subskrypcja zostanie anulowana z końcem bieżącego okresu rozliczeniowego."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Twoja subskrypcja została zmieniona na rozliczenie miesięczne."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Twoja subskrypcja została zmieniona na rozliczenie roczne."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Twoja subskrypcja jest aktywna, ale korzyści są tymczasowo wstrzymane."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Twoja subskrypcja jest już ustawiona do anulowania z końcem okresu roz
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Twoja subskrypcja nie jest ustawiona na anulowanie, więc nie ma nic do ponownej aktywacji."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Twoja subskrypcja przejdzie na nową cenę {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Twoja subskrypcja nadal wygasa <0>{cancelDate}</0>. Obecna cena to teraz {listPriceNewLabel}. Jeśli ponownie aktywujesz, możesz ją tutaj zmienić."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Twoja subskrypcja przełączy się na rozliczenia miesięczne przy następnym odnowieniu."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Twoja subskrypcja zostanie zmieniona na rozliczenie roczne przy następnym odnowieniu."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# item salvo} other {# itens salvos}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# comunidade encontrada} other {# comunidades encontradas}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# comunidade está temporariamente indisponível devido a um defeito no capacitor de fluxo.} other {# comunidades estão temporariamente indisponíveis devido a um defeito no capacitor de fluxo.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "Assinante {premiumProductFullName} desde {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "Privacidade do selo {premiumProductName}"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "O {premiumProductName} custa menos agora. Mude de {currentPrice} para {newPrice} por mês a partir de {effectiveDate}, e nada será cobrado hoje."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "O {premiumProductName} custa menos agora. Mude de {currentPrice} para {newPrice} por ano a partir de {effectiveDate}, e nada será cobrado hoje."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "um nome de host, por exemplo, {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Uma atualização para o ambiente de trabalho Linux está disponível. Escolha o formato do pacote para este sistema e o {productName} salvará localmente."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "Um preço menor está disponível. A alteração entra em vigor em <0>{listPriceEffectiveDate}</0> e não muda mais nada."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Ações"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Os controles de alinhamento estão disponíveis apenas em telas mais lar
|
||||
msgid "All"
|
||||
msgstr "Todos"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Tudo <0/> por <1>{effectiveMonthlyPrice}/mês</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Tudo isso <0/> por <1>{effectiveYearlyPrice}/ano</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Tudo <0/> incluído na sua assinatura."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Tudo <0/>, para sempre. Sem cobranças, sem renovações."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Configurações do aplicativo"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "Estado do aplicativo"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Ausente no momento"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "Ao usar o {productName}, você concorda com as políticas atualizadas."
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Ignorar esqueleto de carregamento"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Cancele se quiser escolher outro nome de usuário."
|
||||
msgid "Cancel import"
|
||||
msgstr "Cancelar importação"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Cancelar alteração de preço"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Cancelar solicitação"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Cancelar mudança agendada"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Cancelar assinatura"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Cancelar assinatura?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Cancele a alteração agendada para mudar para o preço atual."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Cancelar envio"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Cancelar upgrade anual"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Cancelar seu pedido de amizade para {displayName}?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Cancelando"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Cancelando"
|
||||
msgid "Cancellation"
|
||||
msgstr "Cancelamento"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Cancela em <0>{cancelDate}</0>. <1/> permanece ativo até lá."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Formulário de alteração de senha"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Alteração agendada"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Não foi possível cancelar o pedido de amizade. Tente novamente."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Não foi possível cancelar a alteração de cobrança pendente"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Não foi possível cancelar sua assinatura"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Não foi possível alterar seu ciclo de cobrança"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Não foi possível alterar seu preço"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Não foi possível duplicar este canal"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Não foi possível encerrar seu período de carência"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Não foi possível abrir o resultado da pesquisa"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Não foi possível processar a imagem"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Não foi possível reativar sua assinatura"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Criar função"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Criar a conta de administrador"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Criar o grupo de DM com {addableCount} destinatário(s) restante(s) e pular os outros?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Personalizado…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Portal do cliente"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Desativar atalho"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Desativar sons"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Desativar proteção contra travamento do DOM do tradutor"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Data final"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Encerrar período de carência agora"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Expira em"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Expirou em {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Expirou em {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Expirou em <0>{expiredDate}</0>. <1/> não estão mais ativas. Você pode assinar novamente a qualquer momento."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Exportar temas"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Mostrar a seção de fuso horário acessível apenas para funcionários nas configurações do perfil."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Recurso temporariamente desativado"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Recursos"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Ativado à força"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Forçar falha no carregamento de mensagens"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Forçar falha no envio de mensagens"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Forçar carregamento do seletor de GIFs"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Forçar ocultar"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Forçar carregamento do esqueleto"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Forçar sem a permissão {permissionName}"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Forçar aviso de dados do perfil"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Forçar esqueletos de perfil"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Forçar exibição"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Forçar exibição do aviso de URL personalizada"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Forçar exibição da conexão de voz"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Forçar modo lento ativo"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Forçar tipo de mensagem desconhecido"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Forçar atualização pronta"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "Não foi possível carregar os GIFs"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Presente: expira em breve"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Presente: período de carência (ainda tem acesso)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Presenteado <0/> até <1>{giftEndDate}</1>. Não renova automaticamente. Resgate mais códigos de presente para estender."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Entendi"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Período de carência"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Dica esquerda"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Espaços de emoji legados"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Plano antigo"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Biblioteca: {count} de {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Vitalício"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Mensal"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Mensal {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "A cobrança mensal começa em <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "A cobrança mensal começa em <0>{pendingChangeDate}</0>. Primeira cobrança mensal: {pendingInitialPriceLabel}. Renovações mensais futuras: {pendingRecurringPriceLabel}/mês."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Erro de rede"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Rede e desempenho"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Novo microfone"
|
||||
msgid "New password"
|
||||
msgstr "Nova senha"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Novo preço agendado para <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Novo preço agendado para <0>{pendingChangeDate}</0>. As renovações serão {pendingTargetPriceLabel} a partir de então."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Nenhum motivo foi informado."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Nenhuma menção recente"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Não há mais destinatários para criar um grupo de DM."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Nenhum webhook"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Relatórios no app sem operação"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Não é para você? Desative a qualquer momento."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "Ativado"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "Em <0>{listPriceEffectiveDate}</0> sua assinatura muda de {listPriceCurrentLabel} para {listPriceNewLabel}. Nada será cobrado hoje, e o restante da sua assinatura permanece exatamente como está."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Vantagens"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Benefícios pausados"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Reações"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Reativar"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Resgatar para você"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Resgatar código de presente"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Renovar limite (dias)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Renovar janela (dias)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Renova em <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Restaurar janela"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Assinar novamente"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Modo auto-hospedado"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Substituir modo auto-hospedado"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Mostrar minha tela"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Mostrar que estou digitando"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Mostrar controles deslizantes de volume por participante por dispositivo nos menus de voz"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Mostrar configurações de fuso horário do perfil"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Pular o aviso de link externo para todos os domínios"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Pula a chamada de rede quando um relatório no aplicativo é enviado. O fluxo ainda avança para a tela de sucesso para que você possa testar a interface, mas nada é realmente enviado para a equipe de segurança."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Eslovênia"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Upload lento de anexo"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Vá com calma — espere um momento antes de tentar novamente."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Edição lenta de mensagem"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Carregamento lento de mensagens"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Envio lento de mensagens"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Carregamento lento de perfil"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Ocorreu um erro ao carregar os membros. Tente novamente mais tarde."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Algo deu errado ao cancelar a alteração de cobrança pendente. Tente novamente em alguns instantes."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Algo deu errado ao cancelar sua assinatura. Tente novamente em alguns instantes."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Algo deu errado ao alterar seu ciclo de cobrança. Tente novamente em alguns instantes."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Ocorreu um erro ao alterar seu preço. Tente novamente em um momento."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Algo deu errado ao conectar sua conta. Você pode fechar esta aba e tentar novamente."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Algo deu errado ao finalizar seu período de carência. Tente novamente em alguns instantes."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Ocorreu um erro ao carregar o registro de atividades."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Algo deu errado ao preparar este figurinha. Tente outro arquivo ou tente novamente em alguns instantes."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Ocorreu um erro ao reativar sua assinatura. Tente novamente em alguns instantes."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Começar de novo"
|
||||
msgid "Start recording"
|
||||
msgstr "Iniciar gravação"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Comece as pesquisas com <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> para refinar os resultados."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Parar mensagens e pedidos de amizade."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Impede que o Neko persiga seu cursor, mantendo-o arrastável e interativo."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Parar de aplicar patches em Node.prototype insertBefore e removeChild. O app vai travar novamente quando um tradutor de página reparentar nós de texto que o React ainda mantém."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Alterne entre seu perfil global e perfis por comunidade"
|
||||
msgid "Switch device"
|
||||
msgstr "Trocar de aparelho"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Mudar preço"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Mudar para {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Mudar para entrada direta"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Mudar para mensal"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Mudar para cobrança mensal?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Mudar para a comunidade anterior ou DMs"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Mudar para coluna única"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Mudar para o novo preço?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Mudar para esta conta"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Mudar para duas colunas"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Mudar para o plano anual"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Mudar para cobrança anual?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Tags ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "As tags devem ter de 2 a {maxLength} caracteres e ser alfanuméricas."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Entra em vigor na sua próxima renovação. Aplicaremos um crédito de {creditLabel} do seu pagamento mensal atual, então sua primeira cobrança anual será de <0>{firstRenewalPriceLabel}</0>. As futuras renovações anuais serão de {renewalPrice}/ano."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Entra em vigor na sua próxima renovação. Sua assinatura permanece mensal até lá, e sua próxima renovação será <0>{renewalPrice}/ano</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Entra em vigor na sua próxima renovação. Sua assinatura permanece anual até lá, e sua próxima renovação será de <0>{renewalPrice}/mês</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Entra em vigor imediatamente. Um ajuste proporcional pode ser aplicado via {PAYMENT_PROVIDER_NAME}. Sua próxima renovação será de <0>{renewalPrice}/mês</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Entra em vigor imediatamente. Uma cobrança proporcional pode ser aplicada via {PAYMENT_PROVIDER_NAME}. Sua próxima renovação será <0>{renewalPrice}/ano</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "O nome foi revertido para o que era antes. Tente novamente em alguns ins
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "O novo canal vai reutilizar as permissões de <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "O novo preço já está agendado para {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "O novo canal de voz vai reutilizar as permissões, limite de usuários e taxa de bits de <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Digitando"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "Componentes da interface"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Visibilidade"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visionário"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "Não enviamos SMS de verificação para este país. Tente um número de
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Encontramos uma assinatura {premiumProductFullName} existente para esta conta. Gerencie-a no portal de cobrança seguro para atualizar os detalhes de pagamento ou verificar o status da renovação. Se você acabou de pagar, aguarde um minuto e reabra esta página."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Reduzimos o preço do {premiumProductName} no Brasil. Agora custa {monthlyPrice} por mês ou {yearlyPrice} por ano."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Anual {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Presente anual"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Upgrade anual agendado para <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Upgrade anual agendado para <0>{pendingChangeDate}</0>. Primeira cobrança anual: {pendingInitialPriceLabel} após um crédito de {pendingCreditPriceLabel}. Renovações anuais futuras: {pendingRecurringPriceLabel}/ano."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Upgrade anual agendado para <0>{pendingChangeDate}</0>. Primeira cobrança anual: {pendingInitialPriceLabel}. Renovações anuais futuras: {pendingRecurringPriceLabel}/ano."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Você está no canal de voz"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Você está em uma tarifa antiga que não está mais disponível para novos assinantes."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Você está em um plano com preço antigo. O preço atual para este plano é {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "Sua GPU codifica isso em hardware."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Seu período de carência terminou."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Seu pagamento foi concluído. Você já pode fechar esta aba e voltar para o aplicativo."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Sua alteração de cobrança pendente foi cancelada."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "Seu compartilhamento de tela não pôde ser publicado com um codec de v
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Sua transmissão ainda está ativa"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Sua assinatura não pode ser movida para o novo preço no momento."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Sua assinatura terminou, mas <0/> permanece ativa até <1>{graceDate}</1>. Assine novamente antes disso para manter seu histórico de assinante."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Sua assinatura não foi renovada, mas você ainda tem acesso aos benefícios do {premiumProductName} até {formattedGraceDate}. Tome uma atitude agora ou você perderá todos os benefícios."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Sua assinatura foi reativada."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Sua assinatura foi configurada para ser cancelada no final do período de cobrança."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Sua assinatura foi alterada para cobrança mensal."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Sua assinatura foi alterada para cobrança anual."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Sua assinatura está ativa, mas os benefícios estão temporariamente pausados."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Sua assinatura já está programada para ser cancelada no fim do períod
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Sua assinatura não está configurada para ser cancelada, então não há nada para reativar."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Sua assinatura muda para o novo preço em {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Sua assinatura ainda termina em <0>{cancelDate}</0>. O preço atual é {listPriceNewLabel}. Se você reativar, poderá mudar para ele a partir daqui."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Sua assinatura mudará para cobrança mensal na próxima renovação."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Sua assinatura mudará para cobrança anual na próxima renovação."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# marcaj} other {# marcaje}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# comunitate găsită} other {# comunități găsite}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# comunitate este temporar indisponibilă din cauza unei defecțiuni a condensatorului de flux.} other {# comunități sunt temporar indisponibile din cauza unei defecțiuni a condensatorului de flux.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "Abonat {premiumProductFullName} din {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "Confidențialitatea insignei {premiumProductName}"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} costă mai puțin acum. Treci de la {currentPrice} la {newPrice} pe lună începând cu {effectiveDate}, iar astăzi nu se percepe nicio taxă."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} costă mai puțin acum. Comută de la {currentPrice} la {newPrice} pe an începând cu {effectiveDate}, iar astăzi nu se percepe nicio taxă."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "un nume de gazdă, de ex. {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Este disponibilă o actualizare pentru Fluxer pe sistemul Linux. Alegeți formatul pachetului pentru acest sistem, iar {productName} îl va salva local."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "Un preț mai mic este disponibil. Trecerea va intra în vigoare pe <0>{listPriceEffectiveDate}</0> și nu schimbă nimic altceva."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Acțiuni"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Comenzile de aliniere sunt disponibile doar pe ecrane mai late"
|
||||
msgid "All"
|
||||
msgstr "Toate"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Totul <0/> pentru <1>{effectiveMonthlyPrice}/lună</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Totul <0/> pentru <1>{effectiveYearlyPrice}/an</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Toate <0/> incluse în abonamentul tău."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Totul <0/>, pentru totdeauna. Fără facturare, fără reînnoiri."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Setări aplicație"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "Stare aplicație"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Plecat(ă) acum"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "Prin utilizarea {productName}, ești de acord cu politicile actualizate.
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Ignorare schelet de încărcare"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Anulează dacă vrei să alegi un alt nume de utilizator."
|
||||
msgid "Cancel import"
|
||||
msgstr "Anulează importul"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Anulează modificarea prețului"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Anulează cererea"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Anulează schimbarea programată"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Anulează abonamentul"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Anulezi abonamentul?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Anulează modificarea programată pentru a trece la prețul curent."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Anulează încărcarea"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Anulează upgrade-ul anual"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Anulezi cererea de prietenie către {displayName}?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Se anulează"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Se anulează"
|
||||
msgid "Cancellation"
|
||||
msgstr "Anulare"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Se anulează pe <0>{cancelDate}</0>. <1/> Rămâi activ până atunci."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Formular de schimbare a parolei"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Modificare programată"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Nu s-a putut anula cererea de prietenie. Încearcă din nou."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Nu s-a putut anula modificarea facturării în așteptare"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Anularea abonamentului nu a reușit"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Nu s-a putut schimba ciclul de facturare"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Nu am putut schimba prețul"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Nu am putut duplica acest canal"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Perioada de grație nu a putut fi încheiată"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Nu s-a putut deschide rezultatul căutării"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Nu s-a putut procesa imaginea"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Nu s-a putut reactiva abonamentul"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Creează rol"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Creează contul de administrator"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Creezi grupul de chat cu ceilalți {addableCount} destinatari și îi omiți pe ceilalți?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Personalizat…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Portal clienți"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Dezactivează scurtătura"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Dezactivează sunetele"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Dezactivează protecția DOM pentru traducere"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Data de încheiere"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Termină perioada de grație acum"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Expiră după"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Expirat la {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Expirat la {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "A expirat la <0>{expiredDate}</0>. <1/> nu mai sunt active. Te poți reabona oricând."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Exportă teme"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Afișează secțiunea cu setările de fus orar disponibile doar pentru personal."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Funcție dezactivată temporar"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Funcționalități"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Forțat activat"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Forțează eșecul încărcării mesajelor"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Forțează eșecul trimiterii mesajelor"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Forțează încărcarea selectorului GIF"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Forțează ascunderea"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Forțare încărcare schelet"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Forțează fără permisiunea {permissionName}"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Forțează avertismentul privind datele de profil"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Forțează scheletele de profil"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Afișare forțată"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Forțează afișarea avertismentului privind URL-ul personalizat"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Forțează afișarea conexiunii vocale"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Forțează modul lent activ"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Forțează tipul de mesaj necunoscut"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Forțează actualizarea disponibilă"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "GIF-urile nu s-au putut încărca"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Cadou: expiră în curând"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Cadou: perioadă de grație (încă ai acces)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Primit cadou <0/> până la <1>{giftEndDate}</1>. Nu se reînnoiește automat. Valorifică mai multe coduri cadou pentru a prelungi."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Am înțeles"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Perioadă de grație"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Sfat de utilizare stânga"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Sloturi emoji vechi"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Tarif vechi"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Bibliotecă: {count} din {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Pe viață"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Lunar"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Lunar {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "Facturarea lunară începe la <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "Facturarea lunară începe la <0>{pendingChangeDate}</0>. Prima taxă lunară: {pendingInitialPriceLabel}. Reînnoiri lunare viitoare: {pendingRecurringPriceLabel}/lună."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Eroare de rețea"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Rețea și performanță"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Microfon nou"
|
||||
msgid "New password"
|
||||
msgstr "Parolă nouă"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Preț nou programat pentru <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Prețul nou este programat pentru <0>{pendingChangeDate}</0>. Reînnoirile vor fi {pendingTargetPriceLabel} de atunci."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Nu a fost furnizat niciun motiv."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Fără mențiuni recente"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Nu mai sunt destinatari pentru a crea un grup de mesaje directe."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Niciun webhook"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Rapoarte în aplicație fără operație"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Nu e pentru tine? O poți dezactiva oricând."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "Activat"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "Pe <0>{listPriceEffectiveDate}</0> abonamentul tău trece de la {listPriceCurrentLabel} la {listPriceNewLabel}. Nu se percepe nicio taxă astăzi, iar restul abonamentului rămâne exact așa cum este."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Beneficii"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Beneficii întrerupte"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Reacții"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Reactivează"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Revendică pentru tine"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Valorifică codul cadou"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Prag reînnoire (zile)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Interval reînnoire (zile)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Se reînnoiește la <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Restabiliți fereastra"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Reabonează-te"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Mod auto-găzduit"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Suprascriere mod auto-găzduit"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Afișează ecranul meu"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Arată-mă că tastez"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Afișează glisoare de volum pentru participanți pe dispozitiv în meniurile vocale"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Afișează setările pentru fusul orar al profilului (disponibil doar pentru personal)"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Omitere avertisment link extern pentru toate domeniile"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Omiterea apelului de rețea la trimiterea unui raport în aplicație. Fluxul avansează în continuare la ecranul de succes, astfel încât să poți exersa interfața de utilizare, dar nimic nu este trimis echipei de siguranță."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Slovenia"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Încărcare lentă atașament"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Mai încet — așteaptă un moment înainte de a încerca din nou."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Editare lentă mesaj"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Încărcare lentă mesaje"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Trimitere lentă mesaje"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Încărcare lentă profil"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "A apărut o eroare la încărcarea membrilor. Încearcă din nou mai târziu."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "A apărut o eroare la anularea modificării programate a ciclului de facturare Plutonium. Te rugăm să încerci din nou mai târziu."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "A apărut o eroare la anularea abonamentului. Te rugăm să încerci din nou mai târziu."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "A apărut o eroare la modificarea ciclului de facturare. Te rugăm să încerci din nou mai târziu."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "A apărut o eroare la schimbarea prețului. Te rugăm să încerci din nou peste o clipă."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Ceva nu a mers bine la conectarea contului tău. Poți închide această filă și poți încerca din nou."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "A apărut o eroare la încheierea perioadei de grație. Te rugăm să încerci din nou mai târziu."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "A apărut o eroare la încărcarea jurnalului de activitate."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "A apărut o eroare la pregătirea acestui sticker. Încearcă alt fișier sau mai încearcă o dată mai târziu."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "A apărut o problemă la reactivarea abonamentului. Te rugăm să încerci din nou mai târziu."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Ia-o de la capăt"
|
||||
msgid "Start recording"
|
||||
msgstr "Începe înregistrarea"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Începeți căutările cu <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> pentru a restrânge rezultatele."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Oprește mesajele și cererile de prietenie."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Oprește-l pe Neko să-ți urmărească cursorul, păstrându-l în același timp trasabil și interactiv."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Oprește patch-urile pentru Node.prototype insertBefore și removeChild. Aplicația se va bloca din nou când un traducător de pagină va re-părinți noduri de text pe care React încă le deține."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Comută între profilul tău global și profilurile pentru fiecare comun
|
||||
msgid "Switch device"
|
||||
msgstr "Schimbă dispozitivul"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Schimbă prețul"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Comută la {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Treci la introducerea directă"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Treci la abonamentul lunar"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Treci la facturarea lunară?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Comută la comunitatea sau conversațiile anterioare"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Treci la o singură coloană"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Schimbi la noul preț?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Comută la acest cont"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Treci la două coloane"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Treci la abonamentul anual"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Treci la facturarea anuală?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Etichete ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Etichetele trebuie să aibă între 2 și {maxLength} caractere și să fie alfanumerice."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Intră în vigoare la următoarea reînnoire. Vom aplica un credit {creditLabel} din plata ta lunară curentă, astfel încât prima taxă anuală va fi <0>{firstRenewalPriceLabel}</0>. Reînnoirile anuale viitoare vor fi {renewalPrice}/an."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Intră în vigoare la următoarea reînnoire. Abonamentul tău rămâne lunar până atunci, iar următoarea reînnoire va fi <0>{renewalPrice}/an</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Intră în vigoare la următoarea reînnoire. Abonamentul tău rămâne anual până atunci, iar următoarea reînnoire va fi <0>{renewalPrice}/lună</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Intră în vigoare imediat. O ajustare proporțională se poate aplica prin {PAYMENT_PROVIDER_NAME}. Următoarea reînnoire va fi <0>{renewalPrice}/lună</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Intră în vigoare imediat. Se poate aplica o taxă proporțională prin {PAYMENT_PROVIDER_NAME}. Următoarea reînnoire va fi <0>{renewalPrice}/an</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "Numele a revenit la cel anterior. Te rugăm să încerci din nou mai tâ
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "Noul canal va reutiliza permisiunile de la <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "Noul preț este deja programat pentru {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "Noul canal vocal va reutiliza permisiunile, limita de utilizatori și rata de biți de la <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Stare tastare"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "Componente UI"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Vizibilitate"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Vizionar"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "Nu trimitem mesaje de verificare în această țară. Încearcă un num
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Am găsit un abonament {premiumProductFullName} existent pentru acest cont. Gestionează-l în portalul de facturare securizat pentru a actualiza detaliile de plată sau a verifica starea reînnoirii. Dacă tocmai ai plătit, așteaptă un minut și redeschide această pagină."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Am redus prețul pentru {premiumProductName} în Brazilia. Acum este {monthlyPrice} pe lună sau {yearlyPrice} pe an."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Anual {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Cadou anual"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Actualizare anuală programată pentru <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Upgrade anual programat pentru <0>{pendingChangeDate}</0>. Prima taxă anuală: {pendingInitialPriceLabel} după un credit de {pendingCreditPriceLabel}. Reînnoiri anuale viitoare: {pendingRecurringPriceLabel}/an."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Actualizare anuală programată pentru <0>{pendingChangeDate}</0>. Prima taxă anuală: {pendingInitialPriceLabel}. Reînnoiri anuale viitoare: {pendingRecurringPriceLabel}/an."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Ești în canalul vocal"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Beneficiezi de o rată veche, care nu mai este disponibilă pentru abonații noi."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Beneficiați de un tarif anterior. Prețul actual pentru acest plan este {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "Placa ta grafică face codarea hardware."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Perioada de grație s-a încheiat."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Plata a fost efectuată cu succes. Acum poți închide această filă și reveni la aplicație."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Modificarea facturării în așteptare a fost anulată."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "Partajarea ecranului dvs. nu a putut fi publicată cu un codec video com
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Streamul tău este încă live"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Abonamentul tău nu poate fi mutat la noul preț momentan."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Abonamentul tău s-a încheiat, dar <0/> rămâne activ până la <1>{graceDate}</1>. Reabonează-te înainte de această dată pentru a-ți păstra istoricul de abonat."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Abonamentul tău nu a putut fi reînnoit, dar ai în continuare acces la beneficiile {premiumProductName} până la data de {formattedGraceDate}. Acționează acum sau vei pierde toate beneficiile."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Abonamentul tău a fost reactivat."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Abonamentul tău a fost setat să se anuleze la sfârșitul perioadei de facturare."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Abonamentul tău a fost trecut la facturarea lunară."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Abonamentul tău a fost comutat la facturarea anuală."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Abonamentul tău este activ, dar beneficiile sunt întrerupte temporar."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Abonamentul tău este deja setat să se anuleze la sfârșitul perioadei
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Abonamentul tău nu este setat pentru anulare, așa că nu este nimic de reactivat."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Abonamentul tău trece la noul preț pe {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Abonamentul tău se încheie pe <0>{cancelDate}</0>. Prețul curent este acum {listPriceNewLabel}. Dacă reactivezi, îl poți schimba de aici."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Abonamentul tău va trece la facturarea lunară la următoarea reînnoire."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Abonamentul tău va trece la facturarea anuală la următoarea reînnoire."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# закладка} few {# закладки} many {
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# сообщество найдено} few {# сообщества найдено} many {# сообществ найдено} other {# сообществ найдено}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# сообщество временно недоступно из-за неисправности потокового накопителя.} few {# сообщества временно недоступны из-за неисправности потокового накопителя.} many {# сообществ временно недоступны из-за неисправности потокового накопителя.} other {# сообществ временно недоступны из-за неисправности потокового накопителя.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "Подписчик {premiumProductFullName} с {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "Конфиденциальность значка {premiumProductName}"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} теперь стоит дешевле. Переключитесь с {currentPrice} на {newPrice} в месяц начиная с {effectiveDate}, и сегодня с вас ничего не спишется."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} теперь стоит дешевле. Перейдите с {currentPrice} на {newPrice} в год начиная с {effectiveDate}, и сегодня с вас ничего не спишется."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "имя хоста, например {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Доступно обновление для Linux. Выберите формат пакета для этой системы, и {productName} сохранит его локально."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "Доступна более низкая цена. Переключение вступит в силу <0>{listPriceEffectiveDate}</0> и ничто другое не изменится."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Действия"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Настройки выравнивания доступны тольк
|
||||
msgid "All"
|
||||
msgstr "Все"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Все <0/> за <1>{effectiveMonthlyPrice}/месяц</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Все <0/> за <1>{effectiveYearlyPrice}/год</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Все <0/> включено в вашу подписку."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Всё <0/>, навсегда. Без счетов и продлений."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Настройки приложения"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "Состояние приложения"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Сейчас нет на месте"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "Используя {productName}, вы соглашаетесь с об
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Пропустить скелет загрузки"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Отмените, если хотите выбрать другое им
|
||||
msgid "Cancel import"
|
||||
msgstr "Отменить импорт"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Отменить изменение цены"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Отменить запрос"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Отменить запланированную смену тарифа"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Отменить подписку"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Отменить подписку?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Отменить запланированное изменение и перейти на текущую цену."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Отменить загрузку"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Отменить годовое обновление"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Отменить запрос в друзья для {displayName}?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Отмена подписки"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Отмена подписки"
|
||||
msgid "Cancellation"
|
||||
msgstr "Отмена"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Отмена <0>{cancelDate}</0>. <1/> Оставайтесь активными до этого времени."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Форма смены пароля"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Изменение запланировано"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Не удалось отменить запрос на добавление в друзья. Повторите попытку."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Не удалось отменить ожидающее изменение тарифа"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Не удалось отменить подписку"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Не удалось изменить цикл оплаты"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Не удалось изменить вашу цену"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Не удалось дублировать этот канал"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Не удалось завершить льготный период"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Не удалось открыть результат поиска"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Не удалось обработать изображение"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Не удалось повторно активировать подписку"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Создать роль"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Создайте учетную запись администратора"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Создать групповой чат с оставшимися {addableCount} участниками, пропустив остальных?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Другое…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Портал поддержки"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Отключить сочетание клавиш"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Отключить звуки"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Отключить защиту DOM от переводчика"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Дата окончания"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Завершить льготный период"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Истекает через"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Истек {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Истек {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Срок действия истёк <0>{expiredDate}</0>. <1/> больше не активны. Вы можете подписаться снова в любое время."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Экспорт тем"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Показывать раздел с настройками часового пояса, доступный только сотрудникам."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Функция временно отключена"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Функции"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Принудительно включено"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Принудительная загрузка неудачных сообщений"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Принудительно сбойные отправки сообщений"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Принудительная загрузка GIF-стикеров"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Принудительно скрыть"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Принудительная загрузка скелета"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Принудительно отключить разрешение «{permissionName}»"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Всегда показывать предупреждение о данных профиля"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Принудительно показывать скелеты профилей"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Принудительно показать"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Всегда показывать отказ от ответственности для пользовательских URL"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Принудительно показывать голосовое подключение"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Принудительно включить медленный режим"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Принудительно неизвестный тип сообщения"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Принудительное обновление готово"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "Не удалось загрузить GIF-файлы"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Подарок: срок действия скоро истекает"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Подарок: льготный период (доступ пока есть)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Подарено <0/> до <1>{giftEndDate}</1>. Не продлевается автоматически. Активируйте больше подарочных кодов, чтобы продлить."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Понятно"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Льготный период"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Подсказка слева"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Устаревшие слоты для эмодзи"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Старый тариф"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Библиотека: {count} из {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Навсегда"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Ежемесячно"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "В месяц {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "Ежемесячная оплата начинается <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "Ежемесячная оплата начинается <0>{pendingChangeDate}</0>. Первый ежемесячный платеж: {pendingInitialPriceLabel}. Последующие ежемесячные продления: {pendingRecurringPriceLabel}/месяц."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Ошибка сети"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Сеть и производительность"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Новый микрофон"
|
||||
msgid "New password"
|
||||
msgstr "Новый пароль"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Новая цена запланирована на <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Новая цена запланирована на <0>{pendingChangeDate}</0>. С этого момента продление будет стоить {pendingTargetPriceLabel}."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Причина не указана."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Нет недавних упоминаний"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Не осталось получателей для создания группового чата."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Вебхуков нет"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Отчеты в приложении без операций"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Не подходит? Отключите в любой момент."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "Вкл"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "С <0>{listPriceEffectiveDate}</0> ваша подписка изменится с {listPriceCurrentLabel} на {listPriceNewLabel}. Сегодня списание не произойдет, а остальная часть вашей подписки останется без изменений."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Бонусы"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Привилегии приостановлены"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Реакции"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Возобновить"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Активировать для себя"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Активировать подарочный код"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Порог продления (дней)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Период продления (дней)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Продлевается <0>{renewalDate}</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Восстановить окно"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Подписаться снова"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Режим самостоятельного хостинга"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Принудительный режим самостоятельного размещения"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Показывать мой экран"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Показывать, что я печатаю"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Показывать ползунки громкости участников для каждого устройства в голосовых меню"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Показать настройки часового пояса в профиле"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Пропускать предупреждение о внешних ссылках для всех доменов"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Пропускать сетевой вызов при отправке отчёта в приложении. Процесс всё равно переходит на экран успешной отправки, чтобы вы могли протестировать интерфейс, но ничего не отправляется команде безопасности."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Словения"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Медленная загрузка вложений"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Притормозите — подождите немного, преж
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Медленное редактирование сообщений"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Медленная загрузка сообщений"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Медленная отправка сообщений"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Медленная загрузка профиля"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Не удалось загрузить участников. Повторите попытку позже."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Что-то пошло не так при отмене изменения вашего тарифного плана. Пожалуйста, попробуйте ещё раз через некоторое время."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Что-то пошло не так при отмене подписки. Повторите попытку позже."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Что-то пошло не так при изменении вашего платежного цикла. Пожалуйста, попробуйте еще раз через некоторое время."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Что-то пошло не так при изменении цены. Пожалуйста, попробуйте еще раз через мгновение."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Что-то пошло не так при подключении аккаунта. Вы можете закрыть эту вкладку и попробовать снова."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Что-то пошло не так при завершении льготного периода. Повторите попытку позже."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Что-то пошло не так при загрузке журнал
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Что-то пошло не так при подготовке стикера. Попробуйте другой файл или повторите попытку позже."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Что-то пошло не так при повторной активации подписки. Пожалуйста, попробуйте ещё раз через некоторое время."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Начать сначала"
|
||||
msgid "Start recording"
|
||||
msgstr "Начать запись"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Начните поиск с <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3>, чтобы сузить область поиска."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Остановить сообщения и запросы на доба
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Запретить Неко преследовать курсор, но оставить его перетаскиваемым и интерактивным."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Прекратить патчить Node.prototype insertBefore и removeChild. Приложение снова упадет, когда переводчик страниц перепривяжет текстовые узлы, которые React все еще удерживает."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Переключение между глобальным профиле
|
||||
msgid "Switch device"
|
||||
msgstr "Сменить устройство"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Сменить цену"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Переключиться на {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Переключиться на прямой ввод"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Перейти на ежемесячную оплату"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Перейти на ежемесячную оплату?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Переключиться на предыдущее сообществ
|
||||
msgid "Switch to single column"
|
||||
msgstr "Переключить на одну колонку"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Переключиться на новую цену?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Переключиться на этот аккаунт"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Переключить на две колонки"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Перейти на годовую подписку"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Перейти на годовую оплату?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Теги ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Теги должны содержать от 2 до {maxLength} буквенно-цифровых символов."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Вступит в силу при следующем продлении. Мы применим скидку {creditLabel} к вашему текущему ежемесячному платежу, поэтому первая годовая плата составит <0>{firstRenewalPriceLabel}</0>. Последующие ежегодные продления будут стоить {renewalPrice} в год."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Вступает в силу при следующем продлении. До этого момента ваша подписка останется ежемесячной, а следующее продление будет стоить <0>{renewalPrice}/год</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Вступит в силу при следующем продлении. До этого момента ваша подписка останется годовой, а следующее продление будет стоить <0>{renewalPrice}/месяц</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Вступает в силу немедленно. Может быть применена пропорциональная корректировка через {PAYMENT_PROVIDER_NAME}. Следующее продление будет стоить <0>{renewalPrice}/месяц</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Вступает в силу немедленно. Может взиматься пропорциональная плата через {PAYMENT_PROVIDER_NAME}. Следующее продление будет стоить <0>{renewalPrice}/год</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "Имя было возвращено к предыдущему. Пожа
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "Новый канал будет использовать те же разрешения, что и <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "Новая цена уже запланирована на {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "Новый голосовой канал будет использовать те же разрешения, лимит пользователей и битрейт, что и <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Статус набора сообщения"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "Компоненты интерфейса"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Видимость"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visionary"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "Мы не отправляем проверочные SMS в эту ст
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Мы нашли активную подписку {premiumProductFullName} для этого аккаунта. Управляйте ею на защищённом портале оплаты, чтобы обновить платёжные данные или проверить статус продления. Если вы только что оплатили, подождите минуту и снова откройте эту страницу."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Мы снизили цену на {premiumProductName} в Бразилии. Теперь он стоит {monthlyPrice} в месяц или {yearlyPrice} в год."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "За год {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Ежегодный подарок"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Ежегодное обновление запланировано на <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Ежегодное обновление запланировано на <0>{pendingChangeDate}</0>. Первая ежегодная оплата: {pendingInitialPriceLabel} после кредита {pendingCreditPriceLabel}. Будущие ежегодные продления: {pendingRecurringPriceLabel}/год."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Ежегодное обновление запланировано на <0>{pendingChangeDate}</0>. Первая ежегодная оплата: {pendingInitialPriceLabel}. Последующие ежегодные продления: {pendingRecurringPriceLabel}/год."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Вы в голосовом чате"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Вы используете старый тариф, который больше недоступен для новых подписчиков."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Вы используете тариф по старой цене. Текущая цена этого плана: {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "Ваш графический процессор кодирует это аппаратно."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Ваш льготный период окончен."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Оплата прошла успешно. Теперь можно закрыть эту вкладку и вернуться в приложение."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Ваше отложенное изменение тарифа отменено."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "Не удалось опубликовать демонстрацию э
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Ваша трансляция продолжается"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Ваша подписка не может быть переведена на новую цену прямо сейчас."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Срок вашей подписки истёк, но <0/> она будет активна до <1>{graceDate}</1>. Оформите подписку повторно до этой даты, чтобы сохранить историю подписок."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Ваша подписка не была продлена, но у вас всё ещё есть доступ к преимуществам {premiumProductName} до {formattedGraceDate}. Примите меры сейчас, иначе вы потеряете все преимущества."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Ваша подписка возобновлена."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Ваша подписка будет отменена в конце расчетного периода."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Ваша подписка переведена на ежемесячную оплату."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Ваша подписка переведена на годовую оплату."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Ваша подписка активна, но бонусы временно приостановлены."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Ваша подписка уже настроена на отмену в
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Ваша подписка не отменена, поэтому нечего реактивировать."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Ваша подписка перейдет на новую цену {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Ваша подписка всё равно закончится <0>{cancelDate}</0>. Теперь текущая цена — {listPriceNewLabel}. Если вы снова активируете подписку, вы сможете переключиться на неё здесь."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Ваша подписка перейдёт на ежемесячную оплату при следующем продлении."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Ваша подписка перейдёт на годовую оплату при следующем продлении."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# bokmärke} other {# bokmärken}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# community hittades} other {# communities hittades}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# community är tillfälligt otillgänglig på grund av ett fel i flödeskondensatorn.} other {# communities är tillfälligt otillgängliga på grund av ett fel i flödeskondensatorn.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "Prenumerant på {premiumProductFullName} sedan {premiumSinceFormatted}"
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "Sekretess för {premiumProductName}-märke"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} kostar mindre nu. Byt från {currentPrice} till {newPrice} i månaden från och med {effectiveDate}, och inget debiteras idag."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} kostar mindre nu. Byt från {currentPrice} till {newPrice} per år från och med {effectiveDate}, och inget debiteras idag."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "ett värdnamn, t.ex. {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "En Linux-uppdatering för skrivbordet är tillgänglig. Välj paketformat för det här systemet så kommer {productName} att spara det lokalt."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "Ett lägre pris finns tillgängligt. Byte träder i kraft den <0>{listPriceEffectiveDate}</0> och ändrar inget annat."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "Åtgärder"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Justeringskontroller är bara tillgängliga på bredare skärmar"
|
||||
msgid "All"
|
||||
msgstr "Alla"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Allt <0/> för <1>{effectiveMonthlyPrice}/månad</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Allt <0/> för <1>{effectiveYearlyPrice}/år</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Allt <0/> ingår i din prenumeration."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Allt <0/>, för alltid. Ingen fakturering, inga förnyelser."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Appinställningar"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "Appstatus"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Borta just nu"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "Genom att använda {productName} godkänner du de uppdaterade policyerna
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Hoppa över laddningsskelett"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Avbryt om du vill välja ett annat användarnamn istället."
|
||||
msgid "Cancel import"
|
||||
msgstr "Avbryt import"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Avbryt prisförändring"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "Avbryt förfrågan"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Avbryt schemalagt byte"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Avbryt prenumeration"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Avbryta prenumerationen?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Avbryt den schemalagda ändringen för att istället byta till den aktuella prisnivån."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Avbryt uppladdning"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Avbryt årlig uppgradering"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "Avbryta din vänförfrågan till {displayName}?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "Avbryter"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "Avbryter"
|
||||
msgid "Cancellation"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "Avbryts den <0>{cancelDate}</0>. <1/> Förblir aktiv fram till dess."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Ändra lösenord"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Ändring schemalagd"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Kunde inte avbryta vänförfrågan. Försök igen."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Kunde inte avbryta din väntande faktureringsändring"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Kunde inte avbryta din prenumeration"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Kunde inte ändra din faktureringsperiod"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Kunde inte ändra ditt pris"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Kunde inte duplicera kanalen"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Kunde inte avsluta din respitperiod"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Kunde inte öppna sökresultatet"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Kunde inte bearbeta bilden"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Kunde inte återaktivera din prenumeration"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Skapa roll"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Skapa administratörskontot"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Skapa gruppmeddelandet med de återstående {addableCount} mottagarna och hoppa över de andra?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Anpassad…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Kundportal"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Inaktivera genväg"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Stäng av ljud"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Inaktivera DOM-skydd för översättning"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Slutdatum"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Avsluta respitperioden nu"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Upphör efter"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "Gick ut den {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "Gick ut den {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "Gick ut den <0>{expiredDate}</0>. <1/> är inte längre aktiva. Du kan prenumerera igen när som helst."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Exportera teman"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Visa tidszonsinställningarna för personal i profilinställningarna."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Funktionen är tillfälligt inaktiverad"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Funktioner"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Tvinga aktivering"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Tvinga misslyckade meddelandeladdningar"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Tvinga misslyckade meddelanden"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "Tvinga laddning av GIF-väljare"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Tvinga dölj"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "Tvinga laddning av skelett"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "Tvinga ingen behörighet för {permissionName}"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Tvinga fram varning för profildata"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Tvinga profilskelett"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Visa alltid"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Tvinga fram visning av friskrivning för anpassad URL"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Visa röstanslutning alltid"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Tvinga långsamt läge aktivt"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Tvinga okänd meddelandetyp"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Tvinga fram uppdatering redo"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "Det gick inte att läsa in GIF-bilder"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Gåva: upphör snart"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Gåva: respitperiod (har fortfarande åtkomst)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "Gåva <0/> till <1>{giftEndDate}</1>. Förnyas inte automatiskt. Lös in fler presentkoder för att förlänga."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Jag förstår"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Anståndsperiod"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Vänster verktygstips"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Äldre emojiplatser"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Äldre pris"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Bibliotek: {count} av {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Livstid"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Månadsvis"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Månatligen {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "Månatlig fakturering startar den <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "Månatlig fakturering startar den <0>{pendingChangeDate}</0>. Första månadsavgiften: {pendingInitialPriceLabel}. Framtida månatliga förnyelser: {pendingRecurringPriceLabel}/månad."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Nätverksfel"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Nätverk och prestanda"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Ny mikrofon"
|
||||
msgid "New password"
|
||||
msgstr "Nytt lösenord"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Nytt pris planerat till <0>{pendingChangeDate}</0>."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Nytt pris planerat till <0>{pendingChangeDate}</0>. Förnyelser kommer att vara {pendingTargetPriceLabel} från och med då."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Ingen anledning angavs."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Inga omnämnanden nyligen"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Inga återstående mottagare att skapa en gruppchatt med."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Inga webhooks"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Inaktivera rapporter i appen"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Inte för dig? Stäng av när som helst."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "På"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "Den <0>{listPriceEffectiveDate}</0> flyttas din prenumeration från {listPriceCurrentLabel} till {listPriceNewLabel}. Ingenting debiteras idag, och resten av din prenumeration förblir exakt som den är."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Förmåner"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Förmåner pausade"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Reaktioner"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Återaktivera"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Lös in själv"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Lös in presentkod"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Förnyelsetröskel (dagar)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Förnyelsefönster (dagar)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "Förnyas den <0>{renewalDate}.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Återställ fönster"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Återprenumerera"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Självhostat läge"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Åsidosätt egenvärdsläge"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Visa min skärmdelning"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Visa mig själv som skriver"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Visa volymreglage för deltagare per enhet i röstmenyer"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Visa inställningar för profilens tidszon"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Hoppa över varningen för externa länkar för alla domäner"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Hoppa över nätverksanropet när en rapport i appen skickas. Flödet går fortfarande vidare till skärmen för lyckad åtgärd så att du kan öva på gränssnittet, men inget skickas faktiskt till säkerhetsteamet."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Slovenien"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Långsam bilageuppladdning"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Sakta ner – vänta ett ögonblick innan du försöker igen."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Långsam meddelanderedigering"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Långsam inläsning av meddelanden"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Långsam meddelandesändning"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Långsam profilinläsning"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Något gick fel när medlemmarna skulle laddas. Försök igen senare."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Något gick fel när din väntande faktureringsändring skulle avbrytas. Försök igen om en liten stund."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Något gick fel när din prenumeration skulle avslutas. Försök igen om en liten stund."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Något gick fel när faktureringsperioden skulle ändras. Försök igen om en liten stund."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Något gick fel när priset ändrades. Försök igen om en stund."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Något gick fel när vi skulle ansluta ditt konto. Du kan stänga den här fliken och försöka igen."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Något gick fel när din respitperiod skulle avslutas. Försök igen om en liten stund."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Något gick fel när aktivitetshistoriken skulle laddas."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Något gick fel när de förberedde den här stickern. Prova en annan fil eller försök igen om en stund."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Något gick fel när vi försökte återaktivera din prenumeration. Försök igen om en liten stund."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Börja om"
|
||||
msgid "Start recording"
|
||||
msgstr "Starta inspelning"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Börja sökningar med <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> för att begränsa resultaten."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Stoppa meddelanden och vänförfrågningar."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "Sluta låta Neko jaga muspekaren, men behåll den dra- och interaktiv."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Sluta patcha Node.prototype insertBefore och removeChild. Appen kraschar igen när en sidöversättare flyttar om textnoder som React fortfarande håller i."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Växla mellan din globala profil och profiler per community"
|
||||
msgid "Switch device"
|
||||
msgstr "Byt enhet"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Byt pris"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "Byt till {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Byt till direktinmatning"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Byt till månadsvis"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Byta till månadsbetalning?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Växla till föregående community eller DM"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Växla till enkelkolumn"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Byta till det nya priset?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Byt till det här kontot"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "Växla till två kolumner"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Byt till årsvis"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Byta till årsfakturering?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Taggar ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Taggar måste vara 2 till {maxLength} tecken långa och alfanumeriska."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Träder i kraft vid nästa förnyelse. Vi drar av en {creditLabel}-kredit från din nuvarande månadsbetalning, så din första årsavgift blir <0>{firstRenewalPriceLabel}</0>. Framtida årliga förnyelser kommer att vara {renewalPrice}/år."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Träder i kraft vid nästa förnyelse. Din prenumeration förblir månatlig fram till dess, och din nästa förnyelse kommer att vara <0>{renewalPrice}/år</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Träder i kraft vid nästa förnyelse. Din prenumeration förblir årlig fram till dess, och din nästa förnyelse blir <0>{renewalPrice}/månad</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Träder i kraft omedelbart. En proportionell justering kan tillämpas via {PAYMENT_PROVIDER_NAME}. Din nästa förnyelse kommer att vara <0>{renewalPrice}/månad</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Träder i kraft omedelbart. En proportionell avgift kan tillkomma via {PAYMENT_PROVIDER_NAME}. Din nästa förnyelse blir <0>{renewalPrice}/år</0>."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "Namnet återställdes till det tidigare. Försök igen om en liten stund
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "Den nya kanalen kommer att återanvända behörigheterna från <0>{channelLabel}</0>."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "Det nya priset är redan schemalagt för {effectiveDate}."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "Den nya röstkanalen kommer att återanvända behörigheterna, användargränsen och bithastigheten från <0>{channelLabel}</0>."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Skrivstatus"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "Gränssnittskomponenter"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Synlighet"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Visionär"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "Vi skickar inte verifieringstexter till det här landet. Prova ett mobil
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Vi hittade en befintlig {premiumProductFullName}-prenumeration för det här kontot. Hantera den i den säkra faktureringsportalen för att uppdatera betalningsuppgifter eller kontrollera förnyelsestatus. Om du precis har betalat, vänta en minut och öppna den här sidan igen."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Vi har sänkt priset på {premiumProductName} i Brasilien. Det kostar nu {monthlyPrice} i månaden eller {yearlyPrice} om året."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Årligen {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Årlig gåva"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Årlig uppgradering schemalagd till <0>{pendingChangeDate}</0>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Årlig uppgradering schemalagd till <0>{pendingChangeDate}</0>. Första årsavgiften: {pendingInitialPriceLabel} efter en {pendingCreditPriceLabel}kredit. Framtida årliga förnyelser: {pendingRecurringPriceLabel}/år."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Årlig uppgradering schemalagd till <0>{pendingChangeDate}</0>. Första årsavgift: {pendingInitialPriceLabel}. Framtida årliga förnyelser: {pendingRecurringPriceLabel}/år."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Du är i röstkanalen"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Du har en äldre prisplan som inte längre är tillgänglig för nya prenumeranter."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Du har ett äldre pris. Det nuvarande priset för den här planen är {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "Din GPU kodar detta i maskinvara."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Din respitperiod har löpt ut."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Betalningen lyckades. Du kan nu stänga den här fliken och återgå till appen."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Din väntande faktureringsändring har avbrutits."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "Din skärmdelning kunde inte publiceras med en kompatibel videokodare, s
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Din stream är fortfarande aktiv"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Din prenumeration kan inte flyttas till det nya priset just nu."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Ditt abonnemang har avslutats, men <0/> förblir aktivt till <1>{graceDate}</1>. Förnya abonnemanget innan dess för att behålla din abonnemangshistorik."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Din prenumeration förnyades inte, men du har fortfarande tillgång till förmånerna med {premiumProductName} fram till {formattedGraceDate}. Vidta åtgärder nu, annars förlorar du alla förmåner."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Din prenumeration har återaktiverats."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Din prenumeration är inställd på att avslutas i slutet av din faktureringsperiod."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Din prenumeration har ändrats till månadsdebitering."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Din prenumeration har bytts till årsfakturering."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Din prenumeration är aktiv men förmånerna är tillfälligt pausade."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Din prenumeration är redan inställd på att avslutas i slutet av din f
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Din prenumeration är inte inställd på att avslutas, så det finns inget att återaktivera."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Din prenumeration flyttas till det nya priset den {effectiveDate}."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Din prenumeration löper fortfarande ut den <0>{cancelDate}</0>. Det aktuella priset är nu {listPriceNewLabel}. Om du återaktiverar kan du byta till det härifrån."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Din prenumeration kommer att övergå till månadsdebitering vid nästa förnyelse."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Din prenumeration kommer att byta till årsfakturering vid nästa förnyelse."
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, other {# รายการ}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# ชุมชนที่พบ} other {# ชุมชนที่พบ}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# ชุมชนไม่พร้อมใช้งานชั่วคราว เนื่องจากเครื่องฟลักซ์คาปาซิเตอร์ทำงานผิดปกติ} other {# ชุมชนไม่พร้อมใช้งานชั่วคราว เนื่องจากเครื่องฟลักซ์คาปาซิเตอร์ทำงานผิดปกติ}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "ผู้สมัครใช้ {premiumProductFullName} ตั้ง
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "ความเป็นส่วนตัวของป้าย {premiumProductName}"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} ราคาถูกลงแล้ว เปลี่ยนจาก {currentPrice} เป็น {newPrice} ต่อเดือน เริ่มตั้งแต่วันที่ {effectiveDate} และจะไม่มีการเรียกเก็บเงินในวันนี้"
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} ราคาถูกลงแล้ว เปลี่ยนจาก {currentPrice} เป็น {newPrice} ต่อปี เริ่มตั้งแต่วันที่ {effectiveDate} และจะไม่มีการเรียกเก็บเงินใดๆ ในวันนี้"
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "ชื่อโฮสต์ เช่น {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "มีการอัปเดตสำหรับ Fluxer บนระบบปฏิบัติการ Linux เลือกรูปแบบแพ็กเกจสำหรับระบบนี้ แล้ว {productName} จะบันทึกไว้ในเครื่อง"
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "มีราคาที่ถูกกว่า การเปลี่ยนจะมีผลในวันที่ <0>{listPriceEffectiveDate}</0> และจะไม่เปลี่ยนแปลงสิ่งอื่นใด"
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "การดำเนินการ"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "การควบคุมการจัดเรียงมีให
|
||||
msgid "All"
|
||||
msgstr "ทั้งหมด"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "ทั้งหมด <0/> ในราคา <1>{effectiveMonthlyPrice}/เดือน</1>"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "ทั้งหมด <0/> ในราคา <1>{effectiveYearlyPrice}/ปี</1>"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "รวม <0/> ทั้งหมดที่มาพร้อมกับการสมัครของคุณ"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "ทั้งหมด <0/> ตลอดไป ไม่มีการเรียกเก็บเงิน ไม่มีการต่ออายุ"
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "การตั้งค่าแอป"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "สถานะแอป"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "ไม่อยู่ตอนนี้"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "การใช้ {productName} ถือว่าคุณยอมร
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "ข้ามโครงร่างการโหลด"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "ยกเลิกหากต้องการเลือกชื่
|
||||
msgid "Cancel import"
|
||||
msgstr "ยกเลิกการนำเข้า"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "ยกเลิกการเปลี่ยนแปลงราคา"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "ยกเลิกคำขอ"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "ยกเลิกการเปลี่ยนที่กำหนดเวลาไว้"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "ยกเลิกการสมัครสมาชิก"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "ยกเลิกการสมัครสมาชิกใช่หรือไม่"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "ยกเลิกการเปลี่ยนแปลงที่กำหนดไว้เพื่อเปลี่ยนไปใช้ราคาปัจจุบันแทน"
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "ยกเลิกการอัปโหลด"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "ยกเลิกการอัปเกรดรายปี"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "ยกเลิกคำขอเป็นเพื่อนที่ส่งถึง {displayName} ใช่หรือไม่"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "กำลังยกเลิก"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "กำลังยกเลิก"
|
||||
msgid "Cancellation"
|
||||
msgstr "การยกเลิก"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "จะยกเลิกในวันที่ <0>{cancelDate}</0> <1/> ยังคงใช้งานได้จนถึงวันนั้น"
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "แบบฟอร์มเปลี่ยนรหัสผ่าน"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "กำหนดการเปลี่ยนแปลงแล้ว"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "ยกเลิกคำขอเป็นเพื่อนไม่ได้ ลองอีกครั้ง"
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "ยกเลิกการเปลี่ยนแปลงการเรียกเก็บเงินที่รอดำเนินการไม่ได้"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "ยกเลิกการสมัครสมาชิกไม่ได้"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "เปลี่ยนรอบบิลไม่ได้"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "ไม่สามารถเปลี่ยนราคาของคุณได้"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "ไม่สามารถคัดลอกช่องนี้ได้"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "สิ้นสุดช่วงผ่อนผันไม่ได้"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "เปิดผลการค้นหาไม่ได้"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "ประมวลผลรูปภาพไม่ได้"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "เปิดใช้งานการสมัครสมาชิกของคุณอีกครั้งไม่ได้"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "สร้างบทบาท"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "สร้างบัญชีผู้ดูแลระบบ"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "สร้างกลุ่ม DM กับผู้รับที่เหลืออีก {addableCount} คนและข้ามคนอื่นใช่หรือไม่"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "กำหนดเอง…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "พอร์ทัลลูกค้า"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "ปิดใช้งานปุ่มลัด"
|
||||
msgid "Disable sounds"
|
||||
msgstr "ปิดเสียงแจ้งเตือน"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "ปิดการป้องกัน DOM ของตัวแปล"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "วันที่สิ้นสุด"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "สิ้นสุดช่วงผ่อนผันตอนนี้"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "หมดอายุใน"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "หมดอายุเมื่อ {date}"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "หมดอายุเมื่อ {earliest}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "หมดอายุเมื่อ <0>{expiredDate}</0> <1/> ไม่ทำงานแล้ว คุณสามารถสมัครใหม่ได้ทุกเมื่อ"
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "ส่งออกธีม"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "แสดงส่วนการตั้งค่าเขตเวลาสำหรับผู้ดูแลระบบในโปรไฟล์"
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "ปิดใช้งานฟีเจอร์ชั่วคราว
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "คุณสมบัติ"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "บังคับเปิดใช้งาน"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "บังคับโหลดข้อความไม่สำเร็จ"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "บังคับส่งข้อความไม่สำเร็จ"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "บังคับโหลดตัวเลือก GIF"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "ซ่อน"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "บังคับโหลดโครงร่าง"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "บังคับไม่มีสิทธิ์ {permissionName}"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "บังคับแสดงคำเตือนข้อมูลโปรไฟล์"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "บังคับโครงร่างโปรไฟล์"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "บังคับแสดง"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "บังคับแสดงข้อจำกัดความรับผิดชอบ URL ที่กำหนดเอง"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "บังคับแสดงการเชื่อมต่อเสียง"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "บังคับเปิดโหมดหน่วงเวลา"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "บังคับให้เป็นประเภทข้อความที่ไม่รู้จัก"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "บังคับอัปเดตพร้อมใช้งาน"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "ไม่สามารถโหลด GIF ได้"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "ของขวัญ: กำลังจะหมดอายุ"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "ของขวัญ: ระยะเวลาผ่อนผัน (ยังคงเข้าถึงได้)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "ได้รับของขวัญ <0/> จนถึง <1>{giftEndDate}</1> จะไม่ต่ออายุอัตโนมัติ แลกใช้รหัสของขวัญเพิ่มเพื่อขยายเวลา"
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "รับทราบ"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "ช่วงผ่อนผัน"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "คำแนะนำด้านซ้าย"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "ช่องอิโมจิแบบเดิม"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "เรทราคาเดิม"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "คลัง: {count} จาก {max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "ตลอดชีพ"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "รายเดือน"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "รายเดือน {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "การเรียกเก็บเงินรายเดือนจะเริ่มในวันที่ <0>{pendingChangeDate}</0>"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "การเรียกเก็บเงินรายเดือนจะเริ่มในวันที่ <0>{pendingChangeDate}</0> ค่าบริการรายเดือนครั้งแรก: {pendingInitialPriceLabel} การต่ออายุรายเดือนในอนาคต: {pendingRecurringPriceLabel}/เดือน"
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "ข้อผิดพลาดเครือข่าย"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "เครือข่ายและประสิทธิภาพ"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "ไมโครโฟนใหม่"
|
||||
msgid "New password"
|
||||
msgstr "รหัสผ่านใหม่"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "ราคาใหม่จะเริ่มใช้ในวันที่ <0>{pendingChangeDate}</0>"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "ราคาใหม่มีผลในวันที่ <0>{pendingChangeDate}</0> การต่ออายุจะเป็น {pendingTargetPriceLabel} ตั้งแต่นั้นเป็นต้นไป"
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "ไม่ได้ระบุเหตุผล"
|
||||
msgid "No recent mentions"
|
||||
msgstr "ไม่มีการกล่าวถึงล่าสุด"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "ไม่มีผู้รับที่เหลือให้สร้างกลุ่ม DM ด้วย"
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "ไม่มี Webhook"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "รายงานในแอปแบบไม่ดำเนินการ"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "ไม่ถูกใจใช่ไหม ปิดได้ทุก
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "เปิด"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "ในวันที่ <0>{listPriceEffectiveDate}</0> การสมัครสมาชิกของคุณจะเปลี่ยนจาก {listPriceCurrentLabel} เป็น {listPriceNewLabel} จะยังไม่มีการเรียกเก็บเงินใดๆ ในวันนี้ และส่วนที่เหลือของการสมัครสมาชิกของคุณจะยังคงเหมือนเดิมทุกประการ"
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "สิทธิพิเศษ"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "สิทธิประโยชน์หยุดชั่วคราว"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "การแสดงความรู้สึก"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "เปิดใช้งานอีกครั้ง"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "แลกให้ตัวเอง"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "แลกรหัสของขวัญ"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "ระยะเวลาต่ออายุ (วัน)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "หน้าต่างต่ออายุ (วัน)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "ต่ออายุในวันที่ <0>{renewalDate}</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "กู้คืนหน้าต่าง"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "สมัครใหม่"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "โหมดโฮสต์เอง"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "โหมดโฮสต์เอง"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "แสดงการแชร์หน้าจอของฉัน"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "แสดงว่าฉันกำลังพิมพ์"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "แสดงแถบเลื่อนระดับเสียงของผู้เข้าร่วมตามอุปกรณ์ในเมนูเสียง"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "แสดงการตั้งค่าเขตเวลาในโปรไฟล์"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "ข้ามคำเตือนลิงก์ภายนอกสำหรับทุกโดเมน"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "ข้ามการเรียกเครือข่ายเมื่อส่งรายงานในแอป โฟลว์จะยังคงดำเนินการต่อไปยังหน้าจอสำเร็จเพื่อให้คุณสามารถทดสอบ UI ได้ แต่จะไม่มีการส่งสิ่งใดไปยังทีมความปลอดภัยจริง"
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "สโลวีเนีย"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "อัปโหลดไฟล์แนบช้า"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "ช้าลงหน่อย — โปรดรอสักครู
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "แก้ไขข้อความช้า"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "โหลดข้อความช้า"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "ส่งข้อความช้า"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "โหลดโปรไฟล์ช้า"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "มีบางอย่างผิดพลาดในการโหลดสมาชิก โปรดลองอีกครั้งในภายหลัง"
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "เกิดข้อผิดพลาดขณะยกเลิกการเปลี่ยนแปลงการเรียกเก็บเงินที่รอดำเนินการของคุณ โปรดลองอีกครั้งในภายหลัง"
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "เกิดข้อผิดพลาดขณะยกเลิกการสมัครสมาชิกของคุณ โปรดลองอีกครั้งในภายหลัง"
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "เกิดข้อผิดพลาดขณะเปลี่ยนรอบบิลของคุณ โปรดลองอีกครั้งในภายหลัง"
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "เกิดข้อผิดพลาดขณะเปลี่ยนราคาของคุณ โปรดลองอีกครั้งในสักครู่"
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "เกิดข้อผิดพลาดในการเชื่อมต่อบัญชีของคุณ คุณสามารถปิดแท็บนี้แล้วลองอีกครั้ง"
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "เกิดข้อผิดพลาดขณะสิ้นสุดช่วงผ่อนผันของคุณ โปรดลองอีกครั้งในภายหลัง"
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "เกิดข้อผิดพลาดขณะโหลดบัน
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "เกิดข้อผิดพลาดขณะเตรียมสติกเกอร์นี้ ลองใช้ไฟล์อื่นหรือลองอีกครั้งในภายหลัง"
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "เกิดข้อผิดพลาดขณะเปิดใช้งานการสมัครสมาชิกของคุณอีกครั้ง โปรดลองอีกครั้งในภายหลัง"
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "เริ่มใหม่"
|
||||
msgid "Start recording"
|
||||
msgstr "เริ่มบันทึก"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "เริ่มค้นหาด้วย <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> เพื่อจำกัดผลลัพธ์ให้แคบลง"
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "หยุดรับข้อความและคำขอเป็
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "หยุดไม่ให้ Neko ไล่ตามเคอร์เซอร์ของคุณ แต่ยังคงลากและโต้ตอบได้"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "หยุดแก้ไข Node.prototype insertBefore และ removeChild แอปจะล่มอีกครั้งเมื่อตัวแปลหน้าเว็บจัดเรียงโหนดข้อความใหม่ที่ React ยังคงอ้างถึง"
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "สลับไปมาระหว่างโปรไฟล์ส่
|
||||
msgid "Switch device"
|
||||
msgstr "เปลี่ยนอุปกรณ์"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "เปลี่ยนราคา"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "เปลี่ยนเป็น {listPriceNewLabel}"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "เปลี่ยนเป็นพิมพ์ข้อความ"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "เปลี่ยนเป็นรายเดือน"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "เปลี่ยนเป็นจ่ายรายเดือนไหม?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "สลับไปคอมมูนิตี้หรือแชทส
|
||||
msgid "Switch to single column"
|
||||
msgstr "เปลี่ยนเป็นคอลัมน์เดียว"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "เปลี่ยนเป็นราคาใหม่หรือไม่"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "สลับไปบัญชีนี้"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "เปลี่ยนเป็นสองคอลัมน์"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "เปลี่ยนเป็นรายปี"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "เปลี่ยนเป็นจ่ายรายปีไหม?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "แท็ก ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "แท็กต้องมีความยาว 2 ถึง {maxLength} ตัวอักษร และเป็นตัวอักษรหรือตัวเลขเท่านั้น"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "จะมีผลในการต่ออายุครั้งถัดไป เราจะใช้เครดิต {creditLabel} จากการชำระเงินรายเดือนปัจจุบันของคุณ ดังนั้นค่าบริการรายปีครั้งแรกของคุณจะอยู่ที่ <0>{firstRenewalPriceLabel}</0> การต่ออายุรายปีในอนาคตจะอยู่ที่ {renewalPrice}/ปี"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "มีผลเมื่อถึงรอบการต่ออายุครั้งถัดไป การสมัครของคุณจะยังคงเป็นรายเดือนจนถึงตอนนั้น และการต่ออายุครั้งถัดไปของคุณจะเป็น <0>{renewalPrice}/ปี</0>"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "จะมีผลในการต่ออายุครั้งถัดไป การสมัครของคุณจะยังคงเป็นรายปีจนถึงตอนนั้น และการต่ออายุครั้งถัดไปของคุณจะเป็น <0>{renewalPrice}/เดือน</0>"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "มีผลทันที อาจมีการปรับเปลี่ยนตามสัดส่วนผ่าน {PAYMENT_PROVIDER_NAME} การต่ออายุครั้งถัดไปของคุณจะอยู่ที่ <0>{renewalPrice}/เดือน</0>"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "มีผลทันที อาจมีการเรียกเก็บเงินตามสัดส่วนผ่าน {PAYMENT_PROVIDER_NAME} การต่ออายุครั้งถัดไปของคุณคือ <0>{renewalPrice}/ปี</0>"
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "ชื่อถูกเปลี่ยนกลับเป็นชื
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "ช่องใหม่จะใช้สิทธิ์จาก <0>{channelLabel}</0> ซ้ำ"
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "ราคาใหม่ได้ถูกกำหนดไว้แล้วสำหรับ {effectiveDate}"
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "ช่องเสียงใหม่จะใช้สิทธิ์, การจำกัดผู้ใช้ และบิตเรตจาก <0>{channelLabel}</0> ซ้ำ"
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "สถานะกำลังพิมพ์"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "ส่วนประกอบ UI"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "การมองเห็น"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "ผู้มีวิสัยทัศน์"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "เราไม่ส่งข้อความยืนยันไป
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "เราพบการสมัครสมาชิก {premiumProductFullName} สำหรับบัญชีนี้แล้ว จัดการได้ในพอร์ทัลการเรียกเก็บเงินที่ปลอดภัยเพื่ออัปเดตรายละเอียดการชำระเงินหรือตรวจสอบสถานะการต่ออายุ หากคุณเพิ่งชำระเงิน โปรดรอสักครู่แล้วเปิดหน้านี้อีกครั้ง"
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "เราได้ลดราคา {premiumProductName} ในบราซิลแล้ว ตอนนี้ราคาเพียง {monthlyPrice} ต่อเดือน หรือ {yearlyPrice} ต่อปี"
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "รายปี {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "ของขวัญประจำปี"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "กำหนดการอัปเกรดรายปีสำหรับ <0>{pendingChangeDate}</0>"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "กำหนดการอัปเกรดรายปีสำหรับ <0>{pendingChangeDate}</0> ค่าบริการรายปีครั้งแรก: {pendingInitialPriceLabel} หลังจากได้รับเครดิต {pendingCreditPriceLabel} การต่ออายุรายปีในอนาคต: {pendingRecurringPriceLabel}/ปี"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "กำหนดการอัปเกรดรายปีสำหรับ <0>{pendingChangeDate}</0> ค่าบริการรายปีครั้งแรก: {pendingInitialPriceLabel} การต่ออายุรายปีในอนาคต: {pendingRecurringPriceLabel}/ปี"
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "คุณอยู่ในช่องเสียงแล้ว"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "คุณกำลังใช้เรตราคาเดิมที่ไม่มีให้สำหรับสมาชิกใหม่แล้ว"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "คุณใช้ราคาเดิมอยู่ ราคาปัจจุบันสำหรับแพ็กเกจนี้คือ {currentSubscriptionListPriceLabel}"
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "GPU ของคุณเข้ารหัสด้วยฮาร์ดแวร์"
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "ช่วงผ่อนผันของคุณสิ้นสุดลงแล้ว"
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "ชำระเงินสำเร็จแล้ว ปิดแท็บนี้แล้วกลับไปที่แอปได้เลย"
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "ยกเลิกการเปลี่ยนแปลงการเรียกเก็บเงินที่รอดำเนินการแล้ว"
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "การแชร์หน้าจอของคุณไม่สา
|
||||
msgid "Your stream is still live"
|
||||
msgstr "สตรีมของคุณยังคงถ่ายทอดสดอยู่"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "ขณะนี้การสมัครใช้งานของคุณไม่สามารถเปลี่ยนเป็นราคาใหม่ได้"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "การสมัครของคุณสิ้นสุดลงแล้ว แต่ <0/> ยังคงใช้งานได้จนถึง <1>{graceDate}</1> สมัครใหม่ก่อนถึงวันดังกล่าวเพื่อรักษาสถิติการเป็นสมาชิกของคุณ"
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "การสมัครของคุณต่ออายุไม่สำเร็จ แต่คุณยังคงเข้าถึงสิทธิประโยชน์ของ {premiumProductName} ได้จนถึงวันที่ {formattedGraceDate} ดำเนินการตอนนี้ มิฉะนั้นคุณจะสูญเสียสิทธิประโยชน์ทั้งหมด"
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "การสมัครของคุณเปิดใช้งานอีกครั้งแล้ว"
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "ระบบจะยกเลิกการเป็นสมาชิกของคุณเมื่อสิ้นสุดรอบบิล"
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "เปลี่ยนการเรียกเก็บเงินเป็นรายเดือนแล้ว"
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "เปลี่ยนการเรียกเก็บเงินเป็นรายปีแล้ว"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "การสมัครของคุณใช้งานอยู่ แต่สิทธิพิเศษถูกระงับชั่วคราว"
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "การสมัครของคุณถูกตั้งค่า
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "การสมัครของคุณไม่ได้ตั้งค่าให้ยกเลิก จึงไม่มีอะไรให้เปิดใช้งานอีกครั้ง"
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "การสมัครใช้งานของคุณจะเปลี่ยนไปใช้ราคาใหม่ในวันที่ {effectiveDate}"
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "การสมัครของคุณจะสิ้นสุดในวันที่ <0>{cancelDate}</0> ขณะนี้ราคาอยู่ที่ {listPriceNewLabel} หากคุณเปิดใช้งานอีกครั้ง คุณสามารถเปลี่ยนไปใช้ราคานี้ได้จากที่นี่"
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "การสมัครของคุณจะเปลี่ยนเป็นการเรียกเก็บเงินรายเดือนเมื่อถึงรอบการต่ออายุครั้งถัดไป"
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "การสมัครของคุณจะเปลี่ยนเป็นการเรียกเก็บเงินรายปีในการต่ออายุครั้งถัดไป"
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ msgstr "{count, plural, one {# yer işareti} other {# yer işaretleri}}"
|
||||
msgid "{count, plural, one {# community found} other {# communities found}}"
|
||||
msgstr "{count, plural, one {# topluluk bulundu} other {# topluluk bulundu}}"
|
||||
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1951
|
||||
#: src/features/app/components/layout/GuildsLayout.tsx:1953
|
||||
msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}"
|
||||
msgstr "{count, plural, one {# topluluk, bir \"flux kapasitörü\" arızası nedeniyle geçici olarak kullanılamıyor.} other {# topluluk, bir \"flux kapasitörü\" arızası nedeniyle geçici olarak kullanılamıyor.}}"
|
||||
|
||||
@@ -960,6 +960,16 @@ msgstr "{premiumProductFullName} abonesi (başlangıç: {premiumSinceFormatted})
|
||||
msgid "{premiumProductName} badge privacy"
|
||||
msgstr "{premiumProductName} rozeti gizliliği"
|
||||
|
||||
#. Nagbar body shown to monthly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are monthly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:13
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a month starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} artık daha ucuz. Aylık {currentPrice} yerine ayda {newPrice} ödemeye geçin, {effectiveDate} tarihinden itibaren geçerli olacak ve bugün hiçbir ücret alınmayacak."
|
||||
|
||||
#. Nagbar body shown to yearly subscribers who are still billed the older, higher price after a price cut. {premiumProductName} is the short paid product name. {currentPrice} and {newPrice} are yearly currency amounts already formatted and localized by code, and {effectiveDate} is a date already formatted and localized by code; never write an amount or a date into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:19
|
||||
msgid "{premiumProductName} costs less now. Switch from {currentPrice} to {newPrice} a year starting {effectiveDate}, and nothing is charged today."
|
||||
msgstr "{premiumProductName} artık daha ucuz. Yıllık {currentPrice} yerine yıllık {newPrice} planına geçin, {effectiveDate} tarihinden itibaren geçerli olacak ve bugün hiçbir ücret alınmayacak."
|
||||
|
||||
#. Link label that opens the premium perks list. premiumProductName is the premium plan name.
|
||||
#: src/features/app/components/dialogs/components/PerksButton.tsx:10
|
||||
msgid "{premiumProductName} perks"
|
||||
@@ -1884,6 +1894,11 @@ msgstr "bir ana bilgisayar adı, örn. {exampleDomain}"
|
||||
msgid "A Linux desktop update is available. Choose the package format for this system and {productName} will save it locally."
|
||||
msgstr "Linux masaüstü için bir güncelleme mevcut. Bu sistem için paket biçimini seçin ve {productName} uygulaması bunu yerel olarak kaydedecektir."
|
||||
|
||||
#. Plutonium subscription card line offering a move to a lower price. {listPriceEffectiveDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:682
|
||||
msgid "A lower price is available. Switching takes effect on <0>{listPriceEffectiveDate}</0> and changes nothing else."
|
||||
msgstr "Daha düşük bir fiyat mevcut. Geçiş <0>{listPriceEffectiveDate}</0> tarihinde geçerli olacak ve başka hiçbir şeyi değiştirmez."
|
||||
|
||||
#. Duration label component for an elapsed call. Shown when the call lasted about a minute.
|
||||
#: src/features/channel/components/CallMessage.tsx:35
|
||||
msgid "a minute"
|
||||
@@ -2176,7 +2191,7 @@ msgstr "İşlemler"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning the paid subscription is active.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:370
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:445
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperToolsShared.ts:37
|
||||
#: src/features/user/components/settings_utils/search_index/DevicesIndex.ts:19
|
||||
msgid "Active"
|
||||
@@ -2835,19 +2850,19 @@ msgstr "Hizalama kontrolleri yalnızca daha geniş ekranlarda kullanılabilir"
|
||||
msgid "All"
|
||||
msgstr "Tümü"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:447
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:522
|
||||
msgid "All <0/> for <1>{effectiveMonthlyPrice}/month</1>."
|
||||
msgstr "Hepsi <0/> <1>{effectiveMonthlyPrice}/ay</1> karşılığında."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:469
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:544
|
||||
msgid "All <0/> for <1>{effectiveYearlyPrice}/year</1>."
|
||||
msgstr "Hepsi <0/> <1>{effectiveYearlyPrice}/yıl</1>."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:490
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:565
|
||||
msgid "All <0/> included with your subscription."
|
||||
msgstr "Aboneliğinize tüm <0/> dahildir."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:512
|
||||
msgid "All <0/>, forever. No billing, no renewals."
|
||||
msgstr "Hepsi <0/>, sonsuza dek. Faturalandırma yok, yenileme yok."
|
||||
|
||||
@@ -3654,7 +3669,7 @@ msgid "App settings"
|
||||
msgstr "Uygulama ayarları"
|
||||
|
||||
#. Developer options group for overriding app/account state.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47
|
||||
msgid "App state"
|
||||
msgstr "Uygulama durumu"
|
||||
|
||||
@@ -4580,7 +4595,7 @@ msgstr "Şu an çevrimdışı"
|
||||
#. OAuth authorization secondary button. Returns to the previous carousel step.
|
||||
#: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77
|
||||
#: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:150
|
||||
#: src/features/auth/flow/IpAuthorizationScreen.tsx:152
|
||||
#: src/features/channel/components/channel_header/shared.ts:27
|
||||
#: src/features/connection/components/modals/AddConnectionModal.tsx:397
|
||||
#: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164
|
||||
@@ -5464,7 +5479,7 @@ msgstr "{productName} uygulamasını kullanarak güncellenmiş politikaları kab
|
||||
#. Developer option label.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51
|
||||
msgid "Bypass loading skeleton"
|
||||
msgstr "Yükleme iskeletini atla"
|
||||
|
||||
@@ -5732,6 +5747,11 @@ msgstr "Bunun yerine farklı bir kullanıcı adı seçmek istersen iptal et."
|
||||
msgid "Cancel import"
|
||||
msgstr "İçe aktarmayı iptal et"
|
||||
|
||||
#. Billing button that cancels a scheduled move to a lower subscription price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:819
|
||||
msgid "Cancel price change"
|
||||
msgstr "Fiyat değişikliğini iptal et"
|
||||
|
||||
#. Accessible label and tooltip for the cancel-reply button in the reply bar.
|
||||
#: src/features/channel/components/ChannelReplyBar.tsx:66
|
||||
msgid "Cancel reply"
|
||||
@@ -5743,13 +5763,13 @@ msgid "Cancel request"
|
||||
msgstr "İsteği iptal et"
|
||||
|
||||
#. Billing button that cancels a scheduled billing-cycle change.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:668
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:827
|
||||
msgid "Cancel scheduled switch"
|
||||
msgstr "Plan değişikliğini iptal et"
|
||||
|
||||
#. Billing button that starts subscription cancellation.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:683
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:842
|
||||
#: src/features/app/components/dialogs/components/PlutoniumContent.tsx:138
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:31
|
||||
msgid "Cancel subscription"
|
||||
@@ -5759,13 +5779,18 @@ msgstr "Aboneliği iptal et"
|
||||
msgid "Cancel subscription?"
|
||||
msgstr "Aboneliği iptal et?"
|
||||
|
||||
#. Plutonium subscription card hint shown to a subscriber who could move to a lower price but has another billing change already scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:645
|
||||
msgid "Cancel the scheduled change to move to the current price instead."
|
||||
msgstr "Mevcut fiyata geçmek için planlanan değişikliği iptal et."
|
||||
|
||||
#. Button or menu action label in the channel and chat message upload progress. Keep it concise.
|
||||
#: src/features/channel/components/MessageUploadProgress.tsx:21
|
||||
msgid "Cancel upload"
|
||||
msgstr "Yüklemeyi iptal et"
|
||||
|
||||
#. Billing button that cancels a scheduled yearly upgrade.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:823
|
||||
msgid "Cancel yearly upgrade"
|
||||
msgstr "Yıllık yükseltmeyi iptal et"
|
||||
|
||||
@@ -5775,7 +5800,7 @@ msgid "Cancel your friend request to {displayName}?"
|
||||
msgstr "{displayName} adlı kişiye gönderdiğiniz arkadaşlık isteğini iptal edilsin mi?"
|
||||
|
||||
#. Subscription status badge meaning cancellation is scheduled for the renewal date.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:358
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:433
|
||||
msgid "Canceling"
|
||||
msgstr "İptal ediliyor"
|
||||
|
||||
@@ -5784,7 +5809,7 @@ msgstr "İptal ediliyor"
|
||||
msgid "Cancellation"
|
||||
msgstr "İptal"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:424
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:499
|
||||
msgid "Cancels on <0>{cancelDate}</0>. <1/> remain active until then."
|
||||
msgstr "<0>{cancelDate}</0> tarihinde iptal edilecek. <1/> O zamana kadar aktif kalır."
|
||||
|
||||
@@ -6075,7 +6100,7 @@ msgid "Change password form"
|
||||
msgstr "Şifre değiştirme formu"
|
||||
|
||||
#. Subscription status badge meaning a future billing plan change is scheduled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:362
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:437
|
||||
msgid "Change scheduled"
|
||||
msgstr "Değişiklik planlandı"
|
||||
|
||||
@@ -8881,20 +8906,25 @@ msgid "Couldn't cancel the friend request. Try again."
|
||||
msgstr "Arkadaşlık isteği iptal edilemedi. Tekrar deneyin."
|
||||
|
||||
#. Title of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:84
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:86
|
||||
msgid "Couldn't cancel your pending billing change"
|
||||
msgstr "Bekleyen faturalandırma değişikliğiniz iptal edilemedi"
|
||||
|
||||
#. Title of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:24
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:26
|
||||
msgid "Couldn't cancel your subscription"
|
||||
msgstr "Aboneliğiniz iptal edilemedi"
|
||||
|
||||
#. Title of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:76
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:78
|
||||
msgid "Couldn't change your billing cycle"
|
||||
msgstr "Faturalandırma döngünüz değiştirilemedi"
|
||||
|
||||
#. Title of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:111
|
||||
msgid "Couldn't change your price"
|
||||
msgstr "Fiyatınızı değiştiremedik"
|
||||
|
||||
#. Modal title shown when a user-initiated update check fails.
|
||||
#: src/features/updater/commands/UpdaterModalCommands.tsx:104
|
||||
msgid "Couldn't check for updates"
|
||||
@@ -9013,7 +9043,7 @@ msgid "Couldn't duplicate this channel"
|
||||
msgstr "Bu kanal kopyalanamadı"
|
||||
|
||||
#. Title of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:36
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:38
|
||||
msgid "Couldn't end your grace period"
|
||||
msgstr "Ödemesiz süreniz sonlandırılamadı"
|
||||
|
||||
@@ -9091,7 +9121,7 @@ msgstr "Arama sonucu açılamadı"
|
||||
#. Title of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Title of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:30
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:12
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:14
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:29
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:29
|
||||
msgid "Couldn't open the billing portal"
|
||||
@@ -9110,7 +9140,7 @@ msgid "Couldn't process image"
|
||||
msgstr "Resim işlenemedi"
|
||||
|
||||
#. Title of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:48
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:50
|
||||
msgid "Couldn't reactivate your subscription"
|
||||
msgstr "Aboneliğiniz yeniden etkinleştirilemedi"
|
||||
|
||||
@@ -9539,7 +9569,7 @@ msgstr "Rol oluştur"
|
||||
msgid "Create the administrator account"
|
||||
msgstr "Yönetici hesabını oluştur"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94
|
||||
msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?"
|
||||
msgstr "Kalan {addableCount} kişiyle grup DM'i oluşturup diğerlerini atlamak ister misiniz?"
|
||||
|
||||
@@ -9991,7 +10021,7 @@ msgstr "Özel…"
|
||||
|
||||
#. Billing button that opens the external customer portal.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:748
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:39
|
||||
msgid "Customer portal"
|
||||
msgstr "Müşteri portalı"
|
||||
@@ -11271,6 +11301,11 @@ msgstr "Kısayolu devre dışı bırak"
|
||||
msgid "Disable sounds"
|
||||
msgstr "Sesleri kapat"
|
||||
|
||||
#. Developer option label for turning off the page-translator DOM crash guard.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37
|
||||
msgid "Disable translation DOM guard"
|
||||
msgstr "Çeviri DOM koruyucusunu devre dışı bırak"
|
||||
|
||||
#. Button or menu action label in the links tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35
|
||||
msgid "Disable trust all"
|
||||
@@ -12950,7 +12985,7 @@ msgid "End date"
|
||||
msgstr "Bitiş tarihi"
|
||||
|
||||
#. Billing button that ends premium grace period immediately.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:695
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:854
|
||||
msgid "End grace now"
|
||||
msgstr "Ödemesiz dönemi şimdi bitir"
|
||||
|
||||
@@ -13554,7 +13589,7 @@ msgstr "Şu sürenin sonunda sona ersin"
|
||||
#. Error message in the invite list item.
|
||||
#. Short label in the authentication account row. Keep the tone plain and specific.
|
||||
#. Subscription status badge meaning premium access has fully expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:348
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:423
|
||||
#: src/features/auth/components/accounts/AccountRow.tsx:19
|
||||
#: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:41
|
||||
#: src/features/invite/components/InviteListItem.tsx:30
|
||||
@@ -13591,7 +13626,7 @@ msgstr "{date} tarihinde sona erdi"
|
||||
msgid "Expired on {earliest}"
|
||||
msgstr "{earliest} tarihinde sona erdi"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:379
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:454
|
||||
msgid "Expired on <0>{expiredDate}</0>. <1/> are no longer active. You can resubscribe at any time."
|
||||
msgstr "<0>{expiredDate}</0> tarihinde sona erdi. <1/> artık etkin değil. İstediğiniz zaman yeniden abone olabilirsiniz."
|
||||
|
||||
@@ -13680,7 +13715,7 @@ msgid "Export themes"
|
||||
msgstr "Temaları dışa aktar"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
msgid "Expose the staff-only timezone section in profile settings."
|
||||
msgstr "Profil ayarlarında yalnızca çalışanlara özel zaman dilimi bölümünü göster."
|
||||
|
||||
@@ -14182,7 +14217,7 @@ msgstr "Özellik geçici olarak devre dışı bırakıldı"
|
||||
|
||||
#. Developer options group for feature behavior overrides.
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137
|
||||
msgid "Features"
|
||||
msgstr "Özellikler"
|
||||
@@ -14619,17 +14654,17 @@ msgid "Force enabled"
|
||||
msgstr "Zorla etkinleştirildi"
|
||||
|
||||
#. Developer option label for simulating failed message loads.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119
|
||||
msgid "Force failed message loads"
|
||||
msgstr "Mesaj yüklemelerinin başarısız olmasını zorla"
|
||||
|
||||
#. Developer option label for simulating failed message sends.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115
|
||||
msgid "Force failed message sends"
|
||||
msgstr "Mesaj göndermeyi başarısız olarak zorla"
|
||||
|
||||
#. Developer option label for simulating a loading GIF picker.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75
|
||||
msgid "Force GIF picker loading"
|
||||
msgstr "GIF seçici yüklemesini zorla"
|
||||
|
||||
@@ -14641,7 +14676,7 @@ msgstr "Gizlemeye zorla"
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55
|
||||
msgid "Force loading skeleton"
|
||||
msgstr "İskeleti zorla yükle"
|
||||
|
||||
@@ -14661,12 +14696,12 @@ msgid "Force no {permissionName} permission"
|
||||
msgstr "{permissionName} iznini zorla"
|
||||
|
||||
#. Developer option label for always showing profile data warnings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111
|
||||
msgid "Force profile data warning"
|
||||
msgstr "Profil verileri uyarısını zorla"
|
||||
|
||||
#. Developer option label for forcing user profile loading skeletons.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107
|
||||
msgid "Force profile skeletons"
|
||||
msgstr "Profil iskeletlerini zorla"
|
||||
|
||||
@@ -14676,12 +14711,12 @@ msgid "Force show"
|
||||
msgstr "Gösterimi zorla"
|
||||
|
||||
#. Developer option label for always showing a community settings warning.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79
|
||||
msgid "Force show vanity URL disclaimer"
|
||||
msgstr "Özel URL sorumluluk reddini her zaman göster"
|
||||
|
||||
#. Developer option label for always showing the voice connection status bar.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131
|
||||
msgid "Force show voice connection"
|
||||
msgstr "Ses bağlantısını her zaman göster"
|
||||
|
||||
@@ -14690,12 +14725,12 @@ msgid "Force slowmode active"
|
||||
msgstr "Yavaş modu etkinleştirmeye zorla"
|
||||
|
||||
#. Developer option label for rendering messages as unknown message types.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127
|
||||
msgid "Force unknown message type"
|
||||
msgstr "Bilinmeyen mesaj türünü zorla"
|
||||
|
||||
#. Developer option label for simulating an available update.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59
|
||||
msgid "Force update ready"
|
||||
msgstr "Güncellemeyi hazır olarak zorla"
|
||||
|
||||
@@ -15201,7 +15236,7 @@ msgstr "GIF'ler yüklenemedi"
|
||||
|
||||
#. Settings search synonym. Used to match this term when the user types it in the settings search bar.
|
||||
#. Subscription status badge meaning premium access came from a gift.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:368
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:443
|
||||
#: src/features/expressions/components/modals/GiftAcceptModal.tsx:294
|
||||
#: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:79
|
||||
msgid "Gift"
|
||||
@@ -15341,7 +15376,7 @@ msgstr "Hediye: süresi yakında doluyor"
|
||||
msgid "Gift: grace period (still have access)"
|
||||
msgstr "Hediye: ödemesiz dönem (hala erişim var)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:409
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
msgid "Gifted <0/> until <1>{giftEndDate}</1>. Does not renew automatically. Redeem more gift codes to extend."
|
||||
msgstr "<0/> hediye edildi, <1>{giftEndDate}</1> tarihine kadar geçerli. Otomatik yenilenmez. Süreyi uzatmak için daha fazla hediye kodu kullanın."
|
||||
|
||||
@@ -15505,7 +15540,7 @@ msgid "Got it"
|
||||
msgstr "Anladım"
|
||||
|
||||
#. Subscription status badge meaning access remains briefly after subscription end.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:350
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:425
|
||||
msgid "Grace period"
|
||||
msgstr "Ödemesiz dönem"
|
||||
|
||||
@@ -18249,8 +18284,8 @@ msgstr "Sol araç ipucu"
|
||||
msgid "Legacy emoji slots"
|
||||
msgstr "Eski emoji yuvaları"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:462
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:484
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:537
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
msgid "Legacy rate"
|
||||
msgstr "Eski tarife"
|
||||
|
||||
@@ -18329,7 +18364,7 @@ msgstr "Kütüphane: {count}/{max}"
|
||||
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#. Subscription status badge meaning permanent premium access.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:366
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:441
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/OptionPresets.ts:19
|
||||
msgid "Lifetime"
|
||||
msgstr "Ömür boyu"
|
||||
@@ -20234,11 +20269,11 @@ msgstr "Aylık"
|
||||
msgid "Monthly {monthlyPrice}"
|
||||
msgstr "Aylık {monthlyPrice}"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:542
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:629
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>."
|
||||
msgstr "Aylık faturalandırma <0>{pendingChangeDate}</0> tarihinde başlar."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:535
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:622
|
||||
msgid "Monthly billing starts on <0>{pendingChangeDate}</0>. First monthly charge: {pendingInitialPriceLabel}. Future monthly renewals: {pendingRecurringPriceLabel}/month."
|
||||
msgstr "<0>{pendingChangeDate}</0> tarihinde aylık faturalandırma başlar. İlk aylık ücret: {pendingInitialPriceLabel}. Gelecekteki aylık yenilemeler: {pendingRecurringPriceLabel}/ay."
|
||||
|
||||
@@ -20952,7 +20987,7 @@ msgid "Network error"
|
||||
msgstr "Ağ hatası"
|
||||
|
||||
#. Developer options group for simulated slow or failed operations.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83
|
||||
msgid "Networking and performance"
|
||||
msgstr "Ağ ve performans"
|
||||
|
||||
@@ -21077,6 +21112,16 @@ msgstr "Yeni mikrofon"
|
||||
msgid "New password"
|
||||
msgstr "Yeni şifre"
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled but the new amount is unknown. {pendingChangeDate} is a date already formatted and localized by code; never write a date into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:593
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Yeni fiyat <0>{pendingChangeDate}</0> tarihinde geçerli olacak."
|
||||
|
||||
#. Plutonium subscription card line shown when a move to a lower price is scheduled. {pendingChangeDate} is a date and {pendingTargetPriceLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:587
|
||||
msgid "New price scheduled for <0>{pendingChangeDate}</0>. Renewals will be {pendingTargetPriceLabel} from then on."
|
||||
msgstr "Yeni fiyat <0>{pendingChangeDate}</0> tarihinde geçerli olacak. Yenilemeler o tarihten itibaren {pendingTargetPriceLabel} olacak."
|
||||
|
||||
#. Default name for a newly created role in the community roles settings tab. Short label.
|
||||
#: src/features/guild/components/modals/guild_tabs/GuildRolesTab.tsx:48
|
||||
msgid "New role"
|
||||
@@ -21565,7 +21610,7 @@ msgstr "Neden belirtilmedi."
|
||||
msgid "No recent mentions"
|
||||
msgstr "Yakın zamanda bahsedilmediniz"
|
||||
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97
|
||||
#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98
|
||||
msgid "No remaining recipients to create a group DM with."
|
||||
msgstr "Grup DM oluşturmak için başka alıcı kalmadı."
|
||||
|
||||
@@ -21754,7 +21799,7 @@ msgid "No webhooks"
|
||||
msgstr "Web Kancası yok"
|
||||
|
||||
#. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144
|
||||
msgid "No-op in-app reports"
|
||||
msgstr "Uygulama içi raporları atla"
|
||||
|
||||
@@ -21842,7 +21887,7 @@ msgstr "Size göre değil mi? İstediğiniz zaman kapatın."
|
||||
#. Short label in the Plutonium self serve refund section. Keep the tone plain and specific.
|
||||
#. Short label in the authentication new device monitoring. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SelfServeRefundSection.tsx:31
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:58
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:69
|
||||
#: src/features/app/components/layout/app_layout/nagbars/VoiceSessionRestoreNagbar.tsx:35
|
||||
#: src/features/auth/state/NewDeviceMonitoring.tsx:31
|
||||
msgid "Not now"
|
||||
@@ -22070,6 +22115,11 @@ msgctxt "audit-log-boolean-value"
|
||||
msgid "On"
|
||||
msgstr "Açık"
|
||||
|
||||
#. Billing confirmation body for moving an active subscription down to the current price. {listPriceEffectiveDate} is a date, and {listPriceCurrentLabel} and {listPriceNewLabel} are currency amounts, all already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:372
|
||||
msgid "On <0>{listPriceEffectiveDate}</0> your subscription moves from {listPriceCurrentLabel} to {listPriceNewLabel}. Nothing is charged today, and the rest of your subscription stays exactly as it is."
|
||||
msgstr "<0>{listPriceEffectiveDate}</0> tarihinde aboneliğiniz {listPriceCurrentLabel} fiyatından {listPriceNewLabel} fiyatına geçecektir. Bugün herhangi bir ücret alınmayacak ve aboneliğinizin geri kalanı aynı kalacaktır."
|
||||
|
||||
#. Short label in the display tab. Keep it concise.
|
||||
#: src/features/user/components/modals/tabs/chat_settings_tab/DisplayTab.tsx:22
|
||||
msgid "On click"
|
||||
@@ -23323,7 +23373,7 @@ msgid "Perks"
|
||||
msgstr "Ayrıcalıklar"
|
||||
|
||||
#. Subscription status badge meaning premium is paid but perks are temporarily disabled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:354
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:429
|
||||
msgid "Perks paused"
|
||||
msgstr "Ayrıcalıklar duraklatıldı"
|
||||
|
||||
@@ -24787,7 +24837,7 @@ msgstr "Tepkiler"
|
||||
|
||||
#. Billing button that cancels a scheduled subscription cancellation.
|
||||
#. Button label on the premium-expired nagbar. Opens billing so the user can reactivate their subscription.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:604
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:744
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:25
|
||||
msgid "Reactivate"
|
||||
msgstr "Yeniden etkinleştir"
|
||||
@@ -25014,7 +25064,7 @@ msgid "Redeem for yourself"
|
||||
msgstr "Kendin için kullan"
|
||||
|
||||
#. Billing button for entering a premium gift code.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:577
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:717
|
||||
msgid "Redeem gift code"
|
||||
msgstr "Hediye kodunu kullan"
|
||||
|
||||
@@ -25712,7 +25762,7 @@ msgstr "Yenileme eşiği (gün)"
|
||||
msgid "Renew window (days)"
|
||||
msgstr "Yenileme penceresi (gün)"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:559
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:699
|
||||
msgid "Renews on <0>{renewalDate}.</0>"
|
||||
msgstr "<0>{renewalDate} tarihinde yenilenir.</0>"
|
||||
|
||||
@@ -26440,8 +26490,8 @@ msgstr "Pencereyi geri yükle"
|
||||
|
||||
#. Billing button for restarting a subscription during the grace period.
|
||||
#. Billing button for starting a new subscription after premium expired.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:596
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:600
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:736
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:740
|
||||
msgid "Resubscribe"
|
||||
msgstr "Yeniden abone ol"
|
||||
|
||||
@@ -27876,7 +27926,7 @@ msgid "Self-hosted mode"
|
||||
msgstr "Kendi kendine barındırılan mod"
|
||||
|
||||
#. Developer option label for forcing self-hosted client mode.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67
|
||||
msgid "Self-hosted mode override"
|
||||
msgstr "Kendi kendine barındırılan mod geçersiz kılma"
|
||||
|
||||
@@ -29020,7 +29070,7 @@ msgstr "Ekran paylaşımımı göster"
|
||||
#. Developer option label for showing the current user as typing.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63
|
||||
msgid "Show myself typing"
|
||||
msgstr "Yazıyor olarak göster"
|
||||
|
||||
@@ -29074,7 +29124,7 @@ msgid "Show per-device participant volume sliders in voice menus"
|
||||
msgstr "Ses menülerinde cihaza özel katılımcı ses seviyesi kaydırıcılarını göster"
|
||||
|
||||
#. Developer option label for exposing the staff-only profile timezone section in profile settings.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135
|
||||
msgid "Show profile timezone settings"
|
||||
msgstr "Profil ayarlarında yalnızca personel için olan profil zaman dilimi bölümünü göster"
|
||||
|
||||
@@ -29441,7 +29491,7 @@ msgid "Skip the external link warning for all domains"
|
||||
msgstr "Tüm alan adları için harici bağlantı uyarısını atla"
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149
|
||||
msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team."
|
||||
msgstr "Uygulama içi bir rapor gönderildiğinde ağ çağrısını atla. Akış yine de başarı ekranına ilerler, böylece kullanıcı arayüzünü kullanabilirsin, ancak güvenlik ekibine hiçbir şey gönderilmez."
|
||||
|
||||
@@ -29499,7 +29549,7 @@ msgstr "Slovenya"
|
||||
#. Developer option label for simulating slow file uploads.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99
|
||||
msgid "Slow attachment upload"
|
||||
msgstr "Yavaş ek yükleme"
|
||||
|
||||
@@ -29516,28 +29566,28 @@ msgstr "Yavaşla — tekrar denemeden önce bir süre bekle."
|
||||
#. Developer option label for simulating slow message edits.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:105
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95
|
||||
msgid "Slow message edit"
|
||||
msgstr "Yavaş mesaj düzenleme"
|
||||
|
||||
#. Developer option label for simulating slow message loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:97
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87
|
||||
msgid "Slow message load"
|
||||
msgstr "Yavaş mesaj yüklemesi"
|
||||
|
||||
#. Developer option label for simulating slow message sending.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:101
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91
|
||||
msgid "Slow message send"
|
||||
msgstr "Yavaş mesaj gönderme"
|
||||
|
||||
#. Developer option label for simulating slow profile loading.
|
||||
#. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse.
|
||||
#: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:109
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103
|
||||
msgid "Slow profile load"
|
||||
msgstr "Yavaş profil yüklemesi"
|
||||
|
||||
@@ -29759,26 +29809,31 @@ msgid "Something went wrong loading members. Try again later."
|
||||
msgstr "Üyeler yüklenirken bir sorun oluştu. Lütfen daha sonra tekrar deneyin."
|
||||
|
||||
#. Body of the generic fallback error modal shown when canceling a scheduled Plutonium billing cycle change fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:89
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:91
|
||||
msgid "Something went wrong while canceling your pending billing change. Please try again in a moment."
|
||||
msgstr "Bekleyen fatura değişikliğinizi iptal ederken bir sorun oluştu. Lütfen bir süre sonra tekrar deneyin."
|
||||
|
||||
#. Body of the generic fallback error modal shown when cancelling a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:28
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:30
|
||||
msgid "Something went wrong while cancelling your subscription. Please try again in a moment."
|
||||
msgstr "Aboneliğiniz iptal edilirken bir sorun oluştu. Lütfen bir süre sonra tekrar deneyin."
|
||||
|
||||
#. Body of the generic fallback error modal shown when changing the Plutonium billing cycle fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:80
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:82
|
||||
msgid "Something went wrong while changing your billing cycle. Please try again in a moment."
|
||||
msgstr "Fatura döneminiz değiştirilirken bir sorun oluştu. Lütfen bir süre sonra tekrar deneyin."
|
||||
|
||||
#. Body of the generic fallback error modal shown when moving a Plutonium subscription down to the current price fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:116
|
||||
msgid "Something went wrong while changing your price. Please try again in a moment."
|
||||
msgstr "Fiyatınızı değiştirirken bir sorun oluştu. Lütfen birazdan tekrar deneyin."
|
||||
|
||||
#: src/features/connection/components/pages/ConnectionCallbackPage.tsx:48
|
||||
msgid "Something went wrong while connecting your account. You can close this tab and try again."
|
||||
msgstr "Hesabınızı bağlarken bir sorun oluştu. Bu sekmeyi kapatıp tekrar deneyebilirsiniz."
|
||||
|
||||
#. Body of the generic fallback error modal shown when ending the Plutonium grace period fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:40
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:42
|
||||
msgid "Something went wrong while ending your grace period. Please try again in a moment."
|
||||
msgstr "Ödemesiz sürenizi sonlandırırken bir sorun oluştu. Lütfen birazdan tekrar deneyin."
|
||||
|
||||
@@ -29797,7 +29852,7 @@ msgstr "Etkinlik günlüğü yüklenirken bir sorun oluştu."
|
||||
#. Body of the error modal shown when opening the billing customer portal from the premium-expired nagbar fails.
|
||||
#. Body of the generic fallback error modal shown when opening the billing customer portal fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useCheckoutActions.tsx:34
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:16
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:18
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumExpiredNagbar.tsx:34
|
||||
#: src/features/app/components/layout/app_layout/nagbars/PremiumGracePeriodNagbar.tsx:34
|
||||
msgid "Something went wrong while opening the billing portal. Please try again in a moment."
|
||||
@@ -29809,7 +29864,7 @@ msgid "Something went wrong while preparing this sticker. Try another file or tr
|
||||
msgstr "Bu çıkartma hazırlanırken bir sorun oluştu. Başka bir dosya deneyin veya bir süre sonra tekrar deneyin."
|
||||
|
||||
#. Body of the generic fallback error modal shown when reactivating a Plutonium subscription fails.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:52
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:54
|
||||
msgid "Something went wrong while reactivating your subscription. Please try again in a moment."
|
||||
msgstr "Aboneliğiniz yeniden etkinleştirilirken bir sorun oluştu. Lütfen bir süre sonra tekrar deneyin."
|
||||
|
||||
@@ -30330,7 +30385,7 @@ msgstr "Baştan başla"
|
||||
msgid "Start recording"
|
||||
msgstr "Kaydı başlat"
|
||||
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585
|
||||
#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586
|
||||
msgid "Start searches with <0>{peoplePrefix}</0> <1>{textChannelPrefix}</1> <2>{voiceChannelPrefix}</2> <3>{communityPrefix}</3> to narrow down results."
|
||||
msgstr "Aramalara <0>{peoplePrefix}</0>, <1>{textChannelPrefix}</1>, <2>{voiceChannelPrefix}</2> ve <3>{communityPrefix}</3> ile başlayarak sonuçları daraltın."
|
||||
|
||||
@@ -30591,6 +30646,11 @@ msgstr "Mesajları ve arkadaşlık isteklerini durdur."
|
||||
msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive."
|
||||
msgstr "İmleci sürükleyip etkileşimli tutarken Neko'nun imleci takip etmesini durdurun."
|
||||
|
||||
#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41
|
||||
msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds."
|
||||
msgstr "Node.prototype insertBefore ve removeChild'ı yamalamayı durdur. Bir sayfa çevirmeni, React'ın hala tuttuğu metin düğümlerini yeniden ebeveynleştirdiğinde uygulama tekrar çökecektir."
|
||||
|
||||
#. Action that stops ringing the selected participant in a voice call.
|
||||
#: src/features/ui/action_menu/items/CallMenuItems.tsx:29
|
||||
msgid "Stop ringing"
|
||||
@@ -30953,6 +31013,16 @@ msgstr "Genel profiliniz ile topluluk profilleriniz arasında geçiş yapın"
|
||||
msgid "Switch device"
|
||||
msgstr "Cihaz değiştir"
|
||||
|
||||
#. Button confirming a move of an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:65
|
||||
msgid "Switch price"
|
||||
msgstr "Fiyatı değiştir"
|
||||
|
||||
#. Billing button that opens confirmation to move the subscription down to the current price. {listPriceNewLabel} is the localized new price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:804
|
||||
msgid "Switch to {listPriceNewLabel}"
|
||||
msgstr "{listPriceNewLabel}'a geçin"
|
||||
|
||||
#. Tooltip on the density toggle when currently in dense mode.
|
||||
#. Tooltip on the layout toggle button in the role editor that switches the permission list to comfy layout.
|
||||
#: src/features/channel/components/modals/channel_tabs/channel_permissions_tab/LayoutToggleButtons.tsx:25
|
||||
@@ -30973,13 +31043,13 @@ msgstr "Doğrudan girişe geç"
|
||||
|
||||
#. Billing button that opens confirmation to switch to monthly billing.
|
||||
#. Button confirming a change to monthly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:54
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:646
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:57
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:787
|
||||
msgid "Switch to monthly"
|
||||
msgstr "Aylığa geç"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:46
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:49
|
||||
msgid "Switch to monthly billing?"
|
||||
msgstr "Aylık ödemeye mi geçilsin?"
|
||||
|
||||
@@ -31020,6 +31090,11 @@ msgstr "Önceki topluluğa veya DM'lere geç"
|
||||
msgid "Switch to single column"
|
||||
msgstr "Tek sütuna geç"
|
||||
|
||||
#. Billing confirmation title for moving an active subscription down to the current price.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:61
|
||||
msgid "Switch to the new price?"
|
||||
msgstr "Yeni fiyata geçilsin mi?"
|
||||
|
||||
#: src/features/auth/utils/AccountSwitcherModalUtils.tsx:290
|
||||
msgid "Switch to this account"
|
||||
msgstr "Bu hesaba geç"
|
||||
@@ -31037,13 +31112,13 @@ msgstr "İki sütunlu görünüme geç"
|
||||
|
||||
#. Billing button that opens confirmation to switch to yearly billing.
|
||||
#. Button confirming a change to yearly subscription billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:50
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:642
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:53
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:783
|
||||
msgid "Switch to yearly"
|
||||
msgstr "Yıllık olana geç"
|
||||
|
||||
#. Billing confirmation title for changing an active subscription to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:42
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:45
|
||||
msgid "Switch to yearly billing?"
|
||||
msgstr "Yıllık ödemeye mi geçilsin?"
|
||||
|
||||
@@ -31275,23 +31350,23 @@ msgstr "Etiketler ({tagCount}/{tagLimit})"
|
||||
msgid "Tags must be 2 to {maxLength} characters and alphanumeric."
|
||||
msgstr "Etiketler 2 ila {maxLength} karakter uzunluğunda ve alfanümerik olmalıdır."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:242
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:291
|
||||
msgid "Takes effect at your next renewal. We'll apply a {creditLabel} credit from your current monthly payment, so your first yearly charge will be <0>{firstRenewalPriceLabel}</0>. Future yearly renewals will be {renewalPrice}/year."
|
||||
msgstr "Bir sonraki yenilemenizde geçerli olacaktır. Mevcut aylık ödemenizden {creditLabel} tutarında bir kredi uygulayacağız, böylece ilk yıllık ücretiniz <0>{firstRenewalPriceLabel}</0> olacaktır. Gelecekteki yıllık yenilemeler {renewalPrice}/yıl olacaktır."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:251
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:300
|
||||
msgid "Takes effect at your next renewal. Your subscription stays monthly until then, and your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Bir sonraki yenilemenizde geçerli olur. O zamana kadar aboneliğiniz aylık kalır ve bir sonraki yenilemeniz <0>{renewalPrice}/yıl</0> olur."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:260
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:309
|
||||
msgid "Takes effect at your next renewal. Your subscription stays yearly until then, and your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Bir sonraki yenilemenizde yürürlüğe girer. Aboneliğiniz o zamana kadar yıllık kalır ve bir sonraki yenilemeniz <0>{renewalPrice}/ay</0> olacaktır."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:279
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:328
|
||||
msgid "Takes effect immediately. A prorated adjustment may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/month</0>."
|
||||
msgstr "Hemen yürürlüğe girer. {PAYMENT_PROVIDER_NAME} aracılığıyla orantılı bir ayarlama uygulanabilir. Bir sonraki yenilemeniz <0>{renewalPrice}/ay</0> olacaktır."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:270
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:319
|
||||
msgid "Takes effect immediately. A prorated charge may apply via {PAYMENT_PROVIDER_NAME}. Your next renewal will be <0>{renewalPrice}/year</0>."
|
||||
msgstr "Hemen yürürlüğe girer. {PAYMENT_PROVIDER_NAME} aracılığıyla orantılı bir ücret uygulanabilir. Bir sonraki yenilemeniz <0>{renewalPrice}/yıl</0> olacaktır."
|
||||
|
||||
@@ -31717,6 +31792,11 @@ msgstr "Ad eski haline döndürüldü. Lütfen bir süre sonra tekrar deneyin."
|
||||
msgid "The new channel will reuse the permissions from <0>{channelLabel}</0>."
|
||||
msgstr "Yeni kanal izinleri <0>{channelLabel}</0> kanalından alacak."
|
||||
|
||||
#. Toast success shown when a move down to the current price was already scheduled by an earlier request. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:101
|
||||
msgid "The new price is already scheduled for {effectiveDate}."
|
||||
msgstr "Yeni fiyat zaten {effectiveDate} tarihinde geçerli olacak şekilde planlanmış."
|
||||
|
||||
#: src/features/channel/components/modals/ChannelDuplicateModal.tsx:58
|
||||
msgid "The new voice channel will reuse the permissions, user limit, and bitrate from <0>{channelLabel}</0>."
|
||||
msgstr "Yeni ses kanalı, izinleri, kullanıcı sınırını ve bit hızını <0>{channelLabel}</0> kanalından devralacak."
|
||||
@@ -33633,7 +33713,7 @@ msgid "Typing state"
|
||||
msgstr "Yazma durumu"
|
||||
|
||||
#. Developer options group for forcing UI component states.
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61
|
||||
#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71
|
||||
msgid "UI components"
|
||||
msgstr "Kullanıcı arayüzü bileşenleri"
|
||||
|
||||
@@ -36142,7 +36222,7 @@ msgid "Visibility"
|
||||
msgstr "Görünürlük"
|
||||
|
||||
#. Audit log community feature label for the Visionary premium feature.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:341
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:416
|
||||
#: src/features/guild/utils/guild_tabs/GuildAuditLogTabUtils.ts:158
|
||||
msgid "Visionary"
|
||||
msgstr "Vizyoner"
|
||||
@@ -36639,6 +36719,11 @@ msgstr "Bu ülkeye doğrulama metinleri göndermiyoruz. Başka bir ülkenin mobi
|
||||
msgid "We found an existing {premiumProductFullName} subscription for this account. Manage it in the secure billing portal to update payment details or check renewal status. If you just paid, wait a minute and reopen this page."
|
||||
msgstr "Bu hesap için mevcut bir {premiumProductFullName} aboneliği bulduk. Ödeme ayrıntılarını güncellemek veya yenileme durumunu kontrol etmek için güvenli faturalandırma portalından yönetin. Yeni ödeme yaptıysanız bir dakika bekleyip bu sayfayı yeniden açın."
|
||||
|
||||
#. Nagbar body announcing a price cut to people in Brazil who do not have a paid subscription. {premiumProductName} is the short paid product name. {monthlyPrice} and {yearlyPrice} are currency amounts already formatted and localized by code; never write an amount into the translation. Keep the tone calm and plain.
|
||||
#: src/features/premium/config/PriceAnnouncementCampaign.ts:7
|
||||
msgid "We lowered the price of {premiumProductName} in Brazil. It is now {monthlyPrice} a month or {yearlyPrice} a year."
|
||||
msgstr "Brezilya'daki {premiumProductName} fiyatını düşürdük. Artık ayda {monthlyPrice}, yılda ise {yearlyPrice}."
|
||||
|
||||
#. Required-action modal intro text for a generic verification requirement. productName is inserted by code. Keep it calm and concise.
|
||||
#: src/features/auth/components/modals/required_action/RequiredActionDescriptors.ts:210
|
||||
msgid "We need one verification step before you continue. This helps protect accounts and keep spam off {productName}."
|
||||
@@ -37274,15 +37359,15 @@ msgstr "Yıllık {yearlyPrice}"
|
||||
msgid "Yearly gift"
|
||||
msgstr "Yıllık hediye"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:529
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:616
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>."
|
||||
msgstr "Yıllık yükseltme <0>{pendingChangeDate}</0> tarihinde planlandı."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:514
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:601
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel} after a {pendingCreditPriceLabel} credit. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "Yıllık yükseltme <0>{pendingChangeDate}</0> tarihinde planlandı. İlk yıllık ücret: {pendingCreditPriceLabel} kredi sonrası {pendingInitialPriceLabel}. Gelecekteki yıllık yenilemeler: {pendingRecurringPriceLabel}/yıl."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:521
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:608
|
||||
msgid "Yearly upgrade scheduled for <0>{pendingChangeDate}</0>. First yearly charge: {pendingInitialPriceLabel}. Future yearly renewals: {pendingRecurringPriceLabel}/year."
|
||||
msgstr "<0>{pendingChangeDate}</0> tarihinde yıllık yükseltme planlandı. İlk yıllık ücret: {pendingInitialPriceLabel}. Gelecekteki yıllık yenilemeler: {pendingRecurringPriceLabel}/yıl."
|
||||
|
||||
@@ -38071,12 +38156,12 @@ msgid "You're in the voice channel"
|
||||
msgstr "Sesli kanaldasınız"
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price that is no longer offered.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:37
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:40
|
||||
msgid "You're on a legacy rate no longer available to new subscribers."
|
||||
msgstr "Yeni aboneler için artık geçerli olmayan eski bir tarifedesiniz."
|
||||
|
||||
#. Plutonium subscription card tooltip shown when the user is on a grandfathered price; current list price is interpolated.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:35
|
||||
msgid "You're on a legacy rate. The current price for this plan is {currentSubscriptionListPriceLabel}."
|
||||
msgstr "Eski bir fiyattan yararlanıyorsunuz. Bu planın güncel fiyatı {currentSubscriptionListPriceLabel}."
|
||||
|
||||
@@ -38357,7 +38442,7 @@ msgid "Your GPU encodes this in hardware."
|
||||
msgstr "GPU'nuz bunu donanım olarak kodlar."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:32
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:34
|
||||
msgid "Your grace period has ended."
|
||||
msgstr "Ödemesiz süreniz sona erdi."
|
||||
|
||||
@@ -38457,7 +38542,7 @@ msgid "Your payment was successful. You can now close this tab and return to the
|
||||
msgstr "Ödemeniz başarılı oldu. Şimdi bu sekmeyi kapatıp uygulamaya dönebilirsiniz."
|
||||
|
||||
#. Toast success shown after a scheduled Plutonium billing cycle change is canceled.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:72
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:74
|
||||
msgid "Your pending billing change has been canceled."
|
||||
msgstr "Bekleyen faturalandırma değişikliğiniz iptal edildi."
|
||||
|
||||
@@ -38507,7 +38592,12 @@ msgstr "Ekran paylaşımınız uyumlu bir video kodeğiyle yayınlanamadı, bu n
|
||||
msgid "Your stream is still live"
|
||||
msgstr "Yayın devam ediyor"
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:393
|
||||
#. Toast error shown when the server refuses to move a Plutonium subscription down to the current price, whatever the reason.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:106
|
||||
msgid "Your subscription can't move to the new price right now."
|
||||
msgstr "Aboneliğiniz şu anda yeni fiyata taşınamıyor."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:468
|
||||
msgid "Your subscription ended but <0/> stay active until <1>{graceDate}</1>. Resubscribe before then to keep your subscriber history."
|
||||
msgstr "Aboneliğiniz sona erdi ancak <0/> <1>{graceDate}</1> tarihine kadar aktif kalacak. Abone geçmişinizi korumak için bu tarihten önce yeniden abone olun."
|
||||
|
||||
@@ -38517,26 +38607,26 @@ msgid "Your subscription failed to renew, but you still have access to {premiumP
|
||||
msgstr "Aboneliğiniz yenilenemedi ancak {formattedGraceDate} tarihine kadar {premiumProductName} ayrıcalıklarına erişmeye devam edeceksiniz. Şimdi harekete geçin, aksi takdirde tüm ayrıcalıkları kaybedersiniz."
|
||||
|
||||
#. Body text in the Plutonium subscription actions. Keep the tone plain and specific.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:44
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:46
|
||||
msgid "Your subscription has been reactivated."
|
||||
msgstr "Aboneliğiniz yeniden etkinleştirildi."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is set to cancel at the end of the billing period.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:20
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:22
|
||||
msgid "Your subscription has been set to cancel at the end of your billing period."
|
||||
msgstr "Aboneliğiniz faturalandırma döneminizin sonunda iptal edilecek şekilde ayarlandı."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from yearly to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:60
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:62
|
||||
msgid "Your subscription has been switched to monthly billing."
|
||||
msgstr "Aboneliğiniz aylık faturalandırmaya geçirildi."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is switched from monthly to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:56
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:58
|
||||
msgid "Your subscription has been switched to yearly billing."
|
||||
msgstr "Aboneliğiniz yıllık faturalandırmaya geçirildi."
|
||||
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:435
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:510
|
||||
msgid "Your subscription is active but perks are temporarily paused."
|
||||
msgstr "Aboneliğiniz etkin ancak avantajlar geçici olarak duraklatıldı."
|
||||
|
||||
@@ -38550,13 +38640,23 @@ msgstr "Aboneliğiniz, faturalandırma döneminizin sonunda zaten iptal edilecek
|
||||
msgid "Your subscription isn't set to cancel, so there's nothing to reactivate."
|
||||
msgstr "Aboneliğiniz iptal edilmeye ayarlanmamış, bu yüzden yeniden etkinleştirilecek bir şey yok."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to move down to the current price. {effectiveDate} is the localized date the new price starts.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:96
|
||||
msgid "Your subscription moves to the new price on {effectiveDate}."
|
||||
msgstr "Aboneliğiniz {effectiveDate} tarihinde yeni fiyata geçecek."
|
||||
|
||||
#. Plutonium subscription card line shown to a subscriber on a legacy price whose subscription is already set to cancel. {cancelDate} is a date and {listPriceNewLabel} is a currency amount, both already formatted and localized by code; never write a date or an amount into the translation.
|
||||
#: src/features/app/components/dialogs/components/plutonium/SubscriptionCard.tsx:664
|
||||
msgid "Your subscription still ends on <0>{cancelDate}</0>. The current price is now {listPriceNewLabel}. If you reactivate, you can switch to it from here."
|
||||
msgstr "Aboneliğiniz yine de <0>{cancelDate}</0> tarihinde sona eriyor. Mevcut fiyat artık {listPriceNewLabel}. Yeniden etkinleştirirseniz, buradan geçiş yapabilirsiniz."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to monthly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:68
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:70
|
||||
msgid "Your subscription will switch to monthly billing at the next renewal."
|
||||
msgstr "Aboneliğiniz bir sonraki yenilemede aylık faturalandırmaya geçecektir."
|
||||
|
||||
#. Toast success shown after a Plutonium subscription is scheduled to switch to yearly billing.
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:64
|
||||
#: src/features/app/components/dialogs/components/plutonium/hooks/useSubscriptionActions.ts:66
|
||||
msgid "Your subscription will switch to yearly billing at the next renewal."
|
||||
msgstr "Aboneliğiniz bir sonraki yenilemede yıllık faturalandırmaya geçecektir."
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user